Android預置數據庫我正在開發一個Android應用程序,在用戶使用該應用程序之前,它需要在應用程序的數據庫中填充幾個條目(一個表,有1000-10000行)。我已經看過一些教程,我不確定做這件事的最佳方法。我是否應該在每次啟動應用程序時檢查數據庫是否存在,如果沒有數據庫,應該創建數據庫并插入我需要的數千條記錄嗎?還是有更好的方法來處理這個問題?理想情況下,它可以作為應用程序安裝過程的一部分,但我不確定這是否可行。如有任何反饋,將不勝感激。
3 回答

呼喚遠方
TA貢獻1856條經驗 獲得超11個贊
private static class settingsDatabaseHelper extends SQLiteOpenHelper{ //SQL String for creating the table required private static final String CREATE_SETTINGS_TABLE = "CREATE TABLE tbl_settings(" + "_ID INTEGER PRIMARY KEY AUTOINCREMENT," + "VOIPUSERNAME TEXT," + "VOIPAUTHID TEXT," + "PASSWORD TEXT," + "VOIPDISPLAYNAME TEXT," + "SIPPROXYSERVER TEXT," + "SIPREGISTRAR TEXT," + "SIPREALM TEXT," + "EXPIRESTIME INTEGER);"; //constructor public settingsDatabaseHelper(Context context, String name, CursorFactory factory, int version) { super(context, name, factory, version); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(CREATE_SETTINGS_TABLE); ContentValues initialValues = new ContentValues(); initialValues.put("VOIPUSERNAME", "xxxxx"); initialValues.put("VOIPAUTHID", "xxxxxxxxxx"); initialValues.put("PASSWORD", "xxxxxx"); initialValues.put("VOIPDISPLAYNAME", "xxxxxxxxx"); initialValues.put("SIPPROXYSERVER", "xxxxxxxxxxxxx"); initialValues.put("SIPREGISTRAR", "xxxxxxxxxxx"); initialValues.put("SIPREALM", "xxxxxxxxxx"); initialValues.put("EXPIRESTIME", xxxxxxxxxxx); Log.d("1.6", "gets to here"); db.insert(SETTINGS_TABLE, null, initialValues); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { Log.w(TAG, "Upgrading database from version " + oldVersion + " to " + newVersion + ", which will destroy all old data"); db.execSQL("DROP TABLE IF EXISTS " + SETTINGS_TABLE); onCreate(db); } }//end helper class}

瀟瀟雨雨
TA貢獻1833條經驗 獲得超4個贊
- 3 回答
- 0 關注
- 388 瀏覽
添加回答
舉報
0/150
提交
取消