1:数据库的创建db
packagecom.achilles.mobilesafe.db;
importandroid.content.Context;
importandroid.database.DatabaseErrorHandler;
importandroid.database.sqlite.SQLiteDatabase;
importandroid.database.sqlite.SQLiteOpenHelper;
importandroid.database.sqlite.SQLiteDatabase.CursorFactory;
public classBlackNumberDBOpenHelper extends SQLiteOpenHelper {
publicBlackNumberDBOpenHelper(Context context) {
super(context,"itheima.db", null, 1);
}
@Override
publicvoid onCreate(SQLiteDatabase db) {
db.execSQL("createtable blacknumber (_id integer primary key autoincrement, phone varchar(20),mode varchar(2))");
}
@Override
publicvoid onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
2:数据库的增删改查
packagecom.achilles.mobilesafe.db.dao;
importjava.util.ArrayList;
importjava.util.List;
importcom.achilles.mobilesafe.db.BlackNumberDBOpenHelper;
importcom.achilles.mobilesafe.domain.BlackNumberInfo;
importandroid.content.ContentValues;
importandroid.content.Context;
importandroid.database.Cursor;
importandroid.database.CursorJoiner.Result;
importandroid.database.sqlite.SQLiteDatabase;
/**
* 黑名单数据库的增删改查
*/
public classBlackNumberDao {
/**
*在构造方法里初始化helper对象
*/
privateBlackNumberDBOpenHelper helper;
publicBlackNumberDao(Context context) {
helper= new BlackNumberDBOpenHelper(context);
}
// 添加黑名单,数据库,获取值,结果,判断值,关闭,注意这个是boolean类型
publicboolean add(String phone, String mode) {
SQLiteDatabasedb = helper.getWritableDatabase();
ContentValuesvalues = new ContentValues();
values.put("phone",phone);
values.put("mode",mode);
longresult = db.insert("blacknumber", null, values);
db.close();
if(result != -1) {
returntrue;
}else {
returnfalse;
}
}
/**
* 创建数据库,得到结果,关闭数据库,判断
*
* @param phone
* @return
*/
publicboolean delete(String phone) {
SQLiteDatabasedb = helper.getWritableDatabase();
intresult = db
.delete("blacknumber","phone=?", new String[] { phone });
db.close();
if(result > 0) {
returntrue;
}else {
returnfalse;
}
}
/**
*修改黑名单号码的拦截模式 创建数据库,创建储存池,放入数据,得到结果,进行判断
*
* @param newMode
*/
publicboolean updateMode(String newMode) {
SQLiteDatabasedb = helper.getWritableDatabase();
ContentValuesvalues = new ContentValues();
values.put("mode",newMode);
intresult = db.update("blacknumber", values, "phone=?",
newString[] { "phone" });
if(result > 0) {
returntrue;
}else {
returnfalse;
}
}
/**
*查询某个号码的拦截模式,如果返回的是null就表明不是黑名单里面的咯 先初始化mode,创建数据库,游标查询,判断,关闭游标,关闭数据库
* @param phone
*/
publicString find(String phone) {
Stringmode = null;
SQLiteDatabasedb = helper.getReadableDatabase();
Cursorcursor = db.query("blacknumber", new String[] { "mode" },
"phone=?",new String[] { phone }, null, null, null);
if(cursor.moveToNext()) {
mode = cursor.getString(0);//这个得到的是什么
}
cursor.close();
db.close();
returnmode;
}
publicList
SQLiteDatabase db = helper.getReadableDatabase();//获取一个可读的数据库
List
Cursorcursor = db.query("blacknumber", newString[]{"_id","phone","mode"}, null, null, null,null, null);
while(cursor.moveToNext()) {
Stringid = cursor.getString(0);
Stringphone = cursor.getString(1);
Stringmode = cursor.getString(2);
BlackNumberInfoinfo = new BlackNumberInfo();
info.setId(id);
info.setPhone(phone);
info.setMode(mode);
infos.add(info);
}
cursor.close();
db.close();
returnnull;
}
}