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;
}
}
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;
}
}