Android_SQLite_升级框架
生活随笔
收集整理的這篇文章主要介紹了
Android_SQLite_升级框架
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本文參考自:這里-->https://thebhwgroup.com/blog/how-android-sqlite-onupgrade
直接上代碼:
public class Sqlhelper extends SQLiteOpenHelper {public SQLiteHelper(Context context) {super(context, DATABASE_NAME, null, DATABASE_VERSION);}//常量值private static final String DATABASE_NAME = "demoApp.db";//數據庫名字private static final int DATABASE_VERSION = 3;//每次App升級的時候,就要+1public static final String COLUMN_ID = "_id";//需要用到的表名和列名public static final String TABLE_TEAM = "team";public static final String COLUMN_MASCOT = "mascot";public static final String COLUMN_CITY = "city";public static final String COLUMN_COACH = "coach";public static final String COLUMN_STADIUM = "stadium";//數據庫SQL語句,創建表的語句private static final String DATABASE_CREATE_TEAM = "create table "+ TABLE_TEAM + "(" + COLUMN_ID + " integer primary key autoincrement, "+ COLUMN_NAME + " string, "+ COLUMN_MASCOT + " string, "+ COLUMN_COACH + " string, "+ COLUMN_STADIUM + " string, "+ COLUMN_CITY + " string);";//數據庫升級的時候,修改表的語句private static final String DATABASE_ALTER_TEAM_1 = "ALTER TABLE "+ TABLE_TEAM + " ADD COLUMN " + COLUMN_COACH + " string;";//數據庫升級的時候,修改表的語句private static final String DATABASE_ALTER_TEAM_2 = "ALTER TABLE "+ TABLE_TEAM + " ADD COLUMN " + COLUMN_STADIUM + " string;";@Overridepublic void onCreate(SQLiteDatabase db) {//初始化,會自動的打開或者創建數據庫db.execSQL(DATABASE_CREATE_TEAM);}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {//根據版本的大小來判斷是否需要執行某些語句,因為每次版本都是不一樣的//按照正常的話(也就是用戶每次升級都有升),是只需要執行一次就可以,但是用戶不是每一次都升級的app、//還有就是初次安裝不是從版本1開始安裝app的話。你懂的if (oldVersion < 2) {db.execSQL(DATABASE_ALTER_TEAM_1);}if (oldVersion < 3) {db.execSQL(DATABASE_ALTER_TEAM_2);}} }
代碼就是上面這些,很簡單,看看也就明白了。還有不明白的,就看原文吧,原文是英語,需要自己琢磨一下。
原文給出了幾個錯誤的例子,我覺得需要學習的小伙伴還是值得去看一下原文,看過了,下次自己也就不會這樣寫了。
?
轉載于:https://www.cnblogs.com/fwling/p/7454315.html
總結
以上是生活随笔為你收集整理的Android_SQLite_升级框架的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AGG第四课 局限性
- 下一篇: Android 系统镜像: boot.i