Android:具有默认值的SQL数据库

时间:2015-10-16 22:29:50

标签: 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.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();
    }
}

如何在创建时填充此数据库? 感谢。

1 个答案:

答案 0 :(得分:0)

你是说你想要一个非空但有一些内容的数据库?您可以通过在计算机上创建所需的数据库,然后将其放入项目资产/文件夹中来实现。然后,您必须在应用程序启动时将其复制到正确的位置。

为此你需要。 Android SQLiteAssetHelper

  

用于管理数据库创建和版本的Android帮助程序类   使用应用程序的原始资产文件进行管理。

     

此类为开发人员提供了一种发布Android的简单方法   具有现有SQLite数据库的应用程序(可以预先填充   数据)并管理其初始创建和所需的任何升级   随后的版本发布。

当然,如果你想编写一些代码,你可以不用这个库来做你自己的事情。