我目前正在开发 this Android应用。我希望能够在用户按下“开始”按钮时在运行期间向文件写入信息(集数,工作间隔长度和休息间隔长度),因此下次进入时,所有内容都会保存。我尝试在'main / assets'文件夹中放入一个名为'parameters'的文件,但我很快意识到,这个文件夹是只读的。然后我尝试将文件放在'res / raw'文件夹中,但我无法在运行时更改文件。
我的问题是: 如何在运行时读取和写入信息以及应该在何处放置文件?
答案 0 :(得分:0)
您的情况不适用于文件
不要对文件执行此操作。 使用共享首选项或sqlite数据库(或任何其他对象箱,领域等)来执行此操作。
答案 1 :(得分:0)
看一下应用程序,似乎它需要存储的数据是键值对,对于此类数据-您应该使用SharedPreferences
API。
SharedPrefernce
也指向包含键值对的文件,并提供简单的读取和写入方法。使用SharedPreferences
的优点可以是每个SharedPreferences
文件都由框架管理,您可以控制文件是私有的还是共享的。
您可以通过调用getSharedPreferences()
来创建新的共享首选项文件或访问现有的共享首选项文件。如果需要多个用名称标识的共享首选项文件,请使用第一个参数指定此名称。您可以从应用程序中的任何上下文调用它。
val sharedPref = activity?.getSharedPreferences(
getString(R.string.preference_file_key), Context.MODE_PRIVATE)
此代码访问由资源字符串R.string.preference_file_key标识的共享首选项文件,并使用 private 模式打开它,因此只有您的应用可以访问该文件
要写入共享首选项文件,请在您的SharedPreferences上调用edit()创建一个SharedPreferences.Editor
。
例如,
with (sharedPref.edit()) {
putInt(getString(R.string.your_data_key), newData)
commit()
}