android创建数据库和表

先创建一个包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();
	}
	
}

猜你喜欢

转载自blog.csdn.net/fuyinghaha/article/details/89395162