Изменение значения R.String программно - PullRequest
6 голосов
/ 06 марта 2012

Можете ли вы изменить значения R.string программно в программе для Android?Мне нужно получить некоторую информацию об API (например, состояние батареи, процент заряда батареи, версия для Android OS) и я хочу сохранить значение R.string.Я знаю, как это читать:

 String helloValue= getResources().getString(R.string.hello);

Я также смотрел на: Изменить значение R.string программно? , но кажется, что это связано только с изменением языка, и он в конечном итоге сделалэто по-другому.Кто-нибудь может помочь, пожалуйста?Я также посмотрел здесь: http://developer.android.com/guide/topics/resources/string-resource.html и не нашел ничего, что могло бы помочь: (

Ответы [ 4 ]

11 голосов
/ 06 марта 2012

Вы не можете динамически изменять strings.xml, так как это скомпилированный ресурс.Существуют и другие механизмы сохранения данных в Android, вот хороший пост, посвященный этой теме: Хранение данных .Надеюсь, это поможет.

2 голосов
/ 06 марта 2012

Если вам нужно сохранить небольшое количество строковой информации, вы должны использовать SharedPreferences, это как раз то, для чего:)

0 голосов
/ 18 февраля 2018

Таким способом вы можете получить значение из res / string value.

String str = getResources().getString(R.string.<name_of_value>);

Теперь вы можете в дальнейшем использовать это значение этой (str) строковой переменной.
Но, по мне, нетспособ установить значение res / string

0 голосов
/ 06 марта 2012

Есть много способов закончить ваши идеи. Но вы не можете изменить свой ресурс String (а также ресурс R.java) или ресурс макета, ... и любой другой ресурс. Вы можете сделать это, изменив ресурс на активы. это можно читать и писать :) 1001 *

...