AndroidノートのSQLiteデータベース操作

3401 ワード

データベースの初期化
public class BlackListDb extends SQLiteOpenHelper {

    public BlackListDb(Context context) {
        super(context,"balcklist.db", null, 1);
    }

    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {
        sqLiteDatabase.execSQL("create table blacklist_tb(_id integer primary key autoincrement" +
                ",phone text,mode integer)");
    }
    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {

        sqLiteDatabase.execSQL("drop table blacklist_tb");
        onCreate(sqLiteDatabase);

    }
}

データベース・テーブルのカプセル化
public interface BlacklistTable {
    String PHONE="phone";
    String MODE="mode";
    String BLACKLIST_TB="blacklist_tb";
    int SMS=1<<0;//1      
    int TEL=1<<1;//2      
    int ALL=SMS|TEL;//        

}
public class BlacklistBean {
    String phone;

    public void setMode(int mode) {
        this.mode = mode;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    int mode;

    public String getPhone() {
        return phone;
    }

    public int getMode() {
        return mode;
    }
}
           
   
  


public class BlackListDao {
    private BlackListDb mBlackListDb;

    public  BlackListDao(Context context){
        this.mBlackListDb=new BlackListDb(context);
    }

    /**
     *         
     * @param phone
     * @param mode
     */
    public void add(String phone,int mode){
        SQLiteDatabase database=mBlackListDb.getWritableDatabase();
        ContentValues values=new ContentValues();
        values.put(BlacklistTable.PHONE,phone);
        values.put(BlacklistTable.MODE,mode);
        database.insert("blacklist_tb",null,values);
        //      
        database.close();
    }
    //            
    public void update(String phone,int mode){
        SQLiteDatabase database=mBlackListDb.getWritableDatabase();
        ContentValues values=new ContentValues();
        values.put(BlacklistTable.MODE,mode);
        database.update(BlacklistTable.BLACKLIST_TB,values,BlacklistTable.PHONE+"=?",new String[]{phone});
        database.close();
    }
    //         
    public void  delete(String phone){
        SQLiteDatabase database=mBlackListDb.getWritableDatabase();
        database.delete(BlacklistTable.BLACKLIST_TB,BlacklistTable.PHONE+"=?",new String[]{phone});
        database.close();
    }
    //       
    public List getAllDatas(){
        List datas=new ArrayList();
        SQLiteDatabase database = mBlackListDb.getReadableDatabase();
        //     
        Cursor cursor = database.rawQuery("select " + BlacklistTable.PHONE + "," + BlacklistTable.MODE + " from " + BlacklistTable.BLACKLIST_TB, null);
        //       bean 
        while (cursor.moveToNext()){
           BlacklistBean bean = new BlacklistBean();
            bean.setMode(cursor.getInt(1));
            bean.setPhone(cursor.getString(0));
            datas.add(bean);
        }
        cursor.close();//    
        database.close();//     
        return datas;

    }
}