首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Android运行时文件读写

Android运行时文件读写
EN

Stack Overflow用户
提问于 2018-06-10 05:50:44
回答 2查看 79关注 0票数 0

我正在开发安卓应用程序。我希望当用户按下“开始”按钮时,能够在运行时将信息(集合数量、工作间隔长度和休息间隔长度)写入文件,这样下次输入时,所有内容都会被保存。我尝试将一个名为'parameters‘的文件放在'main/assets’文件夹中,但我很快意识到,这个文件夹是只读的。然后,我尝试将该文件放入“res/raw”文件夹中,但在运行时无法更改该文件。

如何在运行时读取和写入信息,以及应将文件放在何处?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-12-03 16:53:20

看看这个应用程序,它需要存储的数据似乎是键-值对,对于这样的数据,你应该使用SharedPreferences API。

SharedPrefernce还指向一个包含键-值对的文件,并提供读取和写入它们的简单方法。使用SharedPreferencesadvantage可以是每个SharedPreferences文件都由框架管理,并且您可以控制文件是私有的还是共享的。

您可以通过调用getSharedPreferences()来创建新的共享首选项文件或访问现有的共享首选项文件。如果需要多个由名称标识的共享首选项文件,请使用此方法。您可以在应用程序中的任何上下文中调用此函数。

代码语言:javascript
复制
val sharedPref = activity?.getSharedPreferences(
getString(R.string.preference_file_key), Context.MODE_PRIVATE)

此代码访问由资源字符串R.string.preference_file_key标识的共享首选项文件,并使用私有模式打开该文件,因此只有您的应用程序才能访问该文件

要写入共享首选项文件,请通过在SharedPreferences上调用SharedPreferences.Editor ()来创建编辑。

例如,

代码语言:javascript
复制
with (sharedPref.edit()) {
    putInt(getString(R.string.your_data_key), newData)
    commit()
}
票数 0
EN

Stack Overflow用户

发布于 2018-08-01 18:01:45

你的案子跟文件不太一样

不要在文件上这样做。使用共享首选项或sqlite数据库(或任何其他对象框、领域等)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50778835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档