-
如果頁面之間有直接關系,如Activity和在它之內的Fragment,可以直接通過接口的調用來傳遞數據。優勢:直接,方便。 劣勢:代碼耦合性較高
-
如果是兩個Activity之間傳遞數據,有界面切換的過程的話,可以用startActivity
或startActivityForResult。用其中的intent參數攜帶數據。優勢:一般用於初始化Activity和調用系統功能 -
如果頁面之間傳遞數據沒有頁面切換的過程,可以通過廣播的方式,sendBroadcast(intent);
要接受數據的頁面注冊這個廣播就行了。
優勢:代碼耦合性低,易重構,適用范圍廣。缺點:數據需要序列化和反序列化,代碼較多
4.通過存儲介質來分享數據,如頁面A將數據存入數據庫,SharedPreferences
,文件,Internet。頁面B通過讀取它們來得到數據
優勢:數據保存時間長,不受到界面生命周期的影響 缺點:讀取速度較慢,需要異步操作
5。采用事件總線的方式,注冊和接收事件(數據),其中的代表者是EventBus,頁面需要指定和注冊接收事件的類型
優勢:不用序列化數據,適用范圍大 缺點:需要學習使用,