Android 中的升級資料庫最佳方法實踐
package com.activitytest.databasetest;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class MyDatabaseHelper extends SQLiteOpenHelper {
//把建立資料庫表語句等同於字串變數的值,宣告為static使得其隨著類的載入而存在,隨著類的消失而消失,
//在類第一次被使用時裝載 ,只分配一塊儲存空間,所有此類的物件都可以操控此塊不變的儲存空間
public final static String CREATE_BOOK = "create table Book("+
"id integer primary key autoincrement,"+
"author text,"+
"price real,"+
"pages integer,"+
"name text" +
"category_id integer)";
public final static String CREATE_CATEGORY = "create table Category("
+"id integer primary key autoincrement,"
+"category_name text,"
+"category_code integer)";
private Context context;
//第二個引數為資料庫名字(.db),第三個引數一般傳入null,第四個引數是當前資料庫的版本號
public MyDatabaseHelper(Context mcontext, String name, SQLiteDatabase.CursorFactory cursorFactory, int version){
super(mcontext,name,cursorFactory,version);
context = mcontext;
}
//當呼叫SQLiteOpenHelper的getWritableDatabase()或者getReadableDatabase()方法獲取用於運算元據庫的SQLiteDatabase例項的時候,
// 如果資料庫不存在,Android系統會自動生成一個資料庫,接著呼叫onCreate()方法,onCreate()方法在初次生成資料庫時才會被呼叫,
// 在onCreate()方法裡可以生成資料庫表結構及新增一些應用使用到的初始化資料。
@Override
public void onCreate(SQLiteDatabase db) {
//如果是第一次安裝(或者刪除之後安裝)
db.execSQL(CREATE_BOOK);
db.execSQL(CREATE_CATEGORY);
}
//onUpgrade()方法在資料庫的版本發生變化時會被呼叫,一般在軟體升級時才需改變版本號.
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
switch(oldVersion){
case 1://如果是1-->3,就會執行以下兩個case語句,這就是不加break的好處
db.execSQL(CREATE_CATEGORY);
case 2: //如果是2-->3
db.execSQL("alter table Book add column category_id integer");
default:
}
}
}
相關文章
- Android升級資料庫的最佳寫法Android資料庫
- MySQL 升級的最佳實踐MySql
- 企業級雲資料庫最佳實踐資料庫
- 最佳實踐:騰訊HTAP資料庫TBase助力某省核心IT架構升級資料庫架構
- 最佳實踐 | 原始碼升級gcc原始碼GC
- 資料庫優化的最佳實踐資料庫優化
- rac 升級crs 升級資料庫軟體,升級資料庫資料庫
- Android版本升級同時Sqlite資料庫的升級及之前資料的保留AndroidSQLite資料庫
- PHP最佳實踐之資料庫PHP資料庫
- android資料庫如何進行版本升級?架構之資料庫框架升級Android資料庫架構框架
- MSSQL·最佳實踐·例項級別資料庫上雲RDSSQLServerSQL資料庫Server
- 微服務的【資料庫管理】最佳實踐微服務資料庫
- MySQL資料庫優化的最佳實踐MySql資料庫優化
- AWS RDS強制升級的應對之道——版本升級的最佳實踐
- 資料庫設計中的6個最佳實踐步驟資料庫
- Android ORM 框架:GreenDao 資料庫升級AndroidORM框架資料庫
- 資料庫安全最佳實踐:基本指南資料庫
- 資料庫升級資料庫
- ♀♀資料庫升級♀♀資料庫
- 阿里雲Polardb國產資料庫補丁升級 實踐阿里資料庫
- 資料庫設計的十個最佳實踐資料庫
- 20個資料庫設計的最佳實踐資料庫
- Oracle資料庫升級或資料遷移的方法探討Oracle資料庫
- Android資料庫Sqlite的基本用法及升級策略Android資料庫SQLite
- 動手為王 | Oracle 資料庫跨版本升級遷移實踐Oracle資料庫
- 分散式資料庫企業級功能技術解密與最佳實踐分散式資料庫解密
- Oracle 資料庫升級Oracle資料庫
- ZT 升級和移植Oracle資料庫方法若干Oracle資料庫
- 收集最佳化統計資料(Optimizer Statistics)的最佳實踐方法
- Android 資料庫綜述(一) 資料庫片的升級與資料的遷移操作Android資料庫
- Android資料庫升級不丟失資料解決方案Android資料庫
- 資料庫升級之-Dataguard滾動升級資料庫
- 資料庫升級之-資料泵資料庫
- Oracle收集優化統計資料的最佳實踐方法Oracle優化
- 雲時代的資料庫客戶端 —— CloudQuery最佳實踐資料庫客戶端Cloud
- cassandra百億級資料庫遷移實踐資料庫
- 資料庫升級和工具資料庫
- 資料庫升級之-XTTS資料庫TTS