android数据库使用基本步骤
步骤:
写一个类继承SQLiteOpenHelper
构造中传入参数
public StudentDB(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}
onCreate方法中创建数据库
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table students (_id integer primary key autoincrement,name varchar(30),sex varchar(30))");
}
private StudentDB studentDB;
public StudentDBDAO(Context context) {
studentDB = new StudentDB(context,"students0507",null,1);
}
创建一个类持有StudentDB的引用,即可用它获得数据库操作对象通过方法:getWritableDatabase();
对应的写出增删改查方法
public void add(Student st)
{
SQLiteDatabase db = studentDB.getWritableDatabase();
db.execSQL("insert into students values(null,?,?)",new Object[]{st.getName(),st.getSex()});
}
public void delete(String id)
{
SQLiteDatabase db = studentDB.getWritableDatabase();
db.execSQL("delete from students where _id=?",new Object[]{id});
}
public void update(Student st)
{
SQLiteDatabase db = studentDB.getWritableDatabase();
db.execSQL("update students set name=?,sex=? where _id=?",new Object[]{st.getName(),st.getSex(),st.getId()});
}
public Student find(String id)
{
SQLiteDatabase db = studentDB.getReadableDatabase();
Cursor cursor = db.rawQuery("select * from students where _id=?", new String[]{id});
Student st = new Student();
while (cursor.moveToNext())
{
String name = cursor.getString(cursor.getColumnIndex("name"));
String sex = cursor.getString(cursor.getColumnIndex("sex"));
System.out.println("name:"+name+" sex:"+sex);
st.setId(id);
st.setName(name);
st.setSex(sex);
}
cursor.close();
return st;
}
然后就可以用DAO进行CRUD操作了
浙公网安备 33010602011771号