Android:具有默认值的SQL数据库
我需要在Android应用程序中创建一个SQL数据库。这是我的代码:Android:具有默认值的SQL数据库,android,sql,database,Android,Sql,Database,我需要在Android应用程序中创建一个SQL数据库。这是我的代码: @Override public void onCreate(SQLiteDatabase database) { database.execSQL(createTable(FeedColumns.TABLE_NAME, FeedColumns.COLUMNS)); database.execSQL(createTable(FilterColumns.TABLE_NAME, FilterColumns.
@Override
public void onCreate(SQLiteDatabase database) {
database.execSQL(createTable(FeedColumns.TABLE_NAME, FeedColumns.COLUMNS));
database.execSQL(createTable(FilterColumns.TABLE_NAME, FilterColumns.COLUMNS));
database.execSQL(createTable(EntryColumns.TABLE_NAME, EntryColumns.COLUMNS));
database.execSQL(createTable(TaskColumns.TABLE_NAME, TaskColumns.COLUMNS));
private String createTable(String tableName, String[][] columns) {
if (tableName == null || columns == null || columns.length == 0) {
throw new IllegalArgumentException("Invalid parameters for creating table " + tableName);
} else {
StringBuilder stringBuilder = new StringBuilder("CREATE TABLE ");
stringBuilder.append(tableName);
stringBuilder.append(" (");
for (int n = 0, i = columns.length; n < i; n++) {
if (n > 0) {
stringBuilder.append(", ");
}
stringBuilder.append(columns[n][0]).append(' ').append(columns[n][1]);
}
return stringBuilder.append(");").toString();
}
}
@覆盖
public void onCreate(SQLiteDatabase){
execSQL(createTable(FeedColumns.TABLE_NAME,FeedColumns.COLUMNS));
execSQL(createTable(FilterColumns.TABLE_NAME,FilterColumns.COLUMNS));
execSQL(createTable(EntryColumns.TABLE_NAME,EntryColumns.COLUMNS));
execSQL(createTable(TaskColumns.TABLE_NAME,TaskColumns.COLUMNS));
私有字符串createTable(字符串表名,字符串[][]列){
if(tableName==null | | columns==null | | columns.length==0){
抛出新的IllegalArgumentException(“用于创建表的参数无效”+tableName);
}否则{
StringBuilder StringBuilder=新建StringBuilder(“创建表”);
stringBuilder.append(tableName);
stringBuilder.append(“”);
for(int n=0,i=columns.length;n0){
stringBuilder.append(“,”);
}
stringBuilder.append(列[n][0]).append(“”).append(列[n][1]);
}
返回stringBuilder.append(“);”).toString();
}
}
如何在创建时填充此数据库?
谢谢。你是说你想从一个不是空的但有一些内容的数据库开始吗?你可以通过在你的计算机上创建你想要的数据库,然后把它放在项目资产/文件夹中来实现。然后你必须在应用启动时将它复制到正确的位置 为此你需要安卓 用于管理数据库创建和版本的Android helper类 使用应用程序的原始资产文件进行管理 这个类为开发者提供了一种简单的方式来发布他们的Android 具有现有SQLite数据库的应用程序(可能预先填充了 并管理其初始创建和所需的任何升级 与后续版本一起发布 当然,如果你想写一些代码,你可以不用这个库,自己动手。你说的“创建时”是什么意思?