前面我已經講解了資料庫的基本操作,如果還沒**的可以稍微看下:
1.首先簡單說下sqliteopenhelper類, 顧名思義就是乙個sql的幫助類,幫助我們管理android資料庫的,繼承它需要實現void oncreate(sqlitedatabase db)與void onupgrade(sqlitedatabase db, int oldversion, int newversion)兩個方法,乙個用於新建,乙個用於公升級,當然還必須重寫其的乙個構造方法,構造方法引數的含義上面這篇部落格中我已經解釋了,這裡不再重複,需要的朋友可以去上面的位址檢視
3,進入正題**:
**3.1,建立乙個類繼承自sqliteopenhelper,第一版的資料庫**
import android.content.context;
import android.database.sqlite.sqlitedatabase;
import android.database.sqlite.sqlitedatabase.curso***ctory;
import android.database.sqlite.sqliteopenhelper;
public
class
mydatabasehelper
extends
sqliteopenhelper
@override
public
void
oncreate(sqlitedatabase db)
@override
public
void
onupgrade(sqlitedatabase arg0, int arg1, int arg2)
}
**3.2,新需求:向資料庫中新增一張category表
新增表,資料庫已經要發生改變了,所以這裡就涉及到了資料庫公升級操作**
import android.content.context;
import android.database.sqlite.sqlitedatabase;
import android.database.sqlite.sqlitedatabase.curso***ctory;
import android.database.sqlite.sqliteopenhelper;
/** * 第二版的資料庫
*@author wt
* */
public
class
mydatabasehelperversion2
extends
sqliteopenhelper
@override
public
void
oncreate(sqlitedatabase db)
@override
public
void
onupgrade(sqlitedatabase db, int oldversion, int newversion)
}}
3.3:再次公升級,新需求: 這次要給book表和category表之間建立關聯,需要在book表中新增乙個category_id的字段
import android.content.context;
import android.database.sqlite.sqlitedatabase;
import android.database.sqlite.sqlitedatabase.curso***ctory;
import android.database.sqlite.sqliteopenhelper;
/** * 2新需求:
* 這次要給book表和category表之間建立關聯,
* 需要在book表中新增乙個category_id的字段
*@author wt
* */
public
class
mydatabasehelperversion3
extends
sqliteopenhelper
@override
public
void
oncreate(sqlitedatabase db)
/*** 然而,如果使用者之前就已經安裝了某一版本的程式,現在需要
* 覆蓋安裝,就會進入到公升級資料庫的操作中,在onupgrade()
* 方法裡,我們新增了乙個新的case,如果當前資料庫的版本號是2,
* 就會執行alter命令來為book表新增category_id列
* */
@override
public
void
onupgrade(sqlitedatabase db, int oldversion, int newversion)
}}
以上根據需求講解資料庫的公升級過程,過程就是如此so easy,還不會的夥伴趕快敲起來 Android的五大儲存方式
昨晚做了乙個夢,夢見王思聰喜歡我,還是不要不要的那種,唉,簡直是把花痴當不要臉。好了,夢醒了,繼續學習!1 sharedpreferences儲存 儲存基本型別的數值,比如使用者名稱 密碼等等 路徑 data data 包名 shared prefs 自定義檔名.xml 根標籤為map,其他顯示方式...
mysql五大儲存引擎 mysql五大儲存引擎
mylsam mylsam表無法處理事務,這就意味著有事務處理需求的表,不能使用mylsam儲存引擎。innodb innodb是乙個健壯的事務型儲存引擎mysql5.6版本以後innodb就是作為預設的儲存引擎。innodb還引入了行級鎖定和鍵外約束。memory 使用mysql memory儲存...
mysql五大儲存引擎 mysql五大儲存引擎
mylsam mylsam表無法處理事務,這就意味著有事務處理需求的表,不能使用mylsam儲存引擎。innodb innodb是乙個健壯的事務型儲存引擎mysql5.6版本以後innodb就是作為預設的儲存引擎。innodb還引入了行級鎖定和鍵外約束。memory 使用mysql memory儲存...