手机安全卫士学习3--黑名单的拦截

1创建一个数据库的帮助类,并重写其构造方法

package com.djf.mobilesafty.blacknumber.db;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.nfc.NfcAdapter.CreateBeamUrisCallback;

public class BlackNumberOpenDBhelper extends SQLiteOpenHelper {

    public BlackNumberOpenDBhelper(Context context, String name,
            CursorFactory factory, int version) {
        super(context, "blacknumber.db", null, 1);
        // TODO Auto-generated constructor stub
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
        db.execSQL("create table blacknumber (_id integer primary key autoincrement, number verchar(20),mode verchar(2))");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub

    }

}

2 创建数据库的增删改查方法

package com.djf.mobilesafty.blacknumber.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.djf.mobilesafty.blacknumber.db.BlackNumberOpenDBhelper;
import com.djf.mobilesafty.blacknumber.domin.NumberInfo;

public class BlackNumberDao {
    private BlackNumberOpenDBhelper helper;

    /**
     * 构造方法
     */
    public BlackNumberDao(Context context) {
        helper = new BlackNumberOpenDBhelper(context, "blacknumber.db", null, 1);
    }

    /***
     * 查询黑名单是否存在
     */
    public boolean findnumber(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;
    }
    /***
     * 查询所有黑名单
     */
    public List<NumberInfo> findall(){
        List<NumberInfo> info = new ArrayList<NumberInfo>();
        SQLiteDatabase db  =helper.getReadableDatabase();
        Cursor cursor =db.rawQuery("select number ,mode from blacknumber", null);
        while (cursor.moveToNext()) {
            NumberInfo numberInfo = new NumberInfo();
            String number = cursor.getString(0);
            String mode = cursor.getString(1);
            numberInfo.setNumber(number);
            numberInfo.setMode(mode);
            info.add(numberInfo);
        }
        cursor.close();
        db.close();
        return info;
    }

    /**
     * 增加黑名单
     * mode 1 短信拦截 2 电话拦截3 全部拦截
     */
    public void add(String number, String mode) {
        SQLiteDatabase db = helper.getWritableDatabase();
        ContentValues cv = new ContentValues();
        cv.put("number", number);
        cv.put("mode", mode);
        db.insert("blacknumber", null, cv);
        db.close();
    }
    /**
     * 增加黑名单
     * 修改拦截模式
     */
    public void update(String number, String mode) {
        SQLiteDatabase db = helper.getWritableDatabase();
        ContentValues cv = new ContentValues();

        cv.put("mode", mode);
        db.update("blacknumber", cv, "number=?", new String[]{number});
        db.close();
    }
    /**
     * 删除黑名单
     * 修改拦截模式
     */
    public void delete(String number) {
        SQLiteDatabase db = helper.getWritableDatabase();

        db.delete("blacknumber", "number=?", new String[]{number});

        db.close();
    }
}

3创建相关信息的业务类

package com.djf.mobilesafty.blacknumber.domin;

public class NumberInfo {
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 "numberinfor [number=" + number + ", mode=" + mode + "]";
}

}
时间: 2024-10-05 07:41:23

手机安全卫士学习3--黑名单的拦截的相关文章

手机安全卫士学习(2)

今天是安全卫士学习第二天,主要涉及以下内容: 1 安全卫士主页面的布局 其中涉及gridview的使用,包括布局文件的引用,以及自定义控件textview <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width=&qu

手机安全卫士——通讯卫士-黑名单的管理

CallSafeActivity .java public class CallSafeActivity extends Activity { private ListView list_view; private List<BlackNumberInfo> blackNumberInfos; private LinearLayout ll_pb; private BlackNumberDao dao; private CallSafeAdapter adapter; /** * 当前页面 *

手机安全卫士学习第一课 闪屏页面Splash

学习完了四大组件 然后按照黑马课程就是安全卫士了 四大组件学习之后感觉印象不是很深刻,所以趁着这个项目好好练习练习. 个人喜欢在注释中描述所以就只姐连着注释代码和注释一起贴上先! 首先是onCreate中 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.splash_layout); // 初始化控件

我的手机管家(5)骚扰拦截 布局界面

我的手机管家(5)骚扰拦截   布局界面: 添加黑名单, 拦截信息,和电话 主界面: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_

在安卓手机上学习C语言 - 安卓手机C/C++编译环境的搭建 : 程序世界的创建

   在安卓手机上学习C语言           安卓手机C/C++编译环境的搭建 : 程序世界的创建 在电脑上运行的QQ,手机上的QQ都是程序, 这些通电就能用的神奇玩意, 如果我说它们都是程序员用一个一个英文字母,数字,奇奇怪怪的符号创造出来的,我想那些没有任何概念的朋友可能会感到惊讶. 是的, 在没有揭开程序世界的神秘面纱之前, 一切都是那么神奇. 实际上, 程序确实是用一个一个英文字母(或者说拼音字母...)来写出来的, 就和写小说一样写出来的. 但是并不是写完之后把写出来的内容保存到一

山寨山寨版手机安全卫士项目

这个是模仿了一下常见的手机安全卫士的应用的源码的,基本是实现了常用的功能的了,不过有的还是不够完善,大家可以多多研究一下吧. 源码项目下载:http://code.662p.com/view/7227.html Screenshot_2014-05-11-03-44-01.png (287.72 KB, 下载次数: 0) Screenshot_2014-05-19-21-24-41.png (2.78 MB, 下载次数: 0) Screenshot_2014-05-19-21-38-01.png

手机安全卫士------自动更新的设置

由于手机安全卫士每次打开都要进行检查软件版本的工作,久而久之会浪费用户的流量.因此,我们要在设置页面中,由用户自己确认是否需要开启检查更新的操作. 效果图: 技术点: 1.自定义组合控件 2.SharedPreferences的读写操作 自定义组合控件 和之前自定义风格的原因一样,都是为了减少工作量.由于该组合控件会有很多地方要用到,因此,我们把它抽取出来,封装在一个类中,需要使用的时候直接调用即可.一劳永逸! 思路: 创建一个布局文件,包括两个TextView,一个CheckBox如效果图的形

山寨山寨版手机安全卫士源码项目

这个是模仿了一下常见的手机安全卫士的应用的源码的,基本是实现了常用的功能的了,不过有的还是不够完善,大家可以多多研究一下吧. 详细说明:http://android.662p.com/thread-5444-1-1.html Screenshot_2014-05-11-03-44-01.png (287.72 KB, 下载次数: 0) Screenshot_2014-05-19-21-24-41.png (2.78 MB, 下载次数: 0) Screenshot_2014-05-19-21-38

手机安全卫士03

手机安全卫士03 今天做的东西有点乱,之后再来整理 一.Splash界面 软件下载 Xutils 框架 (四大模块) – BitmapUtils – HttpUtils – DBUtils – ViewUtils 进度条展示 调用系统的安装器安装软件 1.升级apk : 检测包名一致 , 版本号大于当前的版本 , 签名要一致 二.Home 主页 搭建Home界面 GridView的使用 - 文本框字幕滚动 LogUtil 日志工具类 ## 三.自定义控件 好处: 自定义功能 TextView –