android 中Service 和activity之間的資料傳遞的幾種方法

acoco_wang發表於2017-04-05

轉載地址:http://blog.csdn.net/huagjie/article/details/49621213

1、原始資料型別:

       在Activity/Servier之間傳遞臨時性的原始資料,可以使用Intent的putExtras方法來傳遞資料。若傳遞的資料需要長久儲存,則使用SharedPreference類來完成。

2、傳遞物件。

      當在Activity/Servier之間傳遞不需要長久儲存的物件時,可以使用以下幾種途徑:

    (1)通過Application類,每個Android應用程式都有一個Application類。當你在程式的AndroidManifest.xml中給Application設定一個名字時,你的程式中就必須有一個Application的子類。這個Application子類會被Android自動例項化,並且是一個全家性的類,它的生命週期和程式的生命週期相同,你可以把一些全域性性的物件儲存在Application類中。Application類可以通過getApplication()獲得。

     (2  通過HashMap of WeakReferences傳遞物件。當一個Activity需要向另外一個Activity傳遞物件時,可以使用一個關鍵字把物件存在一個HashMap中,並把這個關鍵字通過Internt的Extras發給目標Activity,目標Activity接到該關鍵字後使用該關鍵字把物件衝HashMap中取出。

        在Activity/Service之間傳遞需要長久儲存的物件時,可以使用以下的方式:

               Application Preferences

               Files

               contentProviders

               SQLite DB

相關文章