2012-11-09 46 views
0

我正在爲android應用程序編寫數據庫適配器類,並計劃創建表特定的適配器類。我將要像Shawn在this post中制定的那樣構建整個事情。擁有多個數據庫幫助程序類似乎對我來說是多餘的,所以我想知道是否可以引用一個數據庫幫助程序類而不是創建多個數據庫幫助程序類。下面是我在談論的部分:使用另一個類的數據庫幫助程序

public static class DatabaseHelper extends SQLiteOpenHelper { 
    DatabaseHelper(Context context) { 
     super(context, DATABASE_NAME, null, DATABASE_VERSION); 
    } 
    public void onCreate(SQLiteDatabase db) { 
     try { 
      db.execSQL(DATABASE_CREATE); 
     } 
     catch (SQLException ex){ 
      ex.printStackTrace(); 
     } 
    } 
    @Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
     Log.w(TAG, "Upgrading database from version " + oldVersion + " to " + newVersion + ", which will destroy all old data"); 
     db.execSQL("DROP TABLE IF EXISTS Exercise"); 
     onCreate(db); 
    } 
} 

回答

0

我發現解決方案,找我挺好的,請考慮它。 創建一種基礎數據庫的幫手,並創建所有的表有沒有像

public static class BaseDbHelper extends SQLiteOpenHelper { 
    BaseDbHelper (Context context) { 
     super(context, DATABASE_NAME, null, DATABASE_VERSION); 
    } 
    public void onCreate(SQLiteDatabase db) { 
     //Create all tables here 
    } 
    @Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
     //Drop all tables here 
     onCreate(db); 
    } 
} 

然後你可以從BaseDbHelper繼承並創建特定表中特定的方法。 在這種情況下,您不會重複代碼,並且不會錯過初始化,無論您先打電話給誰。