My Phone管家(6)騷擾攔截 黑名單資料庫

來源:互聯網
上載者:User

標籤:

將添加的黑名單儲存到本機資料庫:

  建立一個黑名單資料庫, 將儲存number(電話號)和mode(模式)

  1 電話  2 簡訊  3 全部

 

資料庫建立:

package com.chb.myphonesave.dao;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;public class BlackNumberOpenHelper extends SQLiteOpenHelper{    public static final String dbName = "blacknumber.db";    public BlackNumberOpenHelper(Context context) {        super(context, dbName, null, 1);    }        @Override    public void onCreate(SQLiteDatabase db) {        String sql = "create table blacknumber(_id integer primary key autoincrement, " +                "number varchar(20), mode integer)";        db.execSQL(sql);    }    @Override    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {            }    }

資料庫管理:增刪改查

package com.chb.myphonesave.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.chb.myphonesave.entity.BlackNumberInfo;public class BlackNumberDao {    private BlackNumberOpenHelper  bnOpenHelper;    private static BlackNumberDao dbDao = null;    private BlackNumberDao(Context context) {        bnOpenHelper = new BlackNumberOpenHelper(context);    }    /**     * 擷取資料庫管理執行個體     */    public static BlackNumberDao getInstance(Context context) {        if(dbDao == null){            synchronized (BlackNumberDao.class) {                if(dbDao == null){                    dbDao = new BlackNumberDao(context);                }            }        }        return dbDao;    }    /**     * 向黑名單資料庫中添加資訊     * @param number     * @param mode     */    public void add(String number, int mode){        SQLiteDatabase db = bnOpenHelper.getWritableDatabase();        ContentValues values = new ContentValues();        values.put("number", number);        values.put("mode", mode);        db.insert(BlackNumberOpenHelper.dbName, null, values);        db.close();//關閉資料庫         }    /**     * 將制定號碼移除黑名單     * @param number     * @return     */    public int delete(String number){        SQLiteDatabase db = bnOpenHelper.getWritableDatabase();        int flag = 0;//影響的行數        db.delete(BlackNumberOpenHelper.dbName, " number = ? ", new String[] {number});        db.close();        return flag;    }    /**     *      * @param number     * @param mode     * @return     */    public int update(String number, int mode){        SQLiteDatabase db = bnOpenHelper.getWritableDatabase();        int flag = 0;//影響的行數        ContentValues values = new ContentValues();        values.put("mode", mode);        db.update(BlackNumberOpenHelper.dbName, values, " number = ? ", new String[] {number});        db.close();        return flag;    }    /**     * 查詢指定number的條數     * @param number     * @return     */    public int find(String number){        SQLiteDatabase db = bnOpenHelper.getReadableDatabase();        int flag = 0;//查詢的行數        Cursor cursor = db.query(BlackNumberOpenHelper.dbName, new String[] {"number", "mode"}, 
                       " number = ? ", new String[]{number}, null, null, null); flag = cursor.getCount(); db.close(); return flag; } /** * 擷取指定給number的mode * @param number * @return */ public int findMode(String number){ SQLiteDatabase db = bnOpenHelper.getReadableDatabase(); int flag = 0;//查詢的行數 Cursor cursor = db.query(BlackNumberOpenHelper.dbName, new String[] {"number", "mode"}, " number = ? ", new String[]{number}, null, null, null); if(cursor.getCount() > 0){ cursor.getInt(0); } db.close(); return flag; } /** * 查詢所有的黑名單資訊 * @return */ public List<BlackNumberInfo> findAll(){ SQLiteDatabase db = bnOpenHelper.getReadableDatabase(); List<BlackNumberInfo> list = new ArrayList<BlackNumberInfo>(); Cursor cursor = db.query(BlackNumberOpenHelper.dbName, new String[] {"number", "mode"}, null, null, null, null, null); while(cursor.moveToNext()){ String number = cursor.getString(cursor.getColumnIndex("number")); int mode = cursor.getInt(cursor.getColumnIndex("mode")); BlackNumberInfo info = new BlackNumberInfo(number, mode); list.add(info); } db.close(); return list; } /** * 查詢部分的黑名單資訊 * @return */ public List<BlackNumberInfo> findPart(int startIndex){ SQLiteDatabase db = bnOpenHelper.getReadableDatabase(); List<BlackNumberInfo> list = new ArrayList<BlackNumberInfo>(); Cursor cursor = db .rawQuery( "select number,mode from blacknumber order by _id desc limit ?,20", new String[] { startIndex + "" });// 按照id逆序排列 while(cursor.moveToNext()){ String number = cursor.getString(cursor.getColumnIndex("number")); int mode = cursor.getInt(cursor.getColumnIndex("mode")); BlackNumberInfo info = new BlackNumberInfo(number, mode); list.add(info); } db.close(); return list; } /** * 擷取資料總數 */ public int getTotalCount() { SQLiteDatabase db = bnOpenHelper.getWritableDatabase(); Cursor cursor = db.rawQuery("select count(*) from blacknumber", null); int total = 0; if (cursor.moveToFirst()) { total = cursor.getInt(0); } cursor.close(); db.close(); return total; } }

黑名單實體類:

package com.chb.myphonesave.entity;/** * 黑名單資訊實體類 */public  class BlackNumberInfo {    public String number;    public int mode;    public BlackNumberInfo(String number, int mode) {        this.number = number;        this.mode = mode;    }}

 

My Phone管家(6)騷擾攔截 黑名單資料庫

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.