黑名单拦截之SQLite的用法

黑名单拦截之SQLite的用法,第1张

概述1.安卓提供了SQLiteDatabase代表一个数据库,一单应用程序获得了代表数据库的SQLiteDATAbase对象,接下来就可以通过对象来管理 *** 作数据库 实例一: package com.xiaoxin.MobleSafe.dao;import android.content.Context;import android.database.DatabaseErrorHandler;i

1.安卓提供了sqliteDatabase代表一个数据库,一单应用程序获得了代表数据库的sqliteDATAbase对象,接下来就可以通过对象来管理 *** 作数据库

实例一:

package com.xiaoxin.MobleSafe.dao;import androID.content.Context;import androID.database.DatabaseErrorHandler;import androID.database.sqlite.sqliteDatabase;import androID.database.sqlite.sqliteDatabase.CursorFactory;import androID.database.sqlite.sqliteOpenHelper;public class BlackNumberDBOpenHelper extends sqliteOpenHelper{	/**	 * 数据库创建的构造方法 数据库名称 blacknumber.db	 * @param context	 */	public BlackNumberDBOpenHelper(Context context) {		super(context,"blacknumber.db",null,1);	}	//初始化数据库的表结构	@OverrIDe	public voID onCreate(sqliteDatabase db) {		db.execsql("create table blacknumber (_ID integer primary key autoincrement,number varchar(20),mode varchar(2))");	}	@OverrIDe	public voID onUpgrade(sqliteDatabase db,int oldVersion,int newVersion) {			}	}
可以看出单独创出一个类 将数据库和表结构实现出来

2.同时创建一个业务bean方法进行集合接受数据

package com.xiaoxin.mobilesafe.domain;/** * 黑名单号码的业务bean * @author administrator * */public class BlackNumberInfo {	private String number;	private String mode;	public String getNumber() {		return number;	}	public voID setNumber(String number) {		this.number = number;	}	public String getMode() {		return mode;	}	public voID setMode(String mode) {		this.mode = mode;	}	@OverrIDe	public String toString() {		return "BlackNumberInfo [number=" + number + ",mode=" + mode + "]";	}	}

业务bean中有号码 和拦截模式

3.进行SQL语句 *** 作sqlite数据库

package com.itheima.mobilesafe.db.dao;import java.util.ArrayList;import java.util.List;import androID.content.ContentValues;import androID.content.Context;import androID.database.Cursor;import androID.database.sqlite.sqliteDatabase;import com.itheima.mobilesafe.db.BlackNumberDBOpenHelper;import com.itheima.mobilesafe.domain.BlackNumberInfo;/** * 黑名单数据库的增删改查业务类 * @author administrator * */public class BlackNumberDao {	private BlackNumberDBOpenHelper helper;				/**				 * 构造方法				 * @param context 上下文				 */	public BlackNumberDao(Context context) {
<span >		</span>//将数据库传入		helper = new BlackNumberDBOpenHelper(context);	}	/**	 * 查询黑名单号码是是否存在	 * @param number	 * @return	 */	public boolean find(String number){		boolean result = false;		sqliteDatabase db = helper.getReadableDatabase();		Cursor cursor = db.rawquery("select * from blacknumber where number=?",new String[]{number});		if(cursor.movetoNext()){			result = true;		}		cursor.close();		db.close();		return result;	}	/**	 * 查询黑名单号码的拦截模式	 * @param number	 * @return 返回号码的拦截模式,不是黑名单号码返回null	 */	public String findMode(String number){		String result = null;		sqliteDatabase db = helper.getReadableDatabase();		Cursor cursor = db.rawquery("select mode from blacknumber where number=?",new String[]{number});		if(cursor.movetoNext()){			result = cursor.getString(0);		}		cursor.close();		db.close();		return result;	}	/**	 * 查询全部黑名单号码	 * @return	 */	public List<BlackNumberInfo> findAll(){		List<BlackNumberInfo> result = new ArrayList<BlackNumberInfo>();		sqliteDatabase db = helper.getReadableDatabase();		Cursor cursor = db.rawquery("select number,mode from blacknumber order by _ID desc",null);		while(cursor.movetoNext()){			BlackNumberInfo info = new BlackNumberInfo();			String number = cursor.getString(0);			String mode = cursor.getString(1);			info.setMode(mode);			info.setNumber(number);			result.add(info);		}		cursor.close();		db.close();		return result;	}			/**	 * 添加黑名单号码	 * @param number 黑名单号码	 * @param mode 拦截模式 1.电话拦截 2.短信拦截 3.全部拦截	 */	public voID add(String number,String mode){		sqliteDatabase db = helper.getWritableDatabase();		ContentValues values = new ContentValues();		values.put("number",number);		values.put("mode",mode);		db.insert("blacknumber",values);		db.close();	}	/**	 * 修改黑名单号码的拦截模式	 * @param number 要修改的黑名单号码	 * @param newmode 新的拦截模式	 */	public voID update(String number,String newmode){		sqliteDatabase db = helper.getWritableDatabase();		ContentValues values = new ContentValues();		values.put("mode",newmode);		db.update("blacknumber",values,"number=?",new String[]{number});		db.close();	}	/**	 * 删除黑名单号码	 * @param number 要删除的黑名单号码	 */	public voID delete(String number){		sqliteDatabase db = helper.getWritableDatabase();		db.delete("blacknumber",new String[]{number});		db.close();	}}
可以看出增删该查与JDBC是差不多的

读入

sqliteDatabase db = helper.getReadableDatabase();

写入

sqliteDatabase db = helper.getWritableDatabase();

总结

以上是内存溢出为你收集整理的黑名单拦截之SQLite的用法全部内容,希望文章能够帮你解决黑名单拦截之SQLite的用法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1172019.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存