先创建一个包xx.xx.xx.db
在包中创建库和表BlackNumberOpenHelper
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class BlackNumberOpenHelper extends SQLiteOpenHelper {
public BlackNumberOpenHelper(Context context) {
super(context, "blacknumber.db", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
//创建数据库中表的方法
db.execSQL("create table blacknumber " +
"(_id integer primary key autoincrement , phone varchar(20), mode varchar(5));");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
然后创建包xx.xx.xx.db.dao
在包里面创建文件处理表的增删改查
public class BlackNumberDao {
private BlackNumberOpenHelper blackNumberOpenHelper;
//BlackNumberDao单例模式
//1,私有化构造方法
private BlackNumberDao(Context context){
//创建数据库已经其表机构
blackNumberOpenHelper = new BlackNumberOpenHelper(context);
}
//2,声明一个当前类的对象
private static BlackNumberDao blackNumberDao = null;
//3,提供一个静态方法,如果当前类的对象为空,创建一个新的
public static BlackNumberDao getInstance(Context context){
if(blackNumberDao == null){
blackNumberDao = new BlackNumberDao(context);
}
return blackNumberDao;
}
/**增加一个条目
* @param phone 拦截的电话号码
* @param mode 拦截类型(1:短信 2:电话 3:拦截所有(短信+电话))
*/
public void insert(String phone,String mode){
//1,开启数据库,准备做写入操作
SQLiteDatabase db = blackNumberOpenHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("phone", phone);
values.put("mode", mode);
db.insert("blacknumber", null, values);
db.close();
}
/**从数据库中删除一条电话号码
* @param phone 删除电话号码
*/
public void delete(String phone){
SQLiteDatabase db = blackNumberOpenHelper.getWritableDatabase();
db.delete("blacknumber", "phone = ?", new String[]{phone});
db.close();
}
/**
* 根据电话号码去,更新拦截模式
* @param phone 更新拦截模式的电话号码
* @param mode 要更新为的模式(1:短信 2:电话 3:拦截所有(短信+电话)
*/
public void update(String phone,String mode){
SQLiteDatabase db = blackNumberOpenHelper.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put("mode", mode);
db.update("blacknumber", contentValues, "phone = ?", new String[]{phone});
db.close();
}
}