- Android項目實戰(zhàn):手機安全衛(wèi)士
- 傳智播客高教產(chǎn)品研發(fā)部編著
- 1075字
- 2020-06-18 17:58:55
3.1 模塊概述
3.1.1 功能介紹
通訊衛(wèi)士模塊的主要功能是進行黑名單攔截,對添加到黑名單中的號碼進行電話攔截或短信攔截。在添加黑名單時有兩種方式,一種是直接在編輯框中輸入電話號碼以及聯(lián)系人姓名,另一種是從聯(lián)系人列表中選擇。接下來分別針對這兩種方式進行講解。
1.手動添加
當(dāng)沒有添加黑名單時,會展示通訊衛(wèi)士主界面,此時點擊“添加黑名單”按鈕,會進入添加黑名單界面,該界面中可以直接輸入聯(lián)系人號碼和姓名,選中電話攔截、短信攔截的復(fù)選框,然后點擊“添加”按鈕,此時會將該號碼添加到黑名單數(shù)據(jù)庫中,并將黑名單信息展示到通信衛(wèi)士主界面中,如圖3-1所示。

圖3-1 手動輸入黑名單信息
2.從列表選擇
在添加黑名單界面中,點擊“從聯(lián)系人中添加”按鈕時,會跳轉(zhuǎn)到聯(lián)系人列表界面,點擊其中的任意一個聯(lián)系人,此時該聯(lián)系人的電話號碼和姓名會顯示在添加黑名單界面的編輯框中,點擊下方的“添加”按鈕,可將該號碼添加到黑名單中,并在主界面中展示,如圖3-2所示。

圖3-2 從聯(lián)系人列表添加黑名單
3.1.2 開發(fā)流程圖
通訊衛(wèi)士模塊的開發(fā)流程有些復(fù)雜,為了讓大家更好地理解該模塊的邏輯,接下來繪制一個流程圖,具體如圖3-3所示。

圖3-3 通訊衛(wèi)士模塊流程圖
從圖3-3可以看出,當(dāng)進入通訊衛(wèi)士界面時,首先會判斷是否有黑名單,如果有則在主界面中顯示黑名單列表,否則顯示“您還沒有添加黑名單”。添加黑名單有兩種方式:一種是直接添加;另一種是從聯(lián)系人列表中選擇,然后指定電話攔截或者短信攔截后添加黑名單,此時黑名單信息就會展示在主界面中。
3.1.3 代碼結(jié)構(gòu)
通訊衛(wèi)士模塊代碼量較大,主要邏輯包括兩套主界面布局的動態(tài)切換、選擇聯(lián)系人、黑名單數(shù)據(jù)庫的增刪查、ListView的分頁查詢等,通過一個圖例來展示通訊衛(wèi)士模塊的代碼結(jié)構(gòu),如圖3-4所示。

圖3-4 chapter03代碼結(jié)構(gòu)
下面按照結(jié)構(gòu)順序依次介紹chapter03包中的文件,具體如下:
●BlackContactAdapter.java:用于填充黑名單的數(shù)據(jù)適配器;
●ContactAdapter.java:用于填充手機聯(lián)系人信息的數(shù)據(jù)適配器;
●BlackNumberDao.java:用于對黑名單中的數(shù)據(jù)進行增、刪、查等操作;
●BlackNumberOpenHelper.java:用于創(chuàng)建黑名單數(shù)據(jù)庫,繼承自SQLiteOpenHelper;
●BlackContactInfo.java:用于存儲黑名單信息的實體類,包括phoneNumber、contactName字段以及攔截模式;
●ContactInfo.java:聯(lián)系人信息的實體類,包括id、name、phone字段;
●InterceptCallReceiver.java:攔截電話的廣播接收者;
●InterceptSmsReceiver.java:攔截短信的廣播接收者;
●TestBlackNumberDao.java:操作黑名單數(shù)據(jù)的測試類;
●ContactInfoParser.java:聯(lián)系人信息的解析器,用于從系統(tǒng)通訊錄中讀取聯(lián)系人信息;
●AddBlackNumberActivity.java:添加黑名單界面;
●ContactSelectActivity.java:顯示系統(tǒng)聯(lián)系人界面;
●SecurityPhoneActivity.java:顯示黑名單信息界面。
需要注意的是,通訊衛(wèi)士模塊中的電話攔截功能涉及進程間通信,因此在第3章中引入了兩個AIDL文件: ITelephony.aidl和NeighboringCellInfo.aidl,這兩個文件分別位于android.telephony包和com.android.internal.telephony包中。在開發(fā)電話攔截功能時,需要創(chuàng)建這兩個包將AIDL文件復(fù)制到工程中。
- 大學(xué)生進階職場一本通(第2版)
- 靜電探測原理及應(yīng)用
- 心理健康教育
- 2020年陜西省公安招警考試《公安專業(yè)科目》題庫【真題精選+章節(jié)題庫+模擬試題】
- 2020年湖南公務(wù)員錄用考試專項教材數(shù)量關(guān)系【考點精講+典型題(含歷年真題)詳解】
- 安全行為學(xué)
- InDesign CS6核心應(yīng)用案例教程(全彩慕課版)
- 長三角一體化與上海國際航運中心建設(shè)
- 湘潭大學(xué)外國語學(xué)院211翻譯碩士英語[專業(yè)碩士]歷年考研真題及詳解
- 思想道德修養(yǎng)與法律基礎(chǔ)“5G”體驗式教程
- 高分子材料加工原理(第3版)
- 計算機系統(tǒng)導(dǎo)論習(xí)題解答與教學(xué)指導(dǎo)
- 軟件工程
- 新財經(jīng)學(xué)術(shù)論文寫作
- 市場營銷學(xué):理論、方法及應(yīng)用