【正文】
手機(jī)用戶打開(kāi)應(yīng)用開(kāi)始,到對(duì)功能模塊的選擇,再對(duì)具體的功能模塊的 設(shè)計(jì)和 實(shí)現(xiàn)進(jìn)行描述和展示,最后會(huì)對(duì)系統(tǒng)進(jìn)行測(cè)試。聯(lián)系是客觀世界中的事物彼此之間的聯(lián)系。 概念模型設(shè)計(jì) 數(shù)據(jù)庫(kù)概念模型實(shí)際上是現(xiàn)實(shí)世界到機(jī)器世界的一個(gè)中間層次。對(duì)播報(bào)進(jìn)行設(shè)置,可以設(shè)置是否播報(bào)發(fā)送人的名字,和播報(bào)的時(shí)延,即收到短信后隔多長(zhǎng)時(shí)間進(jìn)行短信的播報(bào)。 系統(tǒng)的總體結(jié)構(gòu)設(shè)計(jì) 根據(jù)系統(tǒng)的功能 需求,得到功能模塊列表 。 本軟件用戶界面的設(shè)計(jì) 參考時(shí)下流行的軟件風(fēng)格進(jìn)行設(shè)計(jì),并在此基礎(chǔ)上,加入了對(duì)用戶具有引導(dǎo)性的按鍵設(shè)計(jì),使得用戶在第一次使用本系統(tǒng)時(shí),就能順利完成操作,而不需要其他的輔導(dǎo)和學(xué)習(xí)。 (5) 短信語(yǔ)音播報(bào) :用戶可以對(duì)播放時(shí)的狀態(tài)進(jìn)行設(shè)置,當(dāng)有短信進(jìn)來(lái)時(shí),會(huì)將短信的內(nèi)容以語(yǔ)音的形式播報(bào)出來(lái)。智能手機(jī)越來(lái)越普及,最近智能手機(jī)的 出貨量 更是第一次超過(guò) 了功能手機(jī)。 經(jīng)濟(jì)可行性是進(jìn)行開(kāi)發(fā)成本的估算及 可能取得的效益的評(píng)估,確 定待開(kāi)發(fā)系統(tǒng)是否值得投資開(kāi)發(fā)。 可行性分析 可行性分析是對(duì)系統(tǒng)的全面的、概要性的分析。 SQLite支持多數(shù)的 SQL 標(biāo)準(zhǔn),在一些場(chǎng)合下其性能要優(yōu)于 MySQL 等數(shù)據(jù)庫(kù)引擎。 (3)BroadcastReceiver:廣播接收器用于處理系統(tǒng)級(jí)別的事件消息,可能是來(lái)自系統(tǒng),也可能來(lái)自系統(tǒng)中正在運(yùn)行的其他應(yīng)用程序。 (5) 文件:應(yīng)用程序的系統(tǒng)控制文件,讓外界知道該應(yīng)用程序包含哪些組件、哪些資源以及何時(shí)運(yùn)行該程序等。 (4) Android 運(yùn)行時(shí): Android 平臺(tái)下,每個(gè)應(yīng)用程序都在自己的進(jìn)程中運(yùn)行,而且系統(tǒng)為其分配了專有的 Dalvik 虛擬機(jī), Dalvik 虛擬機(jī)執(zhí)行 .dex 格式的文件。 開(kāi)發(fā)環(huán)境的介紹 本論文的設(shè)計(jì)部分是在 windows 7 操作系統(tǒng)上進(jìn)行的,所完成的軟件是基于Android 平臺(tái), JDK 版本為 , Eclipse 的版本為 結(jié)合 Android 系統(tǒng)自帶的 SQLite3數(shù)據(jù)庫(kù)進(jìn)行開(kāi)發(fā)。 (3) Eclipse: Eclipse 是一個(gè)開(kāi)放源代碼的、基于 Java 的可擴(kuò)展開(kāi)發(fā)平臺(tái)。 目前市場(chǎng)上的手機(jī)操作系統(tǒng)除了 Android,還有許多其他的系統(tǒng),與其他系統(tǒng)相比 Android 具有如下的優(yōu)點(diǎn): (1) 真正開(kāi)放: Android 平臺(tái)提供了從底層操作系統(tǒng)到上層的程序界面的所有軟件 ,使用這個(gè)平臺(tái)無(wú)須繳納任何授權(quán)許可費(fèi)用,同時(shí)不同的廠商還可以根據(jù)自身需求修改和擴(kuò)展 Android 平臺(tái)。 (2) Dalvik 虛擬機(jī):專為移動(dòng)設(shè)備優(yōu)化的虛擬機(jī)。第三章主要介紹系統(tǒng)的需求分析,對(duì)系統(tǒng)做出整體的分析,明確系統(tǒng)需要實(shí)現(xiàn)的功能。這種開(kāi)放性體現(xiàn)在多個(gè)方面:設(shè)備功能強(qiáng)大且可被廣泛利用,應(yīng)用程序可由大家開(kāi)發(fā)并方便地投入市場(chǎng),以及設(shè)備制造商,網(wǎng)絡(luò)運(yùn)營(yíng)商和軟件提供商之間的相互協(xié)作。旅游攻略查詢,使用戶依據(jù)城市選擇相關(guān)的攻略文章,得到相關(guān)的旅游信息,為自己的旅游出行做參考;天氣預(yù)報(bào)查詢,為用戶提供準(zhǔn)確的天氣信息,提供著裝建議和注意事項(xiàng)等;簡(jiǎn)單的任務(wù)管理器,方便用戶訪問(wèn)手機(jī)上正在運(yùn)行的程序,在這里用戶可以結(jié)束不需開(kāi)啟的應(yīng)用以釋放手機(jī)內(nèi)存空間;日程安排管理,使用戶可以管理自己的計(jì)劃和待辦事項(xiàng);短信語(yǔ)音播報(bào),能夠?qū)⒍绦艃?nèi)容用語(yǔ)音的形式播報(bào)出來(lái),當(dāng)不方便查看手機(jī)時(shí),此功能將提供極大的方便。在豐富的手機(jī)應(yīng)用市場(chǎng)中用戶可以依據(jù)自己的需求來(lái)使用相關(guān)功能的應(yīng)用,而且這些應(yīng)用已經(jīng)漸漸涉及到人們的衣食住行等各個(gè)方面,可以說(shuō)安卓的應(yīng)用市場(chǎng)成為了一個(gè)展現(xiàn)開(kāi)發(fā)者創(chuàng)意,服務(wù)于手機(jī)用戶生活的平臺(tái)。 本文首先 根據(jù)手機(jī)助手系統(tǒng)的實(shí)際需求,分析該助手應(yīng)具有的功能,其次對(duì)系統(tǒng)已實(shí) 現(xiàn)的功能模塊進(jìn)行了詳細(xì)介紹,接著對(duì)該手機(jī)助手的布局設(shè)計(jì)和功能進(jìn)行展示,最后總結(jié)了開(kāi)發(fā)基于安卓平臺(tái)應(yīng)用程序所得到的經(jīng)驗(yàn)和心得。 關(guān)鍵詞 安卓平臺(tái) ;手機(jī)助手;移動(dòng)開(kāi)發(fā); Android SDK II Abstract In recent years, with the popularity of smart phones, and the increasing share of Android platform in the field of mobile development, developing useful applications is being more and more important. For the convenience of the Android mobile phone users to access to the information they need and plete their personalized settings, I designed a mobile assistant which is based on the Android platform, by using this system, mobile users could get efficient and concenient service. From this design, firstly, analyzing the functions that this assistant should contains, according to the actual needs of the mobile assistant system. Secondly, it made a detailed description to functional modules that the system has been implemented, and then it displays the layout and functions of the mobile assistant. Finally, it summarizes the experience that I got from the applications development based on Android platform. This system is based on the Android platform, using Java as the main developing language, the development of the interfaces are achieved by XML. The functional modules which need database were developed by using SQLite as the development platform. This moblie assistant achieves a tourism strategy, weather forecast, a simple task management, schedule management, and SMS voice broadcast. Considering the mobile phone users’ needs, this system allowing users get information through simple operation. Key words Android platform。 得益于安卓系統(tǒng)其自身的開(kāi)源性,許多移動(dòng)設(shè)備制造商設(shè)計(jì)出基于安卓原生系統(tǒng)的新系統(tǒng),用來(lái)更好地適應(yīng)自己的硬件特性,給用戶帶來(lái)更好地使用體驗(yàn)。目前,移動(dòng)電話和便攜式手持設(shè)備正在經(jīng)歷一場(chǎng)變革,引發(fā)這場(chǎng)變革的因素有很多,一方面日益強(qiáng)大的便攜式設(shè)備已經(jīng)能夠處理幾年前人們還無(wú)法想象的任務(wù),另一方面用戶對(duì)這類設(shè)備的要求也越來(lái)越高。 目前國(guó)內(nèi)的安卓開(kāi)發(fā)市場(chǎng)已頗具規(guī)模,這其中不僅有之前從事傳統(tǒng)軟件開(kāi)發(fā)的企業(yè)基于安卓平臺(tái)的手機(jī)助手的設(shè)計(jì)與實(shí)現(xiàn) 3 涉足移動(dòng)開(kāi)發(fā)領(lǐng)域,還有移動(dòng)開(kāi)發(fā)人員以開(kāi)發(fā)出的應(yīng)用進(jìn)行創(chuàng)業(yè) ,還有手機(jī)制造商和網(wǎng)絡(luò)運(yùn)營(yíng)商開(kāi)發(fā)自己的安卓系統(tǒng),同時(shí)也在積極部署相應(yīng)的軟件商店。 基于安卓平臺(tái)的手機(jī)助手的設(shè)計(jì)與實(shí)現(xiàn) 4 第二章 相關(guān)知識(shí)及技術(shù)介紹 安卓平臺(tái)介紹 安卓是一個(gè)開(kāi)放的手機(jī)操作系統(tǒng)平臺(tái),為移動(dòng)設(shè)備提供了一個(gè)包含操作系統(tǒng)、中間件及應(yīng)用程序的軟件疊層架構(gòu)。 (5) SQLite:集成了輕量級(jí)數(shù)據(jù)庫(kù)管理系統(tǒng)。 (3) 應(yīng)用程序之間溝通無(wú)界限:在 Android 平臺(tái)下開(kāi)發(fā)應(yīng)用程序,可以方便地實(shí)現(xiàn)應(yīng)用程序之間的數(shù)據(jù)共享,只需要經(jīng)過(guò)簡(jiǎn)單的聲明或操作授權(quán),應(yīng)用程序就可以訪問(wèn)或調(diào)用其他應(yīng)用程序的功 能,或者將自己的部分?jǐn)?shù)據(jù)和功能提供給其他應(yīng)用程序使用 [7]。為 Eclipse 安裝特定的插件便可 以用它來(lái)進(jìn)行Android 應(yīng)用程序的開(kāi)發(fā)。該應(yīng)用程序包包括 客戶端、 SMS 短消息、日歷、聯(lián)系人管理程序等。 安卓應(yīng)用程序的解析 了解 Android 應(yīng)用程序的目錄結(jié)構(gòu),可以為程序構(gòu)建做好準(zhǔn)備, 安卓項(xiàng)目中的 主要目錄及文件介紹如下: (1)src 目錄:存放的是該項(xiàng)目的源代碼,在開(kāi)發(fā)過(guò)程中,大多數(shù)是對(duì)該目錄下的源代碼文件進(jìn)行編寫。 (3):讀取用戶的聯(lián)系人數(shù)據(jù)的權(quán)限。 XML 簡(jiǎn)介 Android 中的界面布局文件,常量資源文件和系統(tǒng)配置文件都是用 XML 寫的,所以了解 XML 也很有必要。 (3)create( factory),創(chuàng)建一個(gè)內(nèi)存數(shù)據(jù)庫(kù),內(nèi)存數(shù)據(jù)庫(kù)主要應(yīng)用于對(duì)數(shù)據(jù)的處理速率較高的場(chǎng)合。 該階段通過(guò)對(duì)系統(tǒng)總目標(biāo)的初步調(diào)研與分析,提出可行性方案并進(jìn)行論證。安卓有很好的事件處理機(jī)制,實(shí)現(xiàn)界面的跳轉(zhuǎn)也很容易,當(dāng)需要使用數(shù)據(jù)庫(kù)作基于安卓平臺(tái)的手機(jī)助手的設(shè)計(jì)與實(shí)現(xiàn) 12 為數(shù)據(jù)處理的工具時(shí),可以使用其平臺(tái)內(nèi)嵌的 SQLite 完成,操作上比較簡(jiǎn)單,具有其他數(shù)據(jù)庫(kù)的大多數(shù)功能, 同時(shí)又具有小巧、靈便的鮮明特點(diǎn), 是移動(dòng)開(kāi)發(fā)中很好的選擇。因此,本系統(tǒng)具有一個(gè)發(fā)展迅速、用戶 數(shù)量 增長(zhǎng)快的市場(chǎng) ,而且系統(tǒng)具有一定的實(shí)用性 。 手 機(jī) 用 戶旅 游 攻 略 查 詢天 氣 預(yù) 報(bào) 查 詢?nèi)?務(wù) 管 理 器日 程 安 排 管 理短 信 語(yǔ) 音 播 報(bào) 圖 31 系統(tǒng)用例圖 系統(tǒng)的數(shù)據(jù)流 圖 手機(jī)用戶打開(kāi)本軟件首先進(jìn)入功能模塊選擇界面,在這里用戶可以選擇要進(jìn)行的操作和想要得到的信息,系統(tǒng)獲取信息后,對(duì)應(yīng)的功能模塊會(huì) 查看相應(yīng)的數(shù)據(jù)庫(kù),將查詢到的數(shù)據(jù)信息返回,并顯示在結(jié)果界面上。 不同的開(kāi)發(fā)平臺(tái)擁有不同的系統(tǒng),相同平臺(tái)下的系統(tǒng)版本也有區(qū)別,所以對(duì)于每一個(gè)應(yīng)用軟件,都有一個(gè)適合它運(yùn)行的系統(tǒng),對(duì)運(yùn)行環(huán)境約束的考慮也是軟件非功能需求中的一個(gè)重要環(huán)節(jié)。 基于安卓平臺(tái)的手機(jī)助手的設(shè)計(jì)與實(shí)現(xiàn) 17 2. 天氣預(yù)報(bào)查詢 由用戶選擇想要了解天氣情況的城市,點(diǎn)擊城市則用得到的城市碼去訪問(wèn)中央氣象臺(tái)的 API,再將訪問(wèn)得到的數(shù)據(jù)解析,最后顯示到結(jié)果頁(yè)面上,可以顯示當(dāng)天及明后兩天的天氣情況。 :數(shù)據(jù)庫(kù)的完整性是指數(shù)據(jù)的正確性和相容性。這個(gè)模型不關(guān)心具體的實(shí)現(xiàn)方式和細(xì)節(jié),而是主要關(guān)心數(shù)據(jù)在系統(tǒng)中的各個(gè)處理階段的狀態(tài)。 ER 圖描述了從用戶角度看到的數(shù)據(jù),它反應(yīng)了用戶的現(xiàn)實(shí)環(huán)境,且與在軟件系統(tǒng)中的實(shí)現(xiàn)方法無(wú)關(guān)。 系統(tǒng)的主界面 本系統(tǒng)程序運(yùn)行的主界面是顯示系統(tǒng)所有的功能模塊。 圖 52 系統(tǒng)流程走向 判斷示意圖 主要功能模塊 旅游攻略查詢模塊 進(jìn)入此模塊顯示的界面是一個(gè)隊(duì)列視圖,內(nèi)容是全國(guó)的省份與直轄市列表, 點(diǎn)擊某基于安卓平臺(tái)的手機(jī)助手的設(shè)計(jì)與實(shí)現(xiàn) 25 一項(xiàng)后,會(huì)判斷用戶選擇的是省份還是直轄市,若為省份,則跳轉(zhuǎn)到該省份下的城市列表界面,否則會(huì)直接進(jìn)入攻略文章的選擇界面。進(jìn)程的操作是基于菜單形式的。 讀取通訊錄 信息和讀取短信都 需要為程序添加相應(yīng)的訪問(wèn)權(quán)限。 白盒測(cè)試 :是把測(cè)試對(duì)象看做一個(gè)打開(kāi)的盒子,它允許測(cè)試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計(jì)或選擇測(cè)試用例,對(duì)程序所有的邏輯路徑進(jìn)行測(cè)試,確定實(shí)際結(jié)果是否與預(yù)期結(jié)果一致。 (4)日程安排管理模塊測(cè)試: 日程安排管理模塊的測(cè)試主要檢測(cè)對(duì)日程類別的操作和日程信息的操作過(guò)程是否 能正確順利進(jìn)行。 在此次畢業(yè)設(shè)計(jì)的過(guò)程中, 讓我 對(duì)基于安卓平臺(tái)的移動(dòng)應(yīng)用程序的開(kāi)發(fā)有了一定的了解,通過(guò)對(duì)每個(gè)功能模塊的開(kāi)發(fā), 使我對(duì)各模塊所用到的技術(shù)進(jìn)行了細(xì)致的學(xué)習(xí),使我從一個(gè)只能使用別人開(kāi)發(fā)的應(yīng)用程序的手機(jī)用戶,變?yōu)榭梢宰约洪_(kāi)發(fā)出簡(jiǎn)單應(yīng)用的移動(dòng)開(kāi)發(fā)愛(ài)好者。 本手機(jī)助手可以為用戶 提供其所要了解的信息,并提供給用戶一個(gè)對(duì)手機(jī)操作的快捷的平臺(tái)。 表 51 旅游攻略 查詢模塊 測(cè)試用例 序號(hào) 輸入 預(yù)期結(jié)果 實(shí)際結(jié)果 測(cè)試結(jié)果 1 點(diǎn)擊 北京 顯示北京下的攻略文章列表 正確 顯示北京下的攻略文章列表 通過(guò) 2 點(diǎn)擊 黑龍江 顯示黑龍江省下的城市列表 正確 顯示黑龍江省下的城市列表 通過(guò) 3 點(diǎn)擊文章標(biāo)題 顯示對(duì)應(yīng)文章 正確顯示對(duì)應(yīng)文章 通過(guò) (2)天氣預(yù)報(bào)查詢模塊測(cè)試: 基于安卓平臺(tái)的手機(jī)助手的設(shè)計(jì)與實(shí)現(xiàn) 31 天氣預(yù)報(bào)模塊測(cè)試主要是檢測(cè)在選擇了某一城市地區(qū)后,能否準(zhǔn)確顯示出該地區(qū)的天氣情況,顯