我正在开发安卓应用程序。我希望当用户按下“开始”按钮时,能够在运行时将信息(集合数量、工作间隔长度和休息间隔长度)写入文件,这样下次输入时,所有内容都会被保存。我尝试将一个名为'parameters‘的文件放在'main/assets’文件夹中,但我很快意识到,这个文件夹是只读的。然后,我尝试将该文件放入“res/raw”文件夹中,但在运行时无法更改该文件。
如何在运行时读取和写入信息,以及应将文件放在何处?
发布于 2019-12-03 16:53:20
看看这个应用程序,它需要存储的数据似乎是键-值对,对于这样的数据,你应该使用SharedPreferences
API。
SharedPrefernce
还指向一个包含键-值对的文件,并提供读取和写入它们的简单方法。使用SharedPreferences
的advantage可以是每个SharedPreferences
文件都由框架管理,并且您可以控制文件是私有的还是共享的。
您可以通过调用getSharedPreferences()
来创建新的共享首选项文件或访问现有的共享首选项文件。如果需要多个由名称标识的共享首选项文件,请使用此方法。您可以在应用程序中的任何上下文中调用此函数。
val sharedPref = activity?.getSharedPreferences(
getString(R.string.preference_file_key), Context.MODE_PRIVATE)
此代码访问由资源字符串R.string.preference_file_key标识的共享首选项文件,并使用私有模式打开该文件,因此只有您的应用程序才能访问该文件
要写入共享首选项文件,请通过在SharedPreferences上调用SharedPreferences.Editor
()来创建编辑。
例如,
with (sharedPref.edit()) {
putInt(getString(R.string.your_data_key), newData)
commit()
}
发布于 2018-08-01 18:01:45
你的案子跟文件不太一样
不要在文件上这样做。使用共享首选项或sqlite数据库(或任何其他对象框、领域等)。
https://stackoverflow.com/questions/50778835
复制相似问题