2011-11-03 50 views
0

我有一組偏好,我希望在我的應用程序中的過程之間共享。不過,android目前不支持。我讀過,你可以使用同步,但我不能找到這樣的例子。那麼最好的解決辦法是什麼?也許有一種我不知道的方式。提前致謝。SharedPreferences與數據庫vs JSON

+0

你是說你有多個應用程序共享偏好設置,或者只有一個創建不同進程的應用程序? –

回答

1

看一看這篇文章(閱讀和寫作的同時。):

When should I use each of Android's different messaging types?

我也通常使用意圖的一些基本的溝通。如果您傳遞大量數據,則使用文件系統或套接字。

我希望這會有所幫助。

+0

是的,我已經閱讀過這篇文章。我目前正在使用意圖更新服務設置。只是不確定是否可能有一種我不想知道的方式。謝謝。 – jjNford

0

您確定您正在運行單獨的進程嗎?單獨的進程在單獨的JVM中運行,需要特別配置才能發生:請參閱Processes and Threads

由於進程在單獨的JVM中運行,因此不能通過普通Java對象簡單共享數據(並使用​​同步訪問)。只有在運行多個線程時才能執行此操作,這些線程在同一個JVM中運行。

您可以在進程間使用Inter Process Communication共享數據。

當然,您也可以通過共享首選項或文件共享數據,但這不會通知其他進程有關新數據,因此您很難稱之爲「通信」。而且,這種方法有同步問題

+0

是的,我在單獨的進程中,因爲這些服務保持活躍(應用程序有2個)的重要性,它們必須運行在單獨的進程中(如Manifest中所定義的)。我瞭解IPC和AIDL,但只是檢查是否有隱藏的東西,我沒有意識到。非常感謝 – jjNford