Android平臺應(yīng)用軟件開發(fā)課件:項目實戰(zhàn)-短信提醒_第1頁
Android平臺應(yīng)用軟件開發(fā)課件:項目實戰(zhàn)-短信提醒_第2頁
Android平臺應(yīng)用軟件開發(fā)課件:項目實戰(zhàn)-短信提醒_第3頁
Android平臺應(yīng)用軟件開發(fā)課件:項目實戰(zhàn)-短信提醒_第4頁
Android平臺應(yīng)用軟件開發(fā)課件:項目實戰(zhàn)-短信提醒_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

項目實戰(zhàn)—短信提醒11.1本章導(dǎo)讀11.2制定計劃11.3需求分析11.4軟件設(shè)計11.5程序編碼11.6軟件測試11.7運行與維護

11.1本章導(dǎo)讀

在以前的章中,我們通過很多單個小項目,一層一層地深入了解安卓應(yīng)用的開發(fā)。但是真正交給用戶使用的手機軟件,不會是一個個的小功能,我們需要根據(jù)項目的需求,將眾多的小功能組合在一起,最終體現(xiàn)在用戶的終端上。

在本章中,我們將通過一個短信提醒軟件來實現(xiàn)小模塊,小功能的組合。而且短信提醒軟件,四大組件都可以運用到,也是一個很好的復(fù)習項目。

接下來,我們將結(jié)合軟件生命周期開發(fā)的順序,來完成這一項目。

11.2制定計劃

從用戶的角度去考慮,去發(fā)現(xiàn)現(xiàn)在的短信軟件中所缺失的功能。不難發(fā)現(xiàn),短信軟件實現(xiàn)的功能基本上只有收發(fā)短信。在收到短信的時候發(fā)出一個提醒,告訴用戶來短信了,發(fā)出短信的時候也可以提醒用戶的短信是否發(fā)送成功?,F(xiàn)在重點來了,當收到短信提醒時,不論該短信是廣告,還是通知,亦或是聯(lián)系人發(fā)來的短信,它們都是同樣的提醒方式。

根據(jù)我們對軟件需求的調(diào)查,調(diào)查結(jié)果如下:

安卓手機中短信功能擁有率:100%。

安卓用戶中開通短信功能的比率:99.99%。

安卓短信提醒軟件占短信類軟件的比重:0.001。

用戶收到的垃圾短信占比:30%。

通過以上調(diào)查不難發(fā)現(xiàn),短信應(yīng)用的普及率是非常高的,而短信提醒類的軟件則少之又少,說明本次的計劃是可行的。

制定開發(fā)目標:短信提醒軟件。

11.3需求分析

需求分析是在確定軟件開發(fā)可行的情況下,對軟件需要實現(xiàn)的各個功能進行詳細分析。需求分析階段是一個很重要的階段,這一階段做得好,將為整個軟件開發(fā)項目的成功打下良好的基礎(chǔ)。

功能需求如下:

(1)現(xiàn)在的詐騙、廣告短信很多,很是讓人煩惱。

(2)既然可以過濾短信,是不是也可以進行一些特殊短信的提醒?如銀行卡余額變動,孩子的狀態(tài)等等。

(3)通過關(guān)鍵詞進行短信的過濾與特殊提醒,范圍很廣。

(4)在聯(lián)系人號碼過濾的時候,我們也需要進行考慮,如果特別關(guān)心的號碼會定期發(fā)送一些無意義,固定內(nèi)容的短信,是否也應(yīng)該給用戶過濾的選擇權(quán)?

(5)如果用戶在工作,并且關(guān)注了公司群發(fā)的短信,那么工作中就能及時獲取工作的最新通知。

(6)選擇過濾的短信是否應(yīng)該直接刪除呢?我們應(yīng)該將選擇的權(quán)利交給用戶。

(7)用戶可能會設(shè)置多個特殊提醒的號碼,怎么樣才能在收到短信的時候判斷這個短信的重要程度呢?我們可以讓用戶給每一個號碼設(shè)置一個不同的鈴聲,聽到鈴聲的時候,不用看就知道這個短信的重要級別,是要馬上看還是可以等會再看。

(8)在提醒短信的時候,我們應(yīng)該讓用戶選擇提醒的方式,是僅僅鈴聲提醒,還是通知欄消息提醒,又或者是兩者都要。

(9)某些重要的短信我們要確保用戶一定能看到,需要多次提醒或者持續(xù)提醒直到用戶看到為止,因此可再增加重要提醒的功能。

(10)用戶可能會有一些涉及到隱私的短信,不希望被其他人不小心發(fā)現(xiàn)。我們可以考慮為用戶增加一個私密模塊。

(11)有時候收到一些特殊的短信,如私密模塊的短信,這些短信不能選擇普通的提醒方式。

短信關(guān)鍵字提醒,短信關(guān)鍵字過濾,短信號碼提醒和字詞提醒的結(jié)合,按時間段提醒過濾,過濾短信存儲箱,短信自定義提醒鈴聲,重要短信提醒,私密短信模塊,接收短信自動偽裝。

