Android 最佳实践:使用SQLiteOpenHelper定义大型数据库?
我有一个扩展SQLiteOpenHelper的类,在这个类中我定义了要创建的数据库表和列。这些字符串如下所示:Android 最佳实践:使用SQLiteOpenHelper定义大型数据库?,android,android-sqlite,Android,Android Sqlite,我有一个扩展SQLiteOpenHelper的类,在这个类中我定义了要创建的数据库表和列。这些字符串如下所示: public String AS_COLUMN_A_BTN5 = "a_btn5"; 然后,我为每个CREATETABLE语句定义了一个字符串。这些表是在onCreate()方法中创建的 问题是我有50多列,所以文件变得非常长,无法管理 定义大量列的最佳实践是什么 在文件中编写create-database.sql脚本,并将其保存到/assets文件夹中 在SQLiteOpenHel
public String AS_COLUMN_A_BTN5 = "a_btn5";
然后,我为每个CREATETABLE语句定义了一个字符串。这些表是在onCreate()方法中创建的
问题是我有50多列,所以文件变得非常长,无法管理
定义大量列的最佳实践是什么
SQLiteOpenHelper
中使用以下命令:onCreate
@Override
public void onCreate( SQLiteDatabase db )
{
InputStream in_stream = null;
try {
in_stream = mContext.getResources().getAssets().open( CREATE_SCRIPT );
String[] statements = parseSqlFile( in_stream );
for ( String statement : statements ) {
db.execSQL( statement );
}
} catch ( IOException e ) {
e.printStackTrace();
} finally {
try {
if ( in_stream != null ) {
in_stream.close();
}
} catch ( Exception e ) {
}
}
}
在第8行,您将找到一个名为parseSqlFile()
的方法。这是一种接受SQL脚本并将其拆分为SQL语句的方法。你可以从(我很久以前读过一个博客,很遗憾,我已经不记得了)下载它
通过这种方式,您可以利用编辑器的语法高亮显示来发现sql脚本中的拼写错误
如果您有问题,请告诉我。如果您使用的列太多,文件变得无法管理,您可能应该重新考虑数据库设计。