安卓开发-数据库dao层的简单CRUD

package com.wanggjie.weishi.db.dao;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

import com.wanggjie.weishi.bean.BlackNumberBean;
import com.wanggjie.weishi.conf.Containts;
import com.wanggjie.weishi.db.BlackNumberDb;

import java.util.ArrayList;
import java.util.List;

/**
 * @author 王杰
 * @time 2017/2/15  16:44
 * @desc 操作数据库的dao层,方便对数据库的CRUD
 */

public class BlackNumberDao {

    private BlackNumberDb mBlackNumberDb;

    public BlackNumberDao(Context context) {
         //得到数据库对象
        mBlackNumberDb = new BlackNumberDb(context);
    }

    /**
     * @param phone 要保存到数据库的电话
     * @param mode  要保存到数据库的模式
     * @return 如果是true, 就说明数据库添加数据成功, 否则反之
     */

    public boolean add(String phone, String mode) {
        SQLiteDatabase db = mBlackNumberDb.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put("phone", phone);
        values.put("mode", mode);
        long addResult = db.insert(Containts.DBNAME, null, values);
        db.close();
        if (addResult != -1) {
            return true;
        } else {
            return false;
        }
    }

     /**
     * @param phone 要删除的电话号码
     * @return 如果是true, 就说明数据库删除数据成功, 否则反之
     */

    public boolean delete(String phone) {
        SQLiteDatabase db = mBlackNumberDb.getWritableDatabase();
         /**
         *参数1 删除哪个表中的数据
         *参数2 删除的条件
         *参数3 删除条件的值
         */

        int deleteResult = db.delete(Containts.DBNAME, "phone=?", new String[]{phone});
        db.close();
        if (deleteResult > 0) {
            return true;
        } else {
            return false;
        }
    }

     /**
     * @param phone 要更新的电话号码
     * @param mode  要更新的拦截模式
     * @return 如果是true, 就说明数据库更新数据成功, 否则反之
     */

    public boolean udpate(String phone, String mode) {
        SQLiteDatabase db = mBlackNumberDb.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put(Containts.DB_MODE, mode);
        int updateResult = db.update(Containts.DBNAME, values, "phone=?", new String[]{phone});
        db.close();
        if (updateResult > 0) {
            return true;
        } else {
            return false;
        }
    }

     /**
     * 查询黑名单拦截单个号码
     * @param phone
     * @return
     */

    public String query(String phone) {
        String mode = null;
        SQLiteDatabase db = mBlackNumberDb.getWritableDatabase();
        Cursor cursor = db.query(Containts.DBNAME, new String[]{"mode"}, "phone=?", new String[]{phone}, null, null, "phone=? desc");
        while (cursor.moveToNext()) {
            mode = cursor.getString(0);
        }
        db.close();
        return mode;
    }


     /**
     * 查询所有黑名单拦截的号码
     *
     * @return
     */

    public List<BlackNumberBean> queryAll() {
        List<BlackNumberBean> resultDatas = new ArrayList<BlackNumberBean>();
        SQLiteDatabase db = mBlackNumberDb.getWritableDatabase();
        Cursor cursor = db.query(Containts.DBNAME, new String[]{"phone","mode"}, null, null, null, null, "_id desc");
        while (cursor.moveToNext()) {
            BlackNumberBean bean = new BlackNumberBean();
            bean.phone = cursor.getString(0);
            bean.mode = cursor.getString(1);
            resultDatas.add(bean);
        }
        db.close();
        return resultDatas;
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值