軟件主界面的流程圖如圖11-1所示,各功能模塊的流程圖如圖11-2~11-6所示。圖11-1程序的主界面圖11-2關(guān)鍵字詞提醒圖11-3關(guān)鍵字詞提醒圖11-4私密模塊圖11-5查看短信圖11-6關(guān)于軟件

11.4軟件設(shè)計

在設(shè)計數(shù)據(jù)庫的時候,需要在數(shù)據(jù)讀取的速度和數(shù)據(jù)占用的空間中取一個平衡值。如果數(shù)據(jù)庫的字段設(shè)計冗余,無疑會提升查找的速度,但是空間占用可能會非常恐怖。如果盡可能地減少數(shù)據(jù)的冗余程度,雖然會使數(shù)據(jù)占用的空間大大減小,但是多表查詢可能會影響到查詢的速度。

E-R方法是“實體-聯(lián)系方法”(Entity-RelationshipApproach)的簡稱。它是描述現(xiàn)實世界概念結(jié)構(gòu)模型的有效方法,是表示概念模型的一種方式,用矩形表示實體型,矩形框內(nèi)寫明實體名;用橢圓表示實體的屬性,并用無向邊將其與相應(yīng)的實體型連接起來;用菱形表示實體型之間的聯(lián)系,在菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實體型連接起來,同時在無向邊旁標注聯(lián)系的類型(1∶1,1∶n或m∶n)。

在E-R圖中有如下四個成分:

矩形框:表示實體,在框中記入實體名。

菱形框:表示聯(lián)系,在框中記入聯(lián)系名。

橢圓形框:表示實體或聯(lián)系的屬性,將屬性名記入框中。

連線:實體與屬性之間;實體與聯(lián)系之間;聯(lián)系與屬性之間用直線相連,并在直線上標注聯(lián)系的類型。

使用E-R方法分析得到提醒號碼的實體屬性,如圖11-7所示。圖11-7提醒號碼屬性

字詞過濾提醒的實體屬性如圖11-8所示。圖11-8過濾字詞提醒屬性

鈴聲的屬性如圖11-9所示。圖11-9鈴聲的屬性

偽裝提醒號碼的屬性如圖11-10所示。圖11-10偽裝提醒號碼屬性圖11-11接收的短信的屬性

重要提醒的屬性如圖11-12所示。圖11-12重要提醒的屬性

私密模塊安全碼的屬性如圖11-13所示。圖11-13私密模塊安全碼的屬性

各個模塊間的對應(yīng)關(guān)系如圖11-14所示。圖11-14模塊間對應(yīng)關(guān)系圖

通過E-R圖,創(chuàng)建以下數(shù)據(jù)表,如表11-1~11-7所示。

表11-1~11-7就是程序用到的數(shù)據(jù)表,這些表僅僅是為了實現(xiàn)程序的功能而制定的。如果程序設(shè)置的比較嚴格,還應(yīng)該為每張表留一些備用字段,當字段不夠用的時候可以使用備用字段。

這也是需要考慮的一些地方。我們不是用戶,不知道用戶會以怎么樣的方式去使用軟件,所以要盡可能地減少出現(xiàn)Bug的幾率,而且現(xiàn)在指定了部分設(shè)計需求,但是我們不知道后期的需求是否會發(fā)生更改。為了后期的維護,在這里也需要做一些預(yù)留。如安全碼表,現(xiàn)在的需求是啟動該模塊時所使用的安全碼,完全不用將其放入數(shù)據(jù)庫,放在sharepreferences之中是更好的選擇。但是猜想以后可能會有一個號碼對應(yīng)一個安全碼的情況,因此,為了以后維護起來更加方便,此處將其放在數(shù)據(jù)庫中進行存儲,并將以后可能會用到的字段進行預(yù)設(shè)。

11.5程序編碼

1.數(shù)據(jù)庫相關(guān)類的創(chuàng)建首先創(chuàng)建一個包,名為com.sms.special.ramind.db,這個包用來存儲數(shù)據(jù)的操作類。再創(chuàng)建一個包,名為com.sms.special.ramind.domain,這個包里面主要存儲數(shù)據(jù)的實體。每張表對應(yīng)一個實體類,實體中的對象名對應(yīng)數(shù)據(jù)庫的對象名,數(shù)據(jù)類型也與數(shù)據(jù)庫中的類型相對應(yīng)。

2.程序啟動界面和主界面的設(shè)置

有了數(shù)據(jù)庫、數(shù)據(jù)庫對應(yīng)的實體類和數(shù)據(jù)庫基本的操作方法以后,現(xiàn)在開始設(shè)計程序的啟動界面BootActivity。BootActivity界面的主要功能是讀取數(shù)據(jù),xml布局文件中僅有一個環(huán)形進度條,讀取完畢以后直接進入主界面將其加載到主界面中。

BootActivity界面數(shù)據(jù)獲取完成以后,就應(yīng)該進入程序的主界面了,主界面如圖11-15所示。圖11-15程序的主界面

