デバッグしたいAndroidアプリケーション用のSQLiteデータベースを開発しました。次のようにテーブルを作成します。
String CREATE_ROUTES_TABLE =
"CREATE TABLE IF NOT EXISTS" + DATABASE_INTERNAL_NAME + " ( " +
PRIMARY_KEY + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
ROUTE_ID + " TEXT," +
AGENCY_ID + " TEXT," +
ROUTE_SHORT_NAME + " TEXT," +
ROUTE_LONG_NAME + " TEXT," +
ROUTE_TYPE + " INTEGER );";
ただし、ここでは、一度作成されると、再起動するたびに、テーブルに同じ値が再び入力されます。再起動するたびにテーブルを空にして補充したいと思います。「CREATETABLE」ステートメントの前にある「IFNOTEXISTS」を削除しても効果はありませんでした。
アプリを再起動するたびに新しいデータベースを開始するにはどうすればよいですか?
このようにうまく機能するようにしてください。これはonUpgrade()
、コンマンSQLクラスで言及されています。
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("DROP TABLE IF NOT EXISTS " + TABLE_ORDER);
db.execSQL("DROP TABLE IF NOT EXISTS " + TABLE_TIMESTAMP);
db.execSQL("DROP TABLE IF NOT EXISTS " + TABLE_ACCOUNT);
// hardik
db.execSQL("DROP TABLE IF NOT EXISTS " + TABLE_IMAGE);
db.execSQL("DROP TABLE IF NOT EXISTS " + TABLE_UPDATEITEMS);
db.execSQL("DROP TABLE IF NOT EXISTS " + TABLE_SCANITEMS);
onCreate(db);
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加