2

我需要在不使用互聯網的情況下在同一手機上的兩個android應用程序之間共享數據。我想要共享的數據包括不同數據類型的幾個關鍵值對。我所知道的選項是:在Android應用程序之間共享數據的最佳做法

  1. 使用意圖 - SendReceive。但是針對意圖的典型示例 不涉及這些用例。 Intents似乎更適合共享特定MIME類型的數據或啓動應用程序(或允許用戶從中選擇)來處理共享的數據。

  2. 分享SharedPreferences。然而,MODE_WORLD_READABLE 或爲此所需MODE_WORLD_WRITEABLE標誌已被棄用 後API 17

  3. Broadcast Receivers - 但我不完全監聽事件。 我想要使用請求/響應循環。

  4. Content Providers。除了I 需要將數據存儲在共享數據的應用程序中的數據庫中這一點之外,這非常棒。如果我有密鑰,值對 其中的值可以是不同的數據類型,這使得數據表 表有點麻煩。有沒有更好的方式來與 內容提供商做到這一點?

哪種方法最適合採用?

+1

使用的ContentProvider,你不必將數據存儲在一個SQLite數據庫,你可以使用例如什麼SharedPreferences – pskink

+0

數據是否需要保持持久性?或者它只能存儲在內存中(並且在兩個應用程序關機或重新啓動電話時都會消失) –

+1

數據需要持久。但出於好奇,如果可以將它存儲在內存或暫存存儲中,你在想什麼? –

回答

0

您可以在一端設置Broadcast Reciever來偵聽特定的意圖類型。並從第一個應用程序廣播意圖與額外的數據保存。您可以使用可配置的方法通過意向發送整個對象。

更多parcerable方法可以發現here

相關問題