2013-04-09 109 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卡。

相关问题