2016-08-24 90 views
2

我有一个这样的XML在raw文件夹修改XML属性值的Android

<premios> 
    <premio 
     corazones="5000" 
     nombrerecurso="foto" 
     carpetarecurso="drawable" 
     tipo="imagen" 
     abierto="yes" 
     /> 
    <premio 
     corazones="6000" 
     nombrerecurso="cuak" 
     carpetarecurso="raw" 
     tipo="audio" 
     abierto="no" 
    /> 
    <premio 
     corazones="7000" 
     nombrerecurso="video" 
     carpetarecurso="raw" 
     tipo="video" 
     abierto="no" 
    /> 
    <premio 
     corazones="7000" 
     nombrerecurso="video" 
     carpetarecurso="raw" 
     tipo="video" 
     abierto="yes" 
    /> 
</premios> 

我读它的activityOnCreate与属性abierto我建立一个List<Boolean>yes->trueno->false)。

问题是,当Activity正在运行时,该列表可能会被修改,并且某些false可能会变成true

因此,当Activity已停止时,我希望保存这些更改,在XML中修改属性“abierto”,其中“否”变为“是”。

+0

你不能!使用[共享首选项](https://developer.android.com/reference/android/content/SharedPreferences.html)或[SQLite](https://developer.android.com/reference/android/database/sqlite/SQLiteDatabase .html)。 – Abbas

回答

0

我认为这里最好的解决方案是使用SQLite。

创建一个名为这样premios表,并用它来读取,存储,并修改值:

CREATE TABLE PREMIOS(
    ID    INT PRIMARY KEY NOT NULL, 
    CORAZONES   INT, 
    NOMBRE_RECURSO TEXT, 
    CARPETA_RECURSO TEXT, 
    TIPO    TEXT, 
    ABIERTO   TEXT 
); 

Android开发者文档和一个简单的例子:

https://developer.android.com/training/basics/data-storage/databases.html

0

你不能更改任何资源文件!

正如文件documentationidsRaw文件夹中存储为public static final class R.raw在资源文件[R

所以,如果你需要改变在未来你的价值观,你应该把它存放在SharedPreferenceSQLite