2012-01-18 27 views

答えて

3

作成する各データベースにはバージョン番号があります。そうすることで、アプリケーションをアップグレードする場合(既存データのアップグレードに必要なデータベース変更を実行する場合)、それらを追跡することができます。

private static class OpenHelper extends SQLiteOpenHelper { 

    OpenHelper(Context context) { 
    super(context, DATABASE_NAME, null, DATABASE_VERSION); 
    } 

    @Override 
    public void onCreate(SQLiteDatabase db) { 
    db.execSQL("CREATE TABLE " + TABLE_NAME + " 
     (id INTEGER PRIMARY KEY, name TEXT)"); 
    } 

    @Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
    Log.w("Example", "Upgrading database, this will drop tables and recreate."); 
    db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME); 
    onCreate(db); 
    } 

onUpgradeが必要なすべてのデータベースのアップグレードを処理します:あなたは、次のコードを見れば、バージョン番号は1

から開始する必要があります。場合によっては、現在のデータベースを破棄(ドロップ)して新しいデータベースを作成することもできます。

+0

データベースの古いバージョンを取得する方法 – shvivek

+0

'onUpgrade'コールバックで渡されます。それは 'oldVersion'と呼ばれています。 – DanielS

-1

以前のバージョンを0に設定しているようですが、電話からアプリを削除して再インストールしてください。新しいバージョンが以前のバージョンよりも大きいことを確認してください。

関連する問題