因在之前我的工作中基本未涉及到SQLite數據庫的使用,倒是SharePreferences ,文件存儲,網絡存儲用的比較多,因此特地來補充關於SQLite數據庫方面的知識。
SQLite 是關係型數據庫,與我之前學javaEE時接觸的Orancle、MySql數據庫沒有太大區別,只是SQLite是輕量級的數據庫,而且一般給變量聲明類型和限定長度沒有作用,不過也有例外(當變量爲主鍵)。
在學習本例前,用到了2條SQLite語句:
1、創建數據庫表,並添加字段:
String sql = “CREATE TABLE person(personid integer primary key autoincrement, name varchar(20))”; // varchar(20) 沒有意義,是爲了符合標準語法。 2、往已存在數據庫表中添加字段:
String sql = “ALTER TABLE person add age integer”;
代碼1: SQLiteHelper.java
public class SQLiteHelper extends SQLiteOpenHelper{
public SQLiteHelper(Context context) {
super(context, "zhi.db", null, 2); // 第2個參數 數據庫的名字,第3個參數用默認的CusorFactory,第3個參數數據庫版本號
}
@Override
public void onCreate(SQLiteDatabase db) {
String sql = "CREATE TABLE person(personid integer primary key autoincrement, name varchar(20))";
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String sql = "ALTER TABLE person add age integer";
db.execSQL(sql);
}
}
代碼2:DBTest.java <不懂Android
studio單元測試流程點這裏>
public class DBTest extends AndroidTestCase{
public void test(){
SQLiteHelper sqLiteOpenHelper = new SQLiteHelper(this.getContext());
sqLiteOpenHelper.getWritableDatabase(); // 創建或更新數據庫,可以點該方法看具體實現
}
}
以下就是效果圖了:<不懂root過的手機訪問data/data目錄的點這裏>
注意:創建的數據庫位置在:data/data/你的包名下
下圖要改數據庫版本號纔會有哦!