друзей!
Пожалуйста, помогите мне решить мою проблему.Я пытаюсь заполнить базу данных sqlite из xml, получаю 0 ошибок, но значения в базе данных перепутаны.
Вот файл xml:
<?xml version="1.0" encoding="utf-8"?>
<cards>
<record
path="R.mipmap.ot1"
man="man1"
woman="woman1" />
<record
path="R.mipmap.ot2"
man="man2"
woman="woman2" />
</cards>
Вот класс DBhelper.Метод onUpgrade пуст, но atm я каждый раз вручную очищаю данные приложения.
class DBHelper extends SQLiteOpenHelper {
public DBHelper(Context context) {
super(context, "myDB", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
Log.d(LOG_TAG, "--- onCreate database ---");
String sqlStatement = "CREATE TABLE IF NOT EXISTS mytable( id INTEGER PRIMARY KEY AUTOINCREMENT, path TEXT, man TEXT, woman TEXT)";
db.execSQL(sqlStatement);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
Здесь идет часть импорта данных из xml в базу данных
dbHelper = new DBHelper(this);
ContentValues cv = new ContentValues();
SQLiteDatabase db = dbHelper.getWritableDatabase();
db.delete("mytable", null, null);
Resources res = this.getResources();
ContentValues values = new ContentValues();
XmlResourceParser _xml = res.getXml(R.xml.cardslist);
try {
int eventType = _xml.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
if ((eventType == XmlPullParser.START_TAG)
&& (_xml.getName().equals("record"))) {
String path = _xml.getAttributeValue(0);
String man = _xml.getAttributeValue(1);
String woman = _xml.getAttributeValue(2);
values.put("path", path);
values.put("man", man);
values.put("woman", woman);
db.insert("mytable", null, values);
Log.d(LOG_TAG, "success");
}
eventType = _xml.next();
}
}
// Catch errors
catch (XmlPullParserException e) {
Log.e("Test", e.getMessage(), e);
} catch (IOException e) {
Log.e("Test", e.getMessage(), e);
} finally {
// Close the xml file
_xml.close();
}
dbHelper.close();
Итак, я хочу получить
path = R.mipmap.ot1 man = man1 woman = woman1
R.mipmap.ot2 man2 woman2
но получите
path=man1 man=R.mipmap.ot1 woman=woman1
man2 R.mipmap.ot2 woman2
Пожалуйста, помогите мне решить эту проблему.Большое спасибо.