在 Android 上写入属性文件
Write properties file on Android
按照这个 android 的 Guide,我创建了在属性文件上写入数据的方法。
我的属性文件在 asset
文件夹中,还有 2 个其他属性文件:
这是 settings.properties 文件:
#DEBUG
debugMode = false
#WIZARD
showWizard = true
这是我的方法(在 AppCompatActivity
内):
SharedPreferences settings = getSharedPreferences("settings", 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("showWizard", false);
editor.commit();
问题是,当我尝试读取字段 "showWizard" 时,我总是得到 true,但是当我使用上述方法编辑字段 "showWizard" 时,我没有收到任何错误,并且该字段似乎已从 "true" 正确地转换为 "false"。但事实并非如此!
有人知道我的错误在哪里吗?
谢谢
Following this android's Guide I created method to write data on a properties file .
单词"properties"没有出现在that page上。
Does anybody understand where is my error?
您在 assets/
中拥有的那些属性文件与 SharedPreferences
完全无关。如果要读取资产,请使用 AssetManager
及其 open()
方法。这将为您提供一个 InputStream
,您可以将其传递给 Properties
对象上的 load()
。
您不需要事先创建 settings.properties。只需删除 .properties 文件,它们可能会阻止 Android 覆盖数据。
按照这个 android 的 Guide,我创建了在属性文件上写入数据的方法。
我的属性文件在 asset
文件夹中,还有 2 个其他属性文件:
这是 settings.properties 文件:
#DEBUG
debugMode = false
#WIZARD
showWizard = true
这是我的方法(在 AppCompatActivity
内):
SharedPreferences settings = getSharedPreferences("settings", 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("showWizard", false);
editor.commit();
问题是,当我尝试读取字段 "showWizard" 时,我总是得到 true,但是当我使用上述方法编辑字段 "showWizard" 时,我没有收到任何错误,并且该字段似乎已从 "true" 正确地转换为 "false"。但事实并非如此!
有人知道我的错误在哪里吗?
谢谢
Following this android's Guide I created method to write data on a properties file .
单词"properties"没有出现在that page上。
Does anybody understand where is my error?
您在 assets/
中拥有的那些属性文件与 SharedPreferences
完全无关。如果要读取资产,请使用 AssetManager
及其 open()
方法。这将为您提供一个 InputStream
,您可以将其传递给 Properties
对象上的 load()
。
您不需要事先创建 settings.properties。只需删除 .properties 文件,它们可能会阻止 Android 覆盖数据。