我一直在研究为我的应用程序存储数据,并尝试在不同的方法(onSaveInstanceState,onPause/onResume)和不同的存储方法之间进行选择(onSaveInstanceState中的状态,SQLite,{ {3}})。
我很好奇当用户做某些事情时,这些存储方法会发生什么。具体来说,我想知道在下列情况下调用哪些方法以及擦除哪些数据:
答案 0 :(得分:1)
根据我的理解,我给出了简短的答案。希望这给了一些见解。
答案 1 :(得分:1)
我试图存储高分。目前我正在使用 保存的偏好并将5-6个数字放在编辑器中,提交和 持续。可能有一种更有效的方法,这就是我的原因 详细阐述了上述不同的可能性。
我认为你的意思是SharedPreferences。是的,你正在以正确的方式做到这一点。您的高分将在应用程序执行之间保存。对SQLite做同样的事情会有点过分。
用户可以清除数据的唯一方法是点击 Clear the Data
,或者点击 Uninstall
申请
但是,无论是对应用程序本身,还是点击 Clear the cache
都不会对SharedPreferences执行任何操作,用户必须按下该按钮"清除数据&# 34;如果他想要清除那些具体数据。
对于更有效的方法,它取决于你的意思。你正在做的是几乎每个开发人员都会做的事情。对于实际工作的工作来说,它是最简单的解决方案。例如,如果您选择将这些数据存储在活动之间的捆绑中,则所有高分数据将在应用程序执行之间丢失。
话虽如此,如果您要在多台设备上玩相同的游戏,或者您要迁移到新设备,或者您要卸载游戏并稍后重新安装,那么您的解决方案显然是不够的时间。为此,您可能需要考虑使用Google Play Services为您存储本地和云端的数据。