Android SQLiteOpenHelper-我在哪里存储初始数据?
我有一些初始数据要插入数据库。我已经将它添加到我的自定义SQLiteOpenHelper类中Android SQLiteOpenHelper-我在哪里存储初始数据?,android,database,sqlite,insert,sqliteopenhelper,Android,Database,Sqlite,Insert,Sqliteopenhelper,我有一些初始数据要插入数据库。我已经将它添加到我的自定义SQLiteOpenHelper类中 package com.company.database; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class MySQLiteOpenHelper extends SQL
package com.company.database;
import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper;
public class MySQLiteOpenHelper extends SQLiteOpenHelper {
public static final String TABLE_NAMES = "names";
public static final String COLUMN_ID = "_id";
public static final String COLUMN_NAME = "name";
private static final String DATABASE_NAME = "my.db";
private static final int DATABASE_VERSION = 1;
private static final String TABLE_NAMES_CREATE = "CREATE TABLE " + TABLE_NAMES + "("
+ COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ COLUMN_NAME + " VARCHAR NOT NULL);";
private static final String TABLE_NAMES_INSERT = "INSERT INTO " + TABLE_NAMES
+ "(" + COLUMN_NAME + ")" + " VALUES "
+ "('Antony'),"
+ "('Benny'),"
+ "('Carol'),"
+ "('Daniel'),"
// ... AND SO ON ...
public MySQLiteOpenHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase database) {
database.execSQL(TABLE_NAMES_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase database, int oldVersion, int newVersion) {
dropTable(database);
onCreate(database);
}
private void dropTable(SQLiteDatabase database) {
database.execSQL("DROP TABLE IF EXISTS " + TABLE_NAMES);
} }
请注意插入语句。名字的数量会增加,我不想让这一团糟
我应该怎么做才能修复它?您可以在计算机上创建数据库,将其包含在APK中,并在第一次运行时将其加载到应用程序中 您可以随应用程序一起“运送”数据库。这样,您就可以预设详细信息,而不必在用户下载时提交它们。但是,请注意,应用程序文件大小可能会根据数据的大小而增加。可以用来完成此任务的库是SQLite资产帮助器(链接:)