我一直在互联网上搜索关于Android的共享偏好。我正在开发一个需要存储大量数据的应用程序。我有三个重要问题,请尝试用清楚的解释回答它们(简短且信息量最好):
提前感谢你把时间浪费在我身上:P
答案 0 :(得分:1)
1 - 在初始值设置后设置的共享首选项中放置一些标志。并在启动画面中进行标记检查。
2 - 您可以使用资产 - Where do I place the 'assets' folder in Android Studio?
3 - 是的。您可以将文件放入资源并在首次运行时读取它,并在共享首选项中设置初始值。
答案 1 :(得分:0)
首先看一下这个简单的样本:
SharedPreferences sharedPreferences = getSharedPreferences("name", Context.MODE_PRIVATE);
SharedPreference
存储xml
个文件中的键值对。如果此文件不存在于'name.xml'
目录下,那么上面的简单示例将生成一个名为'/data/data/<package name>/shared_prefs'
的xml文件,其中所有SharedPreference文件都存在。
float aFloat = sharedPreferences.getFloat("float", 0.0f);
此行表示:您希望获取存储在xml文件'name.xml'
中的浮点值。如果您在'float'
文件中存储了名称为'name.xml'
的浮点值,它将返回您存储的值;如果不存在,则返回0.0
,这是默认值{ {1}}。
所以,
1,2,您不需要故意初始化默认值。您可以通过第二行代码设置默认值。
3,您无法以'float'
的格式创建SharedPreference文件,并且您不需要这样做。关于SharedPreference的所有内容都将存储在'.txt'
的{{1}}。
希望这会帮助你。
答案 2 :(得分:0)
SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE);
//if value for first_run does not exist. That we have first run of application.
//prefs.getBoolean("first_run", true); will return default value true
Boolean first_run = prefs.getBoolean("first_run", true);
if (first_run) {
Editor editor = prefs.edit();
// after that Boolean first_run = prefs.getBoolean("first_run", true);
// will always return false
editor.putBoolean("first_run", false);
// do some on first app run
} else {
// do some if not first run
}