Android关系型数据库应用——电话(短信)黑名单


1.打开数据库,创建数据表;

2.对数据进行crud(Create Read Update Delete);


1.打开数据库,创建数据表;

           1.SQLiteOpenHelper

           2.SQLiteDatabase

                          .execSQL("create table blacknumber (_id integer primary key autoincrement, number varchar(20))");

2.对数据进行crud(Create Read Update Delete);

           1.增:db.execSQL("insert into blacknumber (number) values(?)", new Object[]{number});

           2.删:db.execSQL("delete from blacknumber where number = ?", new Object[]{number});

           3.改:db.execSQL("update blacknumber set number = ? where number = ?", new Object[]{newnumber,oldnumber})

           4.查:Cursor cursor = db.rawQuery("select * from blacknumber where number =?", new String[]{number});

           5.查所有:Cursor cursor = db.rawQuery("select number from blacknumber", null);


1.打开数据库,创建数据表;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class BlackNumberDBOpenHelper extends SQLiteOpenHelper {

	public BlackNumberDBOpenHelper(Context context) {
		super(context, "blacknumber.db", null, 1);
		
	}

	/**
	 * 数据库第一次被创建的时候 调用oncreate()
	 * 初始化数据库表结构的操作
	 */
	@Override
	public void onCreate(SQLiteDatabase db) {
		db.execSQL("create table blacknumber (_id integer primary key autoincrement, number varchar(20))");
	}

	/**
	 * 数据库已经操作 并且 新的数据库的版本 大于 旧的数据库的版本
	 * 数据库的表结构信息的更新
	 */
	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
		
	}

}



2.对数据进行crud(Create Read Update Delete);

public class BlackNumberDao {
	BlackNumberDBOpenHelper helper ;

	public BlackNumberDao(Context context) {
		helper = new BlackNumberDBOpenHelper(context);
	}
	
	/**
	 * 添加一条黑名单号码
	 */
	public void add(String number){
		if(find(number)){
			return ;
		}
		SQLiteDatabase db  = helper.getWritableDatabase();
		if(db.isOpen()){
			db.execSQL("insert into blacknumber (number) values(?)", new Object[]{number});
			db.close();
		}
	}
	
	/**
	 * 删除一条黑名单的数据
	 */
	public void delete(String number){
		SQLiteDatabase db  = helper.getWritableDatabase();
		if(db.isOpen()){
			db.execSQL("delete from blacknumber where number = ?", new Object[]{number});
			db.close();
		}
	}

	/**
	 * 更改一条黑名单的号码
	 */
	public void update(String oldnumber,String newnumber){
		SQLiteDatabase db  = helper.getWritableDatabase();
		if(db.isOpen()){
			db.execSQL("update blacknumber set number = ? where number = ?", new Object[]{newnumber,oldnumber});
			db.close();
		}
	}

	/**
	 * 查询一条黑名单号码
	 */
	public boolean find(String number){
		boolean result =false;
		SQLiteDatabase db  = helper.getReadableDatabase();
		if(db.isOpen()){
			Cursor cursor = db.rawQuery("select * from blacknumber where number =?", new String[]{number});
			if(cursor.moveToFirst()){
				result = true;
			}
			cursor.close();
			db.close();
		}
		return result;
	}
	
	/**
	 * 查找全部黑名单号码
	 */
	public List<String> findAll(){
		List<String> numbers = new ArrayList<String>();
		SQLiteDatabase db  = helper.getReadableDatabase();
		if(db.isOpen()){
			Cursor cursor = db.rawQuery("select number from blacknumber", null);
			while (cursor.moveToNext()) {
				numbers.add( cursor.getString(0));
			}
			cursor.close();
			db.close();
		}
		return numbers;
	}
}




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章