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




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