笔记如下
public class MySqliteHelper extends SQLiteOpenHelper {
public MySqliteHelper(Context context) {
// context :应用上下文
// name : 数据库的名称
// factory : 创建游标的工厂
// version : 数据库的版本
super(context, "mydb1", null,1);
}
..............
// 在 数据库 首次 被 创建时 会调用
@Override
public void onCreate(SQLiteDatabase db) {
}
// 在 数据库 升级时 会调用 -- 当 版本 比 之前的版本 高 的时候 就 会执行这个方法
// 这里 可以 去 修改表的结构
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
- MainActivity
MySqliteHelper helper = new MySqliteHelper(MainActivity.this);
// helper.getWritableDatabase();//才创建数据库文件
helper.getReadableDatabase();
查询操作
public Student find(String id){
SQLiteDatabase db = helper.getReadableDatabase();
// select * from users where id=?
//叫做 游标
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);
}
// 最后会释放 资源
cursor.close();
return st;
}