Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SharedReference是否合适,或者是否有更好的替代方案?_Java_Android_Android Studio_Sharedpreferences - Fatal编程技术网

Java SharedReference是否合适,或者是否有更好的替代方案?

Java SharedReference是否合适,或者是否有更好的替代方案?,java,android,android-studio,sharedpreferences,Java,Android,Android Studio,Sharedpreferences,我正在努力熟悉android应用程序开发。我正在尝试制作一个简单的应用程序来学习基本技能,但我不知道如何处理应用程序的这一部分。因此,我需要关于如何进一步的建议 我有一个简单的应用程序,上面有一个按钮和一个文本视图,上面有0:分数。单击该按钮时,分数增加1(通过简单的java代码)。当我关闭应用程序并重新启动时,分数再次为0 我想要的是:关闭应用程序时,必须保存分数,以便在重新启动时显示相同的分数。例如,你必须点击一百万次的鸡蛋。如果几个用户都有这个应用程序,每个人都应该有自己的分数(当然)。因

我正在努力熟悉android应用程序开发。我正在尝试制作一个简单的应用程序来学习基本技能,但我不知道如何处理应用程序的这一部分。因此,我需要关于如何进一步的建议

我有一个简单的应用程序,上面有一个按钮和一个文本视图,上面有0:分数。单击该按钮时,分数增加1(通过简单的java代码)。当我关闭应用程序并重新启动时,分数再次为0

我想要的是:关闭应用程序时,必须保存分数,以便在重新启动时显示相同的分数。例如,你必须点击一百万次的鸡蛋。如果几个用户都有这个应用程序,每个人都应该有自己的分数(当然)。因此,该号码应该真正链接到电话/帐户

我已经读到了关于SharedReferences的内容。这听起来像是我在寻找的:存储变量。然而,我不知道这是否适合我想要使用它的用途。该特定电话/帐户的分数不应丢失。用户可能无法自行调整分数(单击按钮除外)


我的问题是:SharedReferences是否适合我想使用它,或者是否有更好的替代方案?

SharedReferences
用于在设备上本地存储小块数据。因此,如果用户卸载应用程序或清除应用程序数据,则存储在
SharedReferences
中的数据将被清除

如果您对卸载/清除数据上的数据丢失没有意见,那么
共享参考
无疑是存储这一小段信息的最佳方式,因为对于这一小段数据,使用在线数据库是一种过度使用

该特定电话/帐户的分数不应丢失

但根据这一点,即使用户卸载/清除数据,似乎也不想丢失数据,显然您必须使用类似Firebase实时数据库/Firestore的云数据库

如果您希望用户登录/注册,则必须使用Firebase Auth,否则,您只需将数据存储为Firestore上的PhoneNumber:Score键值对即可


希望对您有所帮助

您可以使用SharedReferences,这是最好的满足您的要求。@KanzariyaHitesh感谢您的建议!所以分数永远不会被“忘记”(因此也不会在几周后重置)。例如,分数不能由用户调整,每个电话都有自己的“SharedReference”?您不应该在SharedReference中更改,直到您无法卸载应用程序。您好,感谢您的回复!事实上,当用户选择卸载应用程序时,如果变量丢失,也没有问题。如果这不能发生,只要应用程序没有得到卸载,它的罚款。我读到SharedReference实际上是XML文件。我在这方面还没有太多经验。但是,用户不可能调整XML文件,从而也调整SharedReferences变量吗?换句话说:用户不可能以这种方式更改分数吗?SP变量是否足够安全,除了通过“评分按钮”之外,不能以任何其他方式进行调整?否。共享首选项文件存储在电话存储器的根目录中(
/data/data/YOUR_PACKAGE\u NAME/Shared_prefs
)。因此,用户不能查看/编辑任何应用程序的共享首选项文件,除非他们在手机上建立根目录。好的,太好了!然后我将使用SharedReferences存储分数。谢谢你的帮助!