【文章內(nèi)容簡介】
態(tài)之間相互切換。 A c t i v i t y S t a r t so n C r e a t e ( )o n S t a r t ( )N e w A c t i v i t y i s s t a r t e do n R e s u m e ( )A c t i v i t y i s r u n n i n go n S t o p ( )Y o u r A c t i v i t y i s n o l o n g v i s i b l eo n P a u s e ( )o n D e s t r o y ( )A c t i v i t y i s s h u t d o w nU s e r n a v i g a t e s b a c k t o y o u r A c t i v i t yP r o c e s s i s k i l l e dO t h e r a p p l i c a t i o n n e e d m e m o r yO n R e s t a r t ( )Y o u r A c t i v i t y c o m e s t o t h e f o r e g r o u n dY o u r A c t i v i t y c o m e s t o t h e f o r e g r o u n d 圖 22 Activity 的生命周期圖 Intent amp。 Broadcast Receiver Intent是消息傳遞媒介。 Android 用了 Intent來實(shí)現(xiàn)的切換工作。它分為顯式 Intent和隱式Intent,隱式 Intent,指定了 ponent 屬性的 Intent,就能滿足此 Intent 的組件。 而顯式 Intent,需要指定 ponent 屬性的 Intent。 Broadcast Receiver 是就廣播接收者。應(yīng)用使用 Context. Broadcast Intent()將它們Broadcast Receiver 廣播給其它的應(yīng)用。 Service Service 是 后臺(tái)服務(wù) , 不會(huì)與用戶直接交互。當(dāng)前活動(dòng)程序可以使用 Context. StartService()開啟一項(xiàng)后臺(tái)服務(wù) , 還可以通過 Context. bindService()與后臺(tái)服務(wù)通信。 Content Provider Content Provider 用于進(jìn)程 數(shù)據(jù)存儲(chǔ)與共享 , 為應(yīng)用進(jìn)程提供共享數(shù)據(jù)的訪問方法 ,如 : 符梅: Android 手機(jī)通訊錄設(shè)計(jì)與實(shí)現(xiàn) 第 6 頁 共 23 頁 Query(Uri, String [ ], String, String[ ], String, String, String)(數(shù)據(jù)信息的查詢 ) , insert (Uri, Content values) (在 Content provider 中添加新數(shù)據(jù) ) , update(Uri, Content values, String, String[ ])(更新 Content provider中的數(shù)據(jù) ), delete(Uri, String, String[ ])(刪除數(shù)據(jù) ) , Gettype (Uri)(獲取數(shù)據(jù)類型 )。 SQLite 數(shù)據(jù)庫 目前,行業(yè)內(nèi)有有多種數(shù)據(jù)可供我們選擇使用,比如 DB SQL/DSforVSE 、 Oracle、 Sybase、Informix、 SOL Server mySQL 等,都是常用的一些數(shù)據(jù)庫。如此多的數(shù)據(jù)庫,到底選擇合作數(shù)據(jù)庫來管理我們通訊錄的數(shù)據(jù)呢?為此,我們查閱了大量的資料,最后結(jié)合我們設(shè)計(jì)的通訊錄,我們決定選擇 SQLite 來管理我們的數(shù)據(jù)。據(jù)資料, SQLite 數(shù)據(jù)庫占的資 源非常少,特別適合嵌入式設(shè)備,這太符合我們將要設(shè)計(jì)的基于 Android 平臺(tái)下開發(fā)的手機(jī)通訊了,簡直就是量身定做,不用再糾結(jié),肯定選擇此數(shù)據(jù)做為我們通訊錄的數(shù)據(jù)庫了。 SQLite 與一些大型的數(shù)據(jù)庫相比,體積小,占用資源少,可以直接運(yùn)行在應(yīng)用程序的進(jìn)程。并且 SQLite 數(shù)據(jù)庫支持 NULL, INTEGER, REAL,TEXT, BLOB 這 5種數(shù)據(jù)類型,在 Android 程序設(shè)計(jì)中,我們可以直接通過有關(guān)的 API來調(diào)用,從而實(shí)現(xiàn)數(shù)據(jù)庫的各種功能。 3 Android 手機(jī)通訊錄概述 總體設(shè)計(jì) 一個(gè)好的系統(tǒng)設(shè)計(jì)步驟來 確定項(xiàng)目可以按時(shí)完成根據(jù)設(shè)計(jì)師的目的 ,是否在規(guī)定的時(shí)間內(nèi)按照設(shè)計(jì)師的要求高質(zhì)量完成必要的功能。按照設(shè)計(jì)標(biāo)準(zhǔn)過程的步驟、調(diào)試、測試和優(yōu)化 ,使程序更健壯性和可用性。通過后的開發(fā)流程如圖 41所示。 圖 41開發(fā)流程圖 根據(jù)手機(jī)通訊錄需求分析,根據(jù)標(biāo)準(zhǔn)開發(fā)流程來開發(fā)軟件功能。系統(tǒng)的功能圖如 42所示: 2021 屆計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)畢業(yè)論文 第 7 頁 共 23 頁 圖 42 系統(tǒng)功能圖 打開通訊錄客戶端,在通訊錄界面,默認(rèn)界面顯示撥號(hào)界面,在撥號(hào)界面,我們可以輸入電話號(hào)碼撥打電話,也可通過通話記錄,快速找到最近 聯(lián)系人直接撥號(hào),還可切換到聯(lián)系人界面找到想要的人的 信息 ,然后撥號(hào)。在聯(lián)系人界面 可以看到 聯(lián)系人 列表 ,點(diǎn)擊聯(lián)系人界面上右上角的添加聯(lián)系人圖標(biāo),將彈出聯(lián)系人信息編輯界面,在該界面完成聯(lián)系人信息的編輯后,可點(diǎn)擊完成按鈕保存聯(lián)系人。點(diǎn)擊已保存的聯(lián)系人對該聯(lián)系人進(jìn)行撥號(hào)、發(fā)送信息、閱讀詳細(xì)信息、移動(dòng)分組、移出群組、移除等操作。在信息界面,可看到信息列表,我們可以在這里收發(fā)短信,閱讀短信,查看已收短信。系統(tǒng)的運(yùn)行流程圖如 43所示。 設(shè)置 信息 聯(lián)系人 撥號(hào) 打電話 通話記錄 打電話 發(fā)送信息 信息記錄 發(fā)信息 添加聯(lián)系人 刪除聯(lián)系人 查看聯(lián)系人信息 設(shè)置 Client 符梅: Android 手機(jī)通訊錄設(shè)計(jì)與實(shí)現(xiàn) 第 8 頁 共 23 頁 圖 43 系統(tǒng)運(yùn)行流程圖 系統(tǒng)功能設(shè)計(jì) 查閱相關(guān)資料得知,使用手機(jī)的人中的大 多數(shù)人都會(huì)使用手機(jī)通訊錄,不論是智能手機(jī)還是非智能手機(jī)。隨著手機(jī)功能的不斷豐富,手機(jī)通訊錄也得到完善,越來越多的人使用手機(jī)通訊錄。智能手機(jī)通的通訊錄不與傳統(tǒng)的電話薄一樣僅保存聯(lián)系人的電話號(hào)碼,響應(yīng)時(shí)代要求的手機(jī)通訊錄必須能夠存儲(chǔ)更多聯(lián)系人的信息,對聯(lián)系人的操作應(yīng)該不僅限于撥打電話,還應(yīng)該具有更多其他、且具有個(gè)性的功能。我們本次設(shè)計(jì)的目的就是要設(shè)計(jì)一款功能豐富、使用快捷方便,適合大眾消費(fèi)者使用的 手機(jī)通訊錄 ,其功能主要包括以下幾方面內(nèi)容。 聯(lián)系人的基本功能 用戶在 Android手機(jī)通訊錄的主界面中, 可以看到四個(gè) menu建,我們首先介紹聯(lián)系人 menu鍵。我們打開手機(jī)通訊,進(jìn)入手機(jī)主界面,點(diǎn)擊聯(lián)系人 menu 按鈕,可查看所有已經(jīng)存儲(chǔ)的聯(lián)系人,如聯(lián)系人信息有所變化,我們可以點(diǎn)擊該聯(lián)系人,彈出很多可供選擇的操作,根據(jù)需要選擇相應(yīng)的功能點(diǎn)擊。新增聯(lián)系人時(shí)在聯(lián)系人界面中,點(diǎn)擊右上角的新增聯(lián)系人按鈕,彈出對聯(lián)系人信息編輯的界面,編輯新增聯(lián)系人信息,有 Name、 Tel、 pic、 address、 Email 等內(nèi)容,用戶可根據(jù)自己需要完成相應(yīng) 內(nèi)容 的編輯,點(diǎn)擊左上角的完成即可保存聯(lián)系人。刪除聯(lián)系人時(shí),在聯(lián)系人界面點(diǎn)擊要?jiǎng)h除的聯(lián) 系人,會(huì) 出現(xiàn) 一個(gè)選項(xiàng) 列表 ,選擇刪除,在出現(xiàn) 的 的對話框中點(diǎn)擊確定即可刪除聯(lián)系人。 2021 屆計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)畢業(yè)論文 第 9 頁 共 23 頁 通話記錄功能 用戶在 Android手機(jī)通訊錄的主界面中,就有四個(gè) menu 可以進(jìn)行用戶選擇,系統(tǒng)直接默認(rèn)的是撥號(hào)鍵,進(jìn)去就是通話記錄界面,然后用戶可以在這上面可以進(jìn)行打電話??梢允謩?dòng)撥號(hào),和可以選擇在通話記錄中查找并撥打。讓用戶減少了擇聯(lián)進(jìn)入手機(jī)自帶通話記錄的時(shí)間。 短信通信記錄功能 用戶在 Android手機(jī)通訊錄的主界面中,就有四個(gè) menu可以進(jìn)行用戶選擇,首先點(diǎn)擊信息 menu鍵,進(jìn)入手機(jī)信息界面。進(jìn)去就 是通信記錄界面,然后用戶可以在這上面可以查看信息??梢允謩?dòng)填寫號(hào)碼發(fā)送信息,和可以選擇在通信記錄中查找并回發(fā),也可以在聯(lián)系人界面去找自己要發(fā)送信息的聯(lián)系人。讓用戶減少了進(jìn)入手機(jī)自帶的 SMS的時(shí)間。 個(gè)人中心設(shè)置 在這里可以根據(jù)自己的喜愛進(jìn)行一下設(shè)置??梢栽O(shè)置通訊錄皮膚,還有個(gè)人信息等。 以下內(nèi)容由本人獨(dú)立完成 符梅: Android 手機(jī)通訊錄設(shè)計(jì)與實(shí)現(xiàn) 第 10 頁 共 23 頁 4 通訊錄需求分析 Android 手機(jī)通訊錄用戶需求分析 需求分析就是與用戶交流,了解用戶想要軟件具有什么樣的功能,即用戶可以用軟件干些 什么。需求分析必須 了解用 戶 想要的功能 ,歸納 出 準(zhǔn) 確的用戶 要 求 。在對系統(tǒng)開始設(shè)計(jì)是,需討論研究系統(tǒng)在當(dāng)前技術(shù)支持的條件,能夠設(shè)計(jì)出來相應(yīng)的功能。做完以上工作后,就可根據(jù)前面得出的結(jié)論,就 可以 得到 一個(gè)模型 ,然后根據(jù)分析模型編寫軟件需求規(guī)格說明書。 用戶需求分析 我們的主要用戶為一般人,我們通過大量的數(shù)據(jù)分析顯示,現(xiàn)場調(diào)查研究發(fā)現(xiàn),當(dāng)今社會(huì)智能手機(jī)的用途絕不僅限于打電話,發(fā)短信的單一功能。當(dāng)今社會(huì)是信息無處 不在 ,錯(cuò)綜復(fù)雜,人們急需一種簡單,方便快捷的 工具來 收集、存儲(chǔ)、管理信息。當(dāng)今社會(huì),哪里 有網(wǎng)絡(luò),哪里就有新聞 是一個(gè)高度信息化的時(shí)代,越來越多的人在工作中通過電子郵件的方式進(jìn)行交流。 ( 1) 界面需求 本次設(shè)計(jì)的通訊錄,要求集電話薄、短信、撥號(hào)、郵件等功能于一體,界面應(yīng)當(dāng)為這些功能的實(shí)現(xiàn)提供相應(yīng)的菜單按鈕,并且用戶要求在發(fā)送郵件時(shí)可以像發(fā)短信一樣地簡便操作快速編寫郵件,隨時(shí)隨地收發(fā)郵件。 ( 2) 安全性需求 網(wǎng)絡(luò)為人們生活、工作、學(xué)習(xí)等帶來無限便利的同時(shí),也 有不安全的事情可能會(huì)發(fā)生。 危險(xiǎn)的事情 也是有的 ,如網(wǎng)絡(luò)病毒、黑客入侵等都會(huì)給用戶信息的安全帶來隱患。因此,在設(shè)計(jì)通訊錄,要設(shè)計(jì)出安全性高的 軟件。 ( 3) 保密性需求 前面提到,我們所處的時(shí)代是一個(gè)信息大爆炸的時(shí)代,人們經(jīng)常在討論誰誰的 密碼被盜,銀行卡 的密碼被他人 知道 了 ,錢被取走了等等各類信息泄露的事層出不窮 ( 4) 處理時(shí)間需求 快速處理用戶的操作請求,如果要 很長一段時(shí)間來處理的話,要 提示 用戶,不能長時(shí)間軟件自己在那默默的反應(yīng),而用戶看不到界面變化 告知用戶該軟件正在運(yùn)行。 ( 5) 可靠性需求 滿足快速處理用戶的操作的前提是要滿足數(shù)據(jù)的可靠性,用戶每執(zhí)行一次操作都期望得到可靠的結(jié)果。 ( 6) 無縫性 無縫問題是一種常見的應(yīng)用后臺(tái)進(jìn) 程 (例如 service 或 broadcast receiver),對 某些事件反應(yīng)和彈出對話框 , 它似乎毫發(fā)無損 , 尤其是當(dāng)在模擬器 上 來構(gòu)建和測試系統(tǒng) 時(shí) 。然而 ,當(dāng)應(yīng)用程序運(yùn)行在實(shí)際設(shè)備 上, 后臺(tái)線程 就會(huì) 顯示對話框 ,提示用戶 可能 是 沒有得到焦點(diǎn)的應(yīng)用程序的用戶。系統(tǒng) 似乎將后 臺(tái) 活動(dòng) 的 應(yīng)用程序的顯示對話框 , 或焦點(diǎn) 覆蓋了 當(dāng)前的 程序正顯示的界面, 并顯示一2021 屆計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)畢業(yè)論文 第 11 頁 共 23 頁 個(gè) 與用戶應(yīng)用無關(guān)的 話框。使用通知 ,用 消息圖標(biāo) 來 通知用戶 某一 事件發(fā)生 ,而不是得到關(guān)注和中斷用戶 。 圖 41 功能界面示意 軟件需求說明書 軟件需求說明書是軟件設(shè)計(jì)的依據(jù),有效地連接了計(jì)劃階段和開發(fā)階段。通過它表達(dá)各種對期望計(jì)算機(jī)解決的問題的理解。因此,往往因?yàn)檐浖枨笳f明書的一個(gè)微小錯(cuò)誤導(dǎo)致的系統(tǒng)錯(cuò)誤需付出巨大的代價(jià)糾正。 ( 1) 引言 本次設(shè)計(jì)的 Android手機(jī)通訊錄集短信,電話,郵件等多功能于一體,使通訊錄的功能更多樣化,操作更方便,使用更快捷,使通訊的功能更完善,豐富。為用戶手機(jī)免去安裝多個(gè)應(yīng)用軟件的苦惱,使用時(shí)同時(shí)打開多個(gè)軟件的麻煩,這樣手機(jī)也 可以允 行得 更快了 ,為用戶留下更多安裝其他應(yīng)用軟件的空間。通 過新手教程,用戶可以很快掌握本軟件的使用方法。 1)編寫目的 本需求說明書的編寫目的在于研究 Android