android中创建数据库已经数据库的操作代码的封装

来源:互联网 发布:华为it产品线云计算 编辑:程序博客网 时间:2024/06/04 00:32

1.创建类( MyDBHelper ),这个类必须继承 SQLiteOpenHelper类。

 public MyDBHelper (Context context) {        super(context, "blackNumber.db", null, 1);                    }    /**     * 第一次创建数据库的时候执行的方法     */    @Override    public void onCreate(SQLiteDatabase db) {        db.execSQL("create table blackNumber (_id integer primary key            autoincrement ,number varchar(20))");    }    /**     * 更新数据库的操作     */    @Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {        }

2.创建(MyDBHelperDao)实现数据库操作的相关方法。

private Context context;private BlackNumberDBHelper dbHelper;public BlackNumberDao(Context context) {    this.context = context;    dbHelper = new BlackNumberDBHelper(context);}/** * 查询 * @param number  电话号码 * @return        是否存在记录 */public boolean find(String number){    boolean flag = false;        SQLiteDatabase db = dbHelper.getReadableDatabase();    if(db.isOpen()){        Cursor cursor = db.rawQuery("select * from blackNumber where number = ?", new String[]{number});                if(cursor.moveToNext()){            flag = true;        }        cursor.close();        db.close();    }    return flag;}/** * 添加号码到黑名单数据库 * @param number    电话号码 */public void insert(String number){    /**     * 保证一个号码只被添加一次     */    if(find(number)){        return;    }        SQLiteDatabase db = dbHelper.getWritableDatabase();    if(db.isOpen()){        db.execSQL("insert into blackNumber(number) values(?)", new Object[]{number});        db.close();    }}/** * 删除黑名单 * @param number   电话号码 */public void delete(String number){    if(!find(number)){        return;    }    SQLiteDatabase db = dbHelper.getWritableDatabase();    if(db.isOpen()){        db.execSQL("delete from blackNumber where number = ?", new Object[]{number});        db.close();    }}/** * 更新黑名单 * @param number   电话号码 */public void update(String oldNumber,String newNumber){    if(!find(oldNumber)){        return;    }    SQLiteDatabase db = dbHelper.getWritableDatabase();    if(db.isOpen()){        db.execSQL("update blackNumber set number = ? where number=?", new Object[]{newNumber,oldNumber});        db.close();    }}/** * 查询全部黑名单 * @return   包含黑名单的List集合 */public List<String> getAllNumbers(){    List<String> numbers = new ArrayList<String>();    SQLiteDatabase db = dbHelper.getWritableDatabase();    if(db.isOpen()){        Cursor cursor = db.rawQuery("select number from blackNumber", null);        while(cursor.moveToNext()){            String number = cursor.getString(0);            numbers.add(number);        }        cursor.close();        db.close();    }    return numbers;}

3.在Activity中调用相关操作数据库的方法。

原创粉丝点击