2016-06-08 71 views
0

我有4個(或更多)應用程序,第一個在設備上運行的應用程序(它可以是4個應用程序中的任何一個)的應用程序將生成唯一ID並將其存儲在某個位置,並且之後運行的所有其他應用程序都需要讀取由第一個正在運行的應用程序生成的唯一ID。Android:存儲可被多個應用程序訪問的數據

我想排除External Storage選項,因爲某些用戶可能很容易更改存儲的值。

我也考慮過Shared Preferences,但似乎用Shared Preferences我們可以實現多個應用程序來讀取單個應用程序生成的數據,但是所有的應用程序都不能寫這個共享數據。

+0

使用遠程服務器並通過API進行連接。 –

+0

@AnirudhSharma我的要求是確定安裝我的應用程序的客戶端設備。我們不能在這種情況下使用這個選項。 – bashahul

+0

您可以使用內容提供者。內容提供者在android中的目的是在多個應用程序(進程)之間共享數據。 –

回答

0

您還可以擁有Sqlite數據庫選項並共享一個ContentProvider以便其他應用程序能夠訪問或修改數據。優點是這些數據將存儲在本地,缺點是如果您需要數據安全性,則必須加密數據或選擇「遠程服務器」選項。

+0

在上面給出的場景中,如果我必須使用'Content Provider'模式,那麼4個應用程序中的任何一個都可以是'Provider',取決於哪個應用程序首先運行。由於提供者不能在開發(編譯)時確定。我認爲相同的提供者名稱不能用於多個應用程序 – bashahul

+0

您可以讓一個應用程序存儲ContentProvider和Sqlite DB,併爲其他應用程序提供寫/讀權限。請參閱此處更多關於此主題的信息:https://developer.android.com/guide/topics/manifest/provider-element.html –

相關問題