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操作了
 
 

 

posted @ 2017-05-08 19:37  dp_luo  阅读(689)  评论(0)    收藏  举报