2013-04-05 77 views
0

我有一個擴展SQLiteOpenHelper的類,其中我定義了要創建的數據庫表和列。這些字符串如下所示:最佳實踐:使用SQLiteOpenHelper定義大型數據庫?

public String AS_COLUMN_A_BTN5 = "a_btn5"; 

然後我爲每個CREATE TABLE語句定義了一個字符串。這些表格是在onCreate()方法中創建的。

問題是我有超過50列,所以文件越來越長,難以管理。

定義大量列的最佳做法是什麼?

+0

如果您使用的列太多,文件變得難以管理,您應該重新考慮您的數據庫設計。 – 2013-04-05 03:00:39

回答

0
  1. 將您的create-database.sql腳本寫入文件並將其保存到您的/ assets文件夾中。
  2. 使用下面你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語句的方法。你可以從here下載它(我從很久以前讀過的博客中使用它,不幸的是,我不記得了)。

通過這種方式,您可以利用編輯器的語法突出顯示來識別SQL腳本中的拼寫錯誤。

讓我知道你是否有問題。