Android预置数据库我正在开发一个Android应用程序,在用户使用该应用程序之前,它需要在应用程序的数据库中填充几个条目(一个表,有1000-10000行)。我已经看过一些教程,我不确定做这件事的最佳方法。我是否应该在每次启动应用程序时检查数据库是否存在,如果没有数据库,应该创建数据库并插入我需要的数千条记录吗?还是有更好的方法来处理这个问题?理想情况下,它可以作为应用程序安装过程的一部分,但我不确定这是否可行。如有任何反馈,将不胜感激。
3 回答
慕运维8079593
TA贡献1876条经验 获得超5个赞
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贡献1824条经验 获得超8个赞
- 3 回答
- 0 关注
- 640 浏览
添加回答
举报
0/150
提交
取消