2015-10-16 31 views
0

我需要在Android应用程序中创建SQL数据库。在这里我的代码: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(); 
    } 
} 

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

+0

你是什么意思的“在创作”? –

回答

0

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

因为你需要。 Android的SQLiteAssetHelper

版本的Android辅助类使用应用程序的原始资产档案管理数据库的建立和版本 管理。

这个类为开发人员提供一种简单的方式运送他们的Android 应用程序与现有的SQLite数据库(也可以预先填入 数据),并管理其初始创建和任何升级需要 与后续版本发行。

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