2013-04-09 84 views
1

在我的應用程序中,它會保存數據,例如,點擊某物時會記錄點擊次數,但是當您卸載應用程序時,它會刪除數據!保存應用程序數據?

我想通過設置菜單來解決這個問題,用戶可以將其當前計數保存到可保存到手機中的文件中,然後在從頭開始重置手機時加載該文件?

我該怎麼做?

回答

3

或者,您可以將數據存儲在Google的「雲端」上。每次用戶更改一個值時,您都可以調用「備份代理」來將您需要的所有內容存儲在Google服務器上。因此,如果用戶卸載應用程序並重新安裝,您的「備份代理」將再次被存儲在雲端的數據調用並恢復您想要的值。爲了實現這一點,您的應用程序必須相同,並使用相同的密鑰進行簽名。使用此服務時,不同的密鑰(例如釋放和調試密鑰)是不同的應用程序。關於在http://developer.android.com/guide/topics/data/backup.html備份服務和代碼示例在http://developer.android.com/training/cloudsync/backupapi.html

更多信息,您只需要修改你的AndroidManifest android:backupAgent貫徹BackupAgent接口onBackuponRestore方法的類。

0

將您的數據保存到SD卡,以預先卸載時刪除數據。或者將其存儲在遠程服務器上。

+0

如何在設置選項卡上做些什麼,用戶可以從文件中保存數據和加載? – James 2013-04-09 17:58:19

+0

你如何做到這一點並不重要。將它保存在正確的位置很重要。和SD卡或遠程服務器是一個。 – 2013-04-09 18:12:36

3

當您刪除該應用程序時,將刪除所有應用程序數據(外部,內部,共享的前綴)。如果您使用與您的應用程序相關的外部存儲。

例如路徑外部存儲將是:

(API 8+):getExternalFilesDir()

(API 7-):getExternalStorageDirectory()

如果你想保持數據你可能想在一個共享的外部

(API 8+)寫:getExternalStoragePublicDirectory()

(API 7-):getExternalSt orageDirectory()

音樂/ - 媒體掃描程序將此處找到的所有媒體分類爲用戶音樂。

播客/ - 媒體掃描程序將所有在這裏找到的媒體分類爲播客。

鈴聲/ - 媒體掃描程序將此處找到的所有媒體分類爲鈴聲。

警報/ - 媒體掃描程序會將此處找到的所有媒體歸類爲警報聲。

通知/ - 媒體掃描程序將此處找到的所有媒體分類爲通知聲音。

圖片/ - 所有照片(不包括使用相機拍攝的照片)。

電影/ - 所有電影(不包括使用攝像機拍攝的電影)。

下載/ - 其他下載。

解釋Developers

我記得,共享的路徑沒有得到您的應用程序卸載後刪除,但壞的是,其他應用程序可以訪問它。

順便說一句,外部只是一個例子,你可能想要使用內部存儲,因爲不是所有的手機都有SD卡。

相關問題