以编程方式更改R.String的值

时间:2012-03-06 13:53:47

标签: android android-2.3-gingerbread

你能在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并找不到任何帮助:(

4 个答案:

答案 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

的值