你能在android程序中以编程方式更改R.string的值吗?我需要提取一些API信息(例如电池状态,电池百分比,android os版本),并希望将其保存为R.string值。我知道怎么读它:
String helloValue= getResources().getString(R.string.hello);
我也看过:Change value of R.string programically?但似乎只涉及改变语言,他最终以不同的方式做到了。有人可以伸出援助之手吗?我也看过这里:http://developer.android.com/guide/topics/resources/string-resource.html并找不到任何帮助:(
答案 0 :(得分:11)
您无法动态更改strings.xml,因为它是已编译的资源。在Android中还有其他保存数据的机制,这里有一个很好的帖子,涵盖了这个主题:Data Storage。希望这会有所帮助。
答案 1 :(得分:2)
如果你需要保存少量的字符串信息,你应该使用SharedPreferences
,这正是它的用途:)
答案 2 :(得分:0)
有很多方法可以完成您的想法。但是,您无法更改String资源(以及R.java资源),布局资源,...以及任何其他资源。您可以通过将资源更改为资产来执行此操作。这可以读写:)
答案 3 :(得分:0)
您可以通过这种方式从res / string值获取值。
String str = getResources().getString(R.string.<name_of_value>);
现在你可以进一步使用这个(str)字符串变量的值 但据我说,没有办法设置res / string
的值