2017-09-26 5 views
-1

データベースを作成して標準値を持つためにAndroidアプリケーションが初めて起動されたときだけです。テーブル内のデータを使ってアプリケーションデータベースを作成する

CREATE TABLE IF NOT EXISTSを正常に開始し、初めてアプリケーションを開いたときにテーブルを作成しています。 DBにEURとUSDの行があるとしましょう。私はEURがすでに価値100とUSDの価値0を持ってほしいと思っています。

テーブルが作成され/最初のアプリケーションが起動されたときにデータベーステーブルにデータを入れるための最も簡単なソリューションは何でしょうか(データベーステーブルは初回起動時アプリ)?

私は、assetsフォルダ内にデータベースファイルを作成し、それをコピーするだけでSharedPreferencesにフラグを作成して初めてア​​プリケーションが起動されたときを知り、次にメインのデータベースを作成したり作成したりするonCreate()データベースをチェックし、空であればそれを埋めます。

答えて

1

これは起動することができます

void createdDatabase() { 
    String databasePath = Environment.getExternalStorageDirectory().getPath() + File.separator + "database.db"; 
    SQLiteDatabase database = SQLiteDatabase.openOrCreateDatabase(databasePath, null, null); 

    String sqlCreateMessages = "CREATE TABLE currencies (\n" + 
     " id INTEGER PRIMARY KEY,\n" + 
     " name text NOT NULL,\n" + 
     " value text NOT NULL\n" + 
     ")"; 
    database.execSQL(sqlCreateMessages); 

    ContentValues values = new ContentValues(); 
    values.put("name", "EUR"); 
    values.put("value", "100"); 
    database.insert("currencies", null, values); 
    values = new ContentValues(); 
    values.put("name", "USD"); 
    values.put("value", "0"); 
    database.insert("currencies", null, values); 
} 
関連する問題