Android 頁面之間數據傳遞方式有幾種?各有何優勢


  1. 如果頁面之間有直接關系,如Activity和在它之內的Fragment,可以直接通過接口的調用來傳遞數據。優勢:直接,方便。 劣勢:代碼耦合性較高

  2. 如果是兩個Activity之間傳遞數據,有界面切換的過程的話,可以用startActivity
    或startActivityForResult。用其中的intent參數攜帶數據。優勢:一般用於初始化Activity和調用系統功能

  3. 如果頁面之間傳遞數據沒有頁面切換的過程,可以通過廣播的方式,sendBroadcast(intent);
    要接受數據的頁面注冊這個廣播就行了。

       優勢:代碼耦合性低,易重構,適用范圍廣。缺點:數據需要序列化和反序列化,代碼較多

    4.通過存儲介質來分享數據,如頁面A將數據存入數據庫,SharedPreferences
,文件,Internet。頁面B通過讀取它們來得到數據

        優勢:數據保存時間長,不受到界面生命周期的影響 缺點:讀取速度較慢,需要異步操作

    5。采用事件總線的方式,注冊和接收事件(數據),其中的代表者是EventBus,頁面需要指定和注冊接收事件的類型

   優勢:不用序列化數據,適用范圍大  缺點:需要學習使用,


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM