Android五大儲存方式之資料庫公升級篇

2021-07-24 08:58:43 字數 2633 閱讀 9100

前面我已經講解了資料庫的基本操作,如果還沒**的可以稍微看下:

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儲存...