3.關(guān)鍵字提醒管理

關(guān)鍵字提醒管理主要設(shè)置關(guān)鍵字詞的過濾和提醒,界面中可以進行數(shù)據(jù)的添加和刪除操作。界面的最下方為已經(jīng)添加的關(guān)鍵字,可以通過上下文菜單進行刪除和修改等操作。該界面為WordFilterActivity,界面如圖11-16所示。圖11-16關(guān)鍵字提醒界面

4.關(guān)鍵號碼提醒管理

關(guān)鍵號碼提醒管理主要設(shè)置用戶要提醒的號碼,在這里需要進行考慮的是,電話號碼比較長,讓用戶手動輸入可能會輸入錯誤,作為用戶,直接選擇通訊錄里面的號碼會更加方便。所以,電話號碼應(yīng)該可以選擇通訊錄中的電話號碼。

關(guān)鍵號碼提醒的界面如圖11-17所示。圖11-17關(guān)鍵號碼提醒的主界面

5.隱私短信設(shè)置

隱私短信設(shè)置界面主要設(shè)置私密模塊的啟動代碼,當私密模塊的啟動代碼設(shè)置完成以后,應(yīng)該設(shè)置其不可見,只有通過代碼才可以打開該界面。

這里也需要注意一點,隱私模塊還應(yīng)該有一個啟動的接口,當用戶在號碼提醒界面勾選私密號碼以后,應(yīng)該判斷當前私密模塊是否開啟,如果該模塊已經(jīng)開啟,則無任何影響,繼續(xù)執(zhí)行后續(xù)步驟,如果隱私模塊未開啟,則應(yīng)該提示用戶跳轉(zhuǎn)到私密模塊開啟該功能。

隱私短信設(shè)置的主界面如圖11-18所示。圖11-18隱私短信設(shè)置主界面

6.查看短信

查看短信的界面主要顯示當前已經(jīng)過濾或提醒的所有的短信。

這個模塊只是通過一個簡單的ListView來實現(xiàn)顯示的功能,當然,類似于系統(tǒng)收件箱,該界面也只顯示短信中的部分字眼,還有短信的發(fā)件人和時間等信息。當點擊列表中的某一條短信的時候,才會跳轉(zhuǎn)到短信的詳情界面顯示的短信的詳細內(nèi)容。

7.關(guān)于軟件

關(guān)于軟件中主要顯示一些當前軟件的幫助信息,注意事項,檢查更新等。

這里只添加一個檢查更新的功能,界面中包含有一個按鈕,點擊按鈕的時候可以檢查更新。關(guān)于軟件的界面也不再展示。

8.程序工具類

在com.sms.special.ramind.engine下主要存放一些程序用到的工具類。

除了前面用到的獲取聯(lián)系人,MD5加密的工具類以外,包中還有以下幾個工具類:DateUtil,GetAllAlarmFromSdcard,UpdateInfoService,XmlParser。

9.程序用到的服務(wù)

程序需要在收到短信的時候會發(fā)出通知欄消息或者播放音樂進行提醒。而發(fā)出消息的時候程序不一定處于界面打開的狀態(tài),所以需要一個服務(wù)來發(fā)出通知。

10.程序用到的廣播

在包com.sms.special.ramind.receive下是程序所用到的廣播接收者。程序需要接收兩種廣播,第一個廣播是程序進入私密模塊的廣播,當檢測到用戶有撥號事件的時候,要判斷用戶輸入的內(nèi)容是否為設(shè)置的啟動代碼,如果為啟動代碼,則進入私密模塊的界面;如果不是,則正常撥號,不進行干涉。

該包下的第二個廣播接收者StaitcSmSReceive是本程序的核心業(yè)務(wù)。如果這個模塊出現(xiàn)問題,那么整個程序都將毫無意義,此模塊的作用是判斷當前短信的狀態(tài),是否需要攔截,是否需要特殊提醒,是否進行提醒等等。

11.6軟件測試

軟件設(shè)計完成后要經(jīng)過嚴密的測試,以發(fā)現(xiàn)軟件在整個設(shè)計過程中存在的問題并加以糾正。整個測試過程分單元測試、組裝測試以及系統(tǒng)測試三個階段進行。測試的方法主要有白盒測試和黑盒測試兩種。在測試過程中需要建立詳細的測試計劃并嚴格按照測試計劃進行測試,以減少測試的隨意性。

因為本程序的主要功能都在業(yè)務(wù)處理上,所以測試非常重要,分別分模塊進行測試,測試各個模塊是否正常工作。

測試的時候不能僅僅挑選正常的流程測試,我們不是用戶,不知道用戶的輸入情況,要想到各種使用的可能,對應(yīng)各種使用情況測試。測試的主要目的就是找到非正常使用情況下的突發(fā)情況。

可以在AVD模擬器中同時打開兩個模擬器,在兩個模擬器中互相發(fā)送短信進行測試。測試

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論