Android установил строковое значение в String.xml - PullRequest
6 голосов
/ 09 июня 2011

кто-нибудь может мне помочь ??Я хочу добавить строковое значение через кодирование в 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 при кодировании.Спасибо !!

Ответы [ 5 ]

10 голосов
/ 09 июня 2011

Ресурсы в значительной степени каменные, поэтому вы не можете изменять их во время выполнения. Если вам нужно сохранить несколько новых строк, используйте SharedPreferences или SQLite.

6 голосов
/ 09 июня 2011

Не думаю, что ты хочешь это сделать.Если вы пытаетесь сохранить значение постоянным способом, взгляните на SharedPrefences .У Google есть хорошее введение в это здесь .

5 голосов
/ 09 июня 2011

Невозможно изменить ресурсы APK во время выполнения.

4 голосов
/ 09 июня 2011

Вы не можете редактировать ресурс или добавить ресурс после компиляции кода.Я не знаю точно, что делает setResource, но как только ваша программа скомпилирована, android создает файлы gen, которые обозначают определенный объем пространства для этих переменных, изменение переменной после ее записи может привести к переполнению или ошибкам в памяти.Если вам нужны постоянные значения, попробуйте использовать SharedPrefs, SQL или даже свой собственный XML-файл, хранящийся в каталоге приложения, который вы можете установить для чтения только вашим приложением.

4 голосов
/ 09 июня 2011

Вы не можете редактировать эти ресурсы напрямую.Возможно, вы захотите взглянуть на sharedpreferences http://developer.android.com/reference/android/content/SharedPreferences.html или создать свой собственный XML-файл.

...