Просто хотел спросить, знает ли кто-нибудь, почему при сохранении в SQLite возвращается 0, когда я пытаюсь сохранить свои отрисовки в массиве и когда на меня ссылаются при создании таблицы базы данных.
Вот соответствующий кодв NoodleDatabaseHelper.java
private TypedArray noodleDrawableNames;
@Override
public void onCreate(SQLiteDatabase db) {
updateMyDatabase(db, 0, DB_VERSION);
}
import android.content.res.Resources;
import android.content.res.TypedArray;
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
updateMyDatabase(db, oldVersion, newVersion);
}
private void updateMyDatabase(SQLiteDatabase db, int oldVersion, int newVersion) {
noodleNames = res.getStringArray(R.array.noodle_names);
noodleDescriptions = res.getStringArray(R.array.noodle_description);
noodleDrawableNames = res.obtainTypedArray(R.array.noodle_drawables);
noodlePrices = res.getIntArray(R.array.noodle_prices);
if (oldVersion < 1) {
db.execSQL("CREATE TABLE Noodles_Database (_id INTEGER PRIMARY KEY AUTOINCREMENT, "
+ "NAME TEXT, "
+ "DESCRIPTION TEXT, "
+ "IMAGE_RESOURCE_ID INTEGER, "
+ "PRICE INTEGER);");
for (int j = 0; j < 13; j++) {
insertNoodle(db, noodleNames[j], noodleDescriptions[j], noodleDrawableNames.getResourceId(j, -1), noodlePrices[j]);
Log.i("DatabaseHelper", ... this is the important part
Integer.toString(noodleDrawableNames.getResourceId(j, -1)));
}
noodleDrawableNames.recycle();
}
// for existing users, they get an new column added onto their database;
// whereas, new users can immediately get the complete database created for them.
if (oldVersion < 2) {
// db.execSQL("ALTER TABLE NOODLE ADD COLUMN FAVOURITE NUMERIC")
}
}
Here's the array
<array name="noodle_drawables">
<item>@drawable/duck_soba</item>
<item>@drawable/duck_and_mushroom_soba</item>
..etc
</array>
Дайте мне знать, если вы хотите увидеть другие файлы