筆記如下
public class MySqliteHelper extends SQLiteOpenHelper {
public MySqliteHelper(Context context) {
// context :應(yīng)用上下文
// name : 數(shù)據(jù)庫(kù)的名稱
// factory : 創(chuàng)建游標(biāo)的工廠
// version : 數(shù)據(jù)庫(kù)的版本
super(context, "mydb1", null,1);
}
..............
// 在 數(shù)據(jù)庫(kù) 首次 被 創(chuàng)建時(shí) 會(huì)調(diào)用
@Override
public void onCreate(SQLiteDatabase db) {
}
// 在 數(shù)據(jù)庫(kù) 升級(jí)時(shí) 會(huì)調(diào)用 -- 當(dāng) 版本 比 之前的版本 高 的時(shí)候 就 會(huì)執(zhí)行這個(gè)方法
// 這里 可以 去 修改表的結(jié)構(gòu)
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
- MainActivity
MySqliteHelper helper = new MySqliteHelper(MainActivity.this);
// helper.getWritableDatabase();//才創(chuàng)建數(shù)據(jù)庫(kù)文件
helper.getReadableDatabase();
查詢操作
public Student find(String id){
SQLiteDatabase db = helper.getReadableDatabase();
// select * from users where id=?
//叫做 游標(biāo)
Cursor cursor = db.rawQuery("select * from students where _id=?", new String[]{id});
boolean result = cursor.moveToNext();
Student st = null;
if(result){
// st = new Student();
/*int _id = cursor.getInt(0);
String name = cursor.getString(1);
String sex = cursor.getString(2);
st.setId(id);
st.setName(name);
st.setSex(sex);*/
int _id = cursor.getInt(cursor.getColumnIndex("_id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
String sex = cursor.getString(cursor.getColumnIndex("sex"));
st = new Student(String.valueOf(_id),name,sex);
}
// 最后會(huì)釋放 資源
cursor.close();
return st;
}