我是Android新手。我正在构建一个测试应用程序,我需要存储一个变量的值,比如用户的strength
。当用户使用应用程序时,我想增加或减少这个strength
的值。当用户关闭应用程序并在第二天重新打开它时,他应该找到相同的strength
值。
我能想到的一种方法是在phone中存储一个本地db并每次读/写它,因为几乎没有3到4个这样的变量。所以我想db不是一个好的选择。另一个我认为是使用android.app.Application
类,但我不能得到我想要的。我们真的可以用android.app.Application
来做吗?
您可以使用SharedPreferences将变量存储在共享首选项中。例如,设置为:
SharedPreferences sharedPreferences = context.getSharedPreferences("DATA",Context.MODE_PRIVATE);
sharedPreferences.edit().putString("STRENGTH",yourVar).apply();
然后使用:
SharedPreferences sharedPreferences = context.getSharedPreferences("DATA",Context.MODE_PRIVATE);
strength = sharedPreferences.getString("STRENGTH",null);
使用SharedPreferences。SharedPreference提供了一种简单的机制来在应用的整个生命周期中持久化一个值。
在应用程序目录中写入一个应用程序可以在启动时读取的XML文件。
当我们的应用程序打开时使用应用程序类读取最后状态并将数据存储在共享首选项中,你是对的,db不是一个好的选择。
就像您建议的那样,您可以使用SQLite数据库来存储关于用户的表。虽然,您现在可能只有一个变量,即强度,与每个用户相关联,但如果您希望存储有关用户的更多关联值,我建议使用SQLite数据库。
您可以使用的另一个选项是SharedPreferences,它允许您存储键值对。因此,在您的情况下,每个强度值可以对应一个用户名。
如果你还没有了解Android的不同存储选项,我建议你看看这个。
希望这对你有帮助!