2011-04-02 122 views

回答

8

理想情況下,從結構化的方式來處理這個問題的方法是讓主要活動/服務與Utility類進行交互,該類可直接與數據庫進行通信,而不是與其自身的活動/服務進行交互。

通過這樣做,您可以模塊化這個過程,使得它比在一個類中全部處理更容易處理。具體地,流動將遵循此

活動/服務 - >數據庫工具類 - >數據庫

活性通過實用程序類獲得的數據庫的結果。你可以擁有所有的數據庫功能,比如在工具類中添加,減少和編輯記錄。

具體來說,你需要尋找到SQLiteOpenHelper

public class myDatabaseOpenHelper extends SQLiteOpenHelper { 

    public myDatabaseOpenHelper(Context context) { 
     super(context, (Database Name), null, (Database Version)); 

    } 

    @Override 
    public void onCreate(SQLiteDatabase db) { 

     // create event database & category database 
     db.execSQL([TableCreationStatementHere]); 
    } 

    @Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 


    } 

} 

有一點要提的是首先在紙上創建表,並建立了關係,要列名,然後建立這樣聲明:

public static String CREATE_EVENTDATABASE = "CREATE TABLE " + TABLE_EVENTS 
      + " (" + COL_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " 
       + COL_NAME + " TEXT, " 
         + COL_DATE + " TEXT NOT NULL, " 
         + COL_TIME + " TEXT NOT NULL, " 
         + COL_DATETIME + " TEXT, " 
         + COL_IMAGE + " TEXT, " 
         + COL_NOTE + " TEXT, " 
         + COL_REPEAT + " INTEGER, " 
       + COL_REPEAT_INTERVAL + " INTEGER, " 
         + COL_REMINDER + " INTEGER, " 
       + COL_CATEGORY + " TEXT, " 
         + COL_FLAG + " INTEGER)"; 

那麼您已經創建了表後,再隨便抓一個手柄到您的數據庫,像這樣:

myDatabaseOpenHelper helper = new myDatabaseOpenHelper(getApplicationContext()); 
SQLiteDatabase database = helper.getWritableDatabase() 

此行將返回一個鏈接到您的數據庫,在那裏你可以查詢,刪除,如有必要更新!

+0

好的,謝謝!這似乎並不困難。 – 2011-04-02 18:47:24