2011-06-09 64 views
6

任何人都可以帮助我?我想通过string.xml中的编码添加字符串值
我正在这样做。
Android在String.xml中设置字符串值

String name = getResources().getString(R.string.name); 
    if(name.lenght() < 1){ 
     // getResources().setString(R.string.name);?????????????????????? 

    } 

我string.xml是

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <string name="name"></string> 
</resources> 

有谁知道我可以在string.xml加名字的价值,虽然编码。 谢谢!

回答

10

这些资源几乎是一成不变的,所以你不能在运行时修改它们。如果您需要存储一些新字符串,请使用SharedPreferencesSQLite

5

在运行时不可能修改APK的资源。

6

我不认为你想这样做。如果您试图以持久方式存储值,请参阅SharedPrefences。谷歌有一个很好的介绍here

4

编译代码后,无法编辑资源或添加资源。我不确切知道setResource究竟做了什么,但是一旦你的程序被编译,android就会为这些变量建立一些指定一定空间的gen文件,一旦写入就更改变量会导致内存溢出或outofbounds错误。如果你想持久化值,可以尝试使用SharedPrefs,SQL甚至是你自己的XML,这些XML存储在应用程序的目录中,你可以将它设置为只能被你的应用程序读取。