2010-11-20 3 views
0

通常、WinFormまたはWeb Appの場合、RDBMSまたは別のインストールプロセスでデータベースとテーブルを作成します。しかし、私はAndroidの何かを見たことがありません。私が見たすべての例では、thisのようなアクティビティにデータベース作成スクリプトが埋め込まれています。Androidデータベースのセットアップを取得しますか?

私が今考えることのできる最も良いことは、データベースがインストールされているかどうかをチェックするために、データアクセスコンストラクタからメソッドを呼び出すことです。しかし、これは私には大きなオーバーヘッドのようです。

アンドロイドデータベースのインストールを実行してそれを忘れる最もクリーンな方法は何ですか?

答えて

1

SQLLiteOpenHelper(http://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html)を使用すると、データベースが存在しない場合にのみonCreateメソッドが呼び出されます。新しいバージョンのデータベースが導入されると、onUpgradeが呼び出されます。 データベースが既に存在し、バージョンのアップグレードが発生していない場合、これらのメソッドは実行されません。

あなたのアクティビティでif-elseチェックを実装する必要はありません。

private static class DatabaseHelper extends SQLiteOpenHelper 
{ 
    DatabaseHelper(Context context) 
    { 
     super(context, DATABASE_NAME, null, DATABASE_VERSION); 
    } 

    @Override 
    public void onCreate(SQLiteDatabase db) 
    { 
     db.execSQL(DATABASE_CREATE); 
    } 

    @Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, 
    int newVersion) 
    { 
     Log.w(TAG, "Upgrading database from version " + oldVersion + " to " + newVersion); 
     db.execSQL(DATABASE_UPGRADE); 
    } 
}  
関連する問題