2011-06-09 71 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存儲在應用程序的目錄中,你可以將它設置爲只能被你的應用程序讀取。