標籤:java factory sqli 技術分享 context ext 嵌入 需要 mysql
在Android下用的資料庫是:sqlite,嵌入式 輕量級的
建立sqlite資料庫一般是去繼承SQLiteOpenHelper類。
官方文檔是這樣的:
由於是一個抽象類別就必須用一個類去繼承它,裡面有兩個抽象方法onCreate和onUpgrade必須去實現。
onCreate方法:是資料庫第一次建立的時候會調用(但建立了的話就不會調用),特別適合做表結構初始化,需要sql語句
onUpgrade方法:資料庫版本號碼發生改變時才會執行,特別適合做表結構的修改,在Android4.0之後版本只能增不能減,不然會出現異常
下面建立一個MySqliteOpenHelper類去繼承SQLiteOpenHelper類。
1 public class MySqliteOpenHelper extends SQLiteOpenHelper { 2 3 public MySqliteOpenHelper(Context context) { 4 //context:上下文 name:資料庫檔案的名稱 factory:用來建立cursor對象,預設null 5 //version:資料庫的版本號碼,從1開始,如果發生改變,onUpgrade方法會調用 6 super(context, "Starry.db", null, 2); 7 } 8 @Override 9 public void onCreate(SQLiteDatabase db) {10 11 db.execSQL("create table info (_id integer primary key autoincrement, name varchar(20))");12 }13 @Override14 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {15 db.execSQL("alter table info add phone varchar(11)");16 }17 18 }
View Code
在MainActivity.java執行個體化一個MySqliteOpenHelper,運行getReadableDatabase方法就可以初始化資料庫了。
1 MySqliteOpenHelper mySqliteOpenHelper = new MySqliteOpenHelper(mContext);2 mySqliteOpenHelper.getReadableDatabase();
View Code
Android下資料庫建立