数据库的创建以及增删改查的操作(轮子)

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 findAll(){

SQLiteDatabase db = helper.getReadableDatabase();//获取一个可读的数据库

Listinfos = new ArrayList();

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;

}

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(安卓基础)