Java 保存应用程序数据?

Java 保存应用程序数据?,java,android,Java,Android,在我的应用程序中,它会保存数据,例如当单击某个东西时,它会计算它被单击的次数,但是当你卸载应用程序时,它会删除数据 我想通过制作一个设置菜单来解决这个问题,用户可以在其中将当前计数保存到一个文件中,该文件可以保存到手机中,然后在重新设置手机时加载 我该怎么做 将数据保存到SD卡,以防止卸载时删除数据。或者将其存储在远程服务器上。将数据保存到SD卡,以防止卸载时删除数据。或者将其存储在远程服务器上。删除应用程序时,如果使用与应用程序相关的外部存储,则所有应用程序数据都将被删除(外部、内部、共享优先

在我的应用程序中,它会保存数据,例如当单击某个东西时,它会计算它被单击的次数,但是当你卸载应用程序时,它会删除数据

我想通过制作一个设置菜单来解决这个问题,用户可以在其中将当前计数保存到一个文件中,该文件可以保存到手机中,然后在重新设置手机时加载


我该怎么做

将数据保存到SD卡,以防止卸载时删除数据。或者将其存储在远程服务器上。

将数据保存到SD卡,以防止卸载时删除数据。或者将其存储在远程服务器上。

删除应用程序时,如果使用与应用程序相关的外部存储,则所有应用程序数据都将被删除(外部、内部、共享优先)

例如,到外部存储的路径是:

(API 8+):getExternalFilesDir()

(API 7-):getExternalStorageDirectory()

如果要持久化数据,可能需要在可共享的外部文件中写入

(API 8+):getExternalStoragePublicDirectory()

(API 7-):getExternalStorageDirectory()

音乐/-媒体扫描程序将此处找到的所有媒体分类为用户音乐

播客/-媒体扫描程序将此处找到的所有媒体分类为播客

铃声/-媒体扫描程序将此处找到的所有媒体分类为铃声

报警/-媒体扫描程序将此处找到的所有媒体分类为报警声音

通知/-媒体扫描程序将此处找到的所有媒体分类为通知声音

照片/所有照片(不包括使用相机拍摄的照片)

电影/所有电影(不包括摄像机拍摄的电影)

下载/-杂项下载

解释

我记得,在卸载应用程序后,共享路径不会被删除,但糟糕的是其他应用程序可以访问它


顺便说一句,外部只是一个例子,您可能希望使用内部存储,因为并非所有手机都有sd卡。

当您删除应用程序时,如果您使用与应用程序相关的外部存储,则所有应用程序数据都将被删除(外部、内部、共享优先)

例如,到外部存储的路径是:

(API 8+):getExternalFilesDir()

(API 7-):getExternalStorageDirectory()

如果要持久化数据,可能需要在可共享的外部文件中写入

(API 8+):getExternalStoragePublicDirectory()

(API 7-):getExternalStorageDirectory()

音乐/-媒体扫描程序将此处找到的所有媒体分类为用户音乐

播客/-媒体扫描程序将此处找到的所有媒体分类为播客

铃声/-媒体扫描程序将此处找到的所有媒体分类为铃声

报警/-媒体扫描程序将此处找到的所有媒体分类为报警声音

通知/-媒体扫描程序将此处找到的所有媒体分类为通知声音

照片/所有照片(不包括使用相机拍摄的照片)

电影/所有电影(不包括摄像机拍摄的电影)

下载/-杂项下载

解释

我记得,在卸载应用程序后,共享路径不会被删除,但糟糕的是其他应用程序可以访问它


顺便说一句,外部只是一个例子,你可能想使用内部存储,因为不是所有的手机都有sd卡。

或者你可以从谷歌的“云”上存储数据。每次用户更改一个值时,您都可以调用“备份代理”在Google服务器上存储您需要的所有内容。因此,如果用户卸载应用程序并再次安装,您的“备份代理”将使用存储在云中的数据再次调用,并恢复您想要的值。要实现这一点,您的应用程序必须是相同的,并且使用相同的密钥进行签名。使用此服务时,不同的键(例如释放键和调试键)是不同的应用程序

有关备份服务的详细信息和代码示例


你只需要修改你的AndroidManifest
android:backupAgent
和一个实现
backupAgent
接口的类,该接口使用
onBackup
onRestore
方法。

或者你可以从谷歌把数据存储在“云”上。每次用户更改一个值时,您都可以调用“备份代理”在Google服务器上存储您需要的所有内容。因此,如果用户卸载应用程序并再次安装,您的“备份代理”将使用存储在云中的数据再次调用,并恢复您想要的值。要实现这一点,您的应用程序必须是相同的,并且使用相同的密钥进行签名。使用此服务时,不同的键(例如释放键和调试键)是不同的应用程序

有关备份服务的详细信息和代码示例


你只需要修改你的AndroidManifest
android:backupAgent
和一个实现
backupAgent
接口的类,该接口带有
onBackup
onRestore
方法。

在设置选项卡上做些什么,用户可以保存数据并从文件中加载?这与你怎么做无关。把它保存在正确的地方很重要。SD卡或远程服务器就是其中之一。在“设置”选项卡上制作一些东西,用户可以在其中保存数据并从文件中加载数据,这与您的操作方式无关。把它保存在正确的地方很重要。SD卡或远程服务器就是其中之一。