我想开发Android应用程序(第一次),所以我使用SQLite来存储数据。但每次运行应用程序时,所有数据都是空的!我认为问题在于,当我运行应用程序时,它重新创建了所有表格,并且它们以新的空表格的形式出现!如何长时间在android中存储数据?
任何人都可以帮助或举例说明如何检查表是否已经创建,如果是,请复制数据,如果没有创建,那意味着它是第一次! 如何使用SQLite长时间存储数据?如果我不能说什么是存储数据的最佳方式?
//food
private static final String food= "food";
//---- columns -----
private static final String fid = "fid";
private static final String fname= "fname";
private static final String category = "category";
private static final String quantity= "quantity";
private static final String unit= "unit";
private static final String carbs= "carbs";
//food
private static final String DATABASE_CREATE_Food="CREATE TABLE "
+food+" ("+fid
+ " INTEGER PRIMARY KEY AUTOINCREMENT , "
+fname+ " TEXT NOT NULL, "
+category+" TEXT Not NULL, "
+quantity+" Double Not Null, "
+carbs+" Integer NOT NULL, "
+unit+" TEXT NOT NULL"
+");";
public void onCreate(SQLiteDatabase database) {
database.execSQL(DATABASE_CREATE_Food);
}
/** Called when the DATABASE_VERSION is changed to higher version */
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.w(MyAppDB.class.getName(),
"Upgrading database from version " + oldVersion + " to "
+ newVersion + ", which will destroy all old data");
db.execSQL("DROP TABLE IF EXISTS" + food);
onCreate(db);
}
该表不应该被每一次重建。你应该发布你的代码,这样可以确定娱乐的原因。 – 2013-03-18 00:11:21