我正在开发 this Android应用。我希望能够在运行期间,当用户按下“开始”按钮时,将信息(套数,工作间隔长度和休息间隔长度)写入文件,以便下次进入时保存所有内容。我尝试将名为“parameters”的文件放入“main / assets”文件夹中,但很快我意识到该文件夹是只读的。然后,我尝试将文件放入“res / raw”文件夹中,但在运行时无法更改文件。
如何在运行时读取和写入信息,以及应在哪里放置文件?
最佳答案
查看该应用程序,似乎需要存储的数据是键值对,对于此类数据-您应该使用SharedPreferences
API。SharedPrefernce
也指向包含键值对的文件,并提供简单的读取和写入方法。使用SharedPreferences
的优势可以是,每个SharedPreferences
文件都由框架管理,并且您可以控制文件是私有(private)的还是共享的。
您可以通过调用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()
}
关于android - 在运行时在Android中读写文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50778835/