基于Android的移動(dòng)終端應(yīng)用程序開(kāi)發(fā)與研究_第1頁(yè)
基于Android的移動(dòng)終端應(yīng)用程序開(kāi)發(fā)與研究_第2頁(yè)
基于Android的移動(dòng)終端應(yīng)用程序開(kāi)發(fā)與研究_第3頁(yè)
基于Android的移動(dòng)終端應(yīng)用程序開(kāi)發(fā)與研究_第4頁(yè)
基于Android的移動(dòng)終端應(yīng)用程序開(kāi)發(fā)與研究_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

基于Android的移動(dòng)終端應(yīng)用程序開(kāi)發(fā)與研究打開(kāi)文本圖片集摘要:近幾年,移動(dòng)互聯(lián)在通信產(chǎn)業(yè)中異軍突起,使得搭載了移動(dòng)操作系統(tǒng)的智能手機(jī)迅速占領(lǐng)了市場(chǎng)。移動(dòng)設(shè)備的功能已不僅僅局限于通話,更成為了移動(dòng)終端接入了互聯(lián)網(wǎng)。Android平臺(tái)由于其開(kāi)放性,迅速成為了主流的移動(dòng)智能系統(tǒng)。智能手機(jī)的快速普及,對(duì)優(yōu)質(zhì)移動(dòng)應(yīng)用程序的需求也越來(lái)越強(qiáng)烈。通過(guò)實(shí)際開(kāi)發(fā)一款移動(dòng)應(yīng)用程序?yàn)槔?,研究Android平臺(tái)的核心架構(gòu)和關(guān)鍵技術(shù),解決常見(jiàn)問(wèn)題、提高用戶體驗(yàn),最后對(duì)移動(dòng)互聯(lián)應(yīng)用產(chǎn)業(yè)的未來(lái)前景做了總結(jié)和展望。關(guān)鍵詞:Android;移動(dòng)終端;系統(tǒng)開(kāi)發(fā)口1概述智能移動(dòng)設(shè)備是互聯(lián)網(wǎng)與移動(dòng)通信相結(jié)合的產(chǎn)物,不僅可以進(jìn)行常規(guī)的通訊服務(wù),還可以接入互聯(lián)網(wǎng)即時(shí)查詢信息。在移動(dòng)智能操作系統(tǒng)領(lǐng)域中Android平臺(tái)占有極大的市場(chǎng)份額,通過(guò)搭載大量的移動(dòng)應(yīng)用程序,智能手機(jī)具備了極其強(qiáng)大的功能。由于Android平臺(tái)的開(kāi)放性,在智能手機(jī)和平板電腦的市場(chǎng)中占有相當(dāng)大的份額。智能移動(dòng)終端的方便、快捷性,使得人們?cè)谝率匙⌒猩显絹?lái)越依賴智能手機(jī)。2Android平臺(tái)的系統(tǒng)構(gòu)架口Android是一個(gè)開(kāi)放的包含了眾多源代碼的軟件系統(tǒng)。它的系統(tǒng)構(gòu)架一共分為四個(gè)層次:第一層,主要包括Linux操作系統(tǒng)及應(yīng)用;第二層,主要包括本地代碼框架;第三層,包括JAVA框架,第四層,包括JAVA應(yīng)用程序。如圖1所示。Linux使用第一層和第二層的分界線劃分系統(tǒng)內(nèi)外核空間。除第一層屬于內(nèi)核空間外,其它三層都為外核空間。在第二層和第三層之間的交界處放置本地框架和JAVA框架代碼的接口。由于第三層以下的系統(tǒng)框架內(nèi)容不可見(jiàn),系統(tǒng)開(kāi)發(fā)的過(guò)程主要針對(duì)第四層的系統(tǒng)API,第三層和第四層的交界處是API的接口。口3Android應(yīng)用程序開(kāi)發(fā)的關(guān)鍵技術(shù)口3.1界面布局開(kāi)發(fā)人員需要通過(guò)設(shè)計(jì)和制作靜態(tài)界面將信息展示給用戶。視圖組件(view)、視圖容器(viewGroup)和布局管理(Lay-out)被稱為靜態(tài)界面三要素。1)視圖組件(view)和視圖容器(viewGroup)口在移動(dòng)終端中所看到的應(yīng)用程序用戶界面是由View類和ViewGroup類組成的,View類構(gòu)成了5組件的基礎(chǔ),可以對(duì)布局實(shí)現(xiàn)多種功能,如繪圖、焦點(diǎn)變換、用戶交互等。ViewGroup類View類的子類,可包含若干個(gè)UI組件???)布局管理(Layout)口在開(kāi)發(fā)過(guò)程中,各個(gè)組件排列方式的組織和管理是通過(guò)布局管理(Layout)實(shí)現(xiàn)的,常見(jiàn)的布局有四種:線性布局、相對(duì)布局、表格布局和絕對(duì)布局。3)事件處理機(jī)制Android手機(jī)基本都配有觸摸屏,當(dāng)點(diǎn)擊屏幕上應(yīng)用程序的某一控件時(shí),控件會(huì)產(chǎn)生響應(yīng),事件處理檄制在這里就發(fā)揮了作用。Android的事件處理機(jī)制沿用JAVA,包括三個(gè)事件模型:事件(Event)、事件源(EventSource)和事件監(jiān)聽(tīng)器(EventListener)??贏syncTask(異步執(zhí)行任務(wù))口AsyncTask(異步執(zhí)行任務(wù))可以簡(jiǎn)化應(yīng)用程序執(zhí)行多任務(wù)時(shí)的過(guò)程,通過(guò)簡(jiǎn)單的異步操作,不僅可以降低編程的難度,還可以帶來(lái)更好的用戶體驗(yàn)。它包含三種泛型類型參數(shù):Params(啟動(dòng)任務(wù)執(zhí)行的輸入?yún)?shù)),Progress(后臺(tái)任務(wù)執(zhí)行的進(jìn)度),Result(后臺(tái)計(jì)算結(jié)果的類型)。口數(shù)據(jù)解析Android客戶端需要先與數(shù)據(jù)庫(kù)進(jìn)行交互獲得數(shù)據(jù)后,才會(huì)在屏幕上動(dòng)態(tài)顯示用戶能看到的信息,目前常用的數(shù)據(jù)交互格式有兩種:XML(ExtensibleMarkupLanguage)和JSON(JavaS-criptObjectNotation)。開(kāi)發(fā)者可根據(jù)他們各自的優(yōu)缺點(diǎn)加以取舍:(1)JSON較XML量級(jí)更輕,數(shù)據(jù)體積更小;(2)JSON更易于與Script進(jìn)行交互;(3)XML對(duì)數(shù)據(jù)的描述更清晰且速度快于JSON。口4Android移動(dòng)終端應(yīng)用程序開(kāi)發(fā)實(shí)例口下面以一款內(nèi)蒙古旅游手機(jī)應(yīng)用程序?yàn)槔?,?shí)證Android平臺(tái)應(yīng)用程序開(kāi)發(fā)過(guò)程。Android應(yīng)用程序的開(kāi)發(fā)流程為:旅游部門(mén)進(jìn)行市場(chǎng)調(diào)研,確定市場(chǎng)需求,向軟件公司提出開(kāi)發(fā)需求。軟件公司根據(jù)客戶需求初步開(kāi)發(fā)出客戶端原型,與界面相關(guān)效果圖制成靜態(tài)客戶端交付旅游部門(mén)審核。審核通過(guò)后開(kāi)始動(dòng)態(tài)部署應(yīng)用程序。接下來(lái)開(kāi)發(fā)人員獲取服務(wù)器端的接口,確認(rèn)返回?cái)?shù)據(jù),再將返回的數(shù)據(jù)與客戶端界面鏈接,使得應(yīng)用程序頁(yè)面可以動(dòng)態(tài)顯示信息。開(kāi)發(fā)完畢的應(yīng)用程序?qū)⑦M(jìn)入閉環(huán)測(cè)試流程,即測(cè)試人員對(duì)開(kāi)發(fā)完成的應(yīng)用進(jìn)行測(cè)試,并將測(cè)試結(jié)果告知開(kāi)發(fā)人員,開(kāi)發(fā)人員要根據(jù)測(cè)試報(bào)告中指出的問(wèn)題進(jìn)行進(jìn)一步修改,如此往復(fù)直到解決全部問(wèn)題。軟件公司需要經(jīng)常與旅游部門(mén)進(jìn)行溝通,這種溝通將伴隨整個(gè)開(kāi)發(fā)過(guò)程。當(dāng)旅游部門(mén)對(duì)軟件功能提出修改方案時(shí),應(yīng)及時(shí)反饋開(kāi)發(fā)人員,實(shí)時(shí)調(diào)整客戶端。如果說(shuō)軟件的界面相當(dāng)于應(yīng)用的外觀(如圖2),那么軟件的架構(gòu)相當(dāng)于應(yīng)用的靈魂,如圖3所示。為了使移動(dòng)應(yīng)用程序能夠便于擴(kuò)展、易于操作、結(jié)構(gòu)簡(jiǎn)明、邏輯清晰、定位明確、符合需求,搭建架構(gòu)是非常有必要的。旅游軟件設(shè)計(jì)內(nèi)容較多,所以頁(yè)面有較多層次,單頁(yè)內(nèi)容瑣碎,有大量數(shù)據(jù)需要從服務(wù)器端獲取。為了便于代碼的管理和重用,便于前期修改、優(yōu)化及后期維護(hù),為應(yīng)用程序設(shè)計(jì)項(xiàng)目架構(gòu)如圖所示。該項(xiàng)目架構(gòu)共分三層:顯示層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問(wèn)層。顯示層作用于系統(tǒng)和顯示框架,提供交互式頁(yè)面;業(yè)務(wù)邏輯層主要為各種接口,用來(lái)傳遞和處理數(shù)據(jù);數(shù)據(jù)訪問(wèn)層與數(shù)據(jù)庫(kù)服務(wù)器相連。實(shí)體集封裝自定義對(duì)象,用來(lái)做交互過(guò)程中的數(shù)據(jù)載體。此類三層架構(gòu)優(yōu)點(diǎn)顯著:1)具有很強(qiáng)的擴(kuò)展性,可根據(jù)客戶的調(diào)整需求,對(duì)應(yīng)修改相應(yīng)的方法;2)具有較高的安全性,數(shù)據(jù)調(diào)用只存在于相鄰層之間,不支持跨層調(diào)用;3)易于使用,操作簡(jiǎn)單。數(shù)據(jù)訪問(wèn)層,應(yīng)用程序需要即時(shí)從服務(wù)器端獲取最新的信息,故網(wǎng)絡(luò)通信必不可少。這里采用的方式是將通過(guò)ApacheHTTP的客戶端組件HttpClient進(jìn)行封裝和抽象,以便于基于Android平臺(tái)的應(yīng)用開(kāi)發(fā)。HttpClient在執(zhí)行HTTP時(shí),會(huì)被HTFP請(qǐng)求交互,請(qǐng)求的方式有g(shù)et方式和post方式。本旅游應(yīng)用向服務(wù)器請(qǐng)求響應(yīng)交互所使用的類為封裝了HttpClient的caller類,在編程過(guò)程中兩種方式都可以實(shí)現(xiàn),開(kāi)發(fā)人員可以根據(jù)具體情況加以選擇。業(yè)務(wù)邏輯層,全網(wǎng)絡(luò)使用ToursimGetApi類聲明應(yīng)用程序?qū)⒁玫降乃薪涌诜绞?。網(wǎng)絡(luò)接口類TourismGetApilmpl調(diào)用了網(wǎng)絡(luò)請(qǐng)求類Caller,并對(duì)TourismGetApi類聲明中的接口方式加以實(shí)現(xiàn)。口顯示層,在應(yīng)用程序的Activity中調(diào)用前文敘述的接口實(shí)現(xiàn)類中定義的方法,在客戶端上顯示從服務(wù)器上獲取的數(shù)據(jù),以達(dá)到動(dòng)態(tài)部署客戶端的目的。5開(kāi)發(fā)中的常見(jiàn)問(wèn)題及解決辦法用戶體驗(yàn)良好的用戶體驗(yàn)是一款優(yōu)秀的應(yīng)用程序必備的素質(zhì),由于Android設(shè)備種類繁多,Android系統(tǒng)版本也多種多樣,開(kāi)發(fā)人員可以通過(guò)以下手段盡可能地提升用戶體驗(yàn)滿意度:1)點(diǎn)擊區(qū)域的設(shè)置。通常應(yīng)用程序中有很多按鈕圖標(biāo),他們的大小和美觀程度直接影響用戶體驗(yàn),圖標(biāo)太大影響界面整體和諧性,太小又不方便用戶點(diǎn)擊,因此按鈕的設(shè)計(jì)非??简?yàn)開(kāi)發(fā)者的設(shè)^功底。當(dāng)圖標(biāo)較小無(wú)法更改時(shí),可考慮適當(dāng)擴(kuò)大點(diǎn)擊區(qū)域,將實(shí)際的點(diǎn)擊響應(yīng)區(qū)域擴(kuò)大到按鈕的外部。2)優(yōu)化速度。用戶體驗(yàn)的另一個(gè)重要指標(biāo)就是應(yīng)用程序運(yùn)行的流暢性。若不得不在程序運(yùn)行之初加載大量數(shù)據(jù),且需要一定時(shí)間,可在等待頁(yè)面中設(shè)計(jì)一個(gè)進(jìn)度條,并提示“拼命加載中,請(qǐng)稍候……”。在進(jìn)行大頁(yè)面跳轉(zhuǎn)或者網(wǎng)絡(luò)數(shù)據(jù)獲取的時(shí)候,都應(yīng)該加入這些設(shè)置。3)用戶習(xí)慣。在應(yīng)用程序開(kāi)發(fā)過(guò)程中還需要對(duì)用戶的習(xí)慣加以考慮,如導(dǎo)航條的位置通常置頂,個(gè)人信息和退出系統(tǒng)通常在系統(tǒng)菜單或設(shè)置頁(yè)面等等,力求讓用戶可以按照自己習(xí)慣的方式在最短的時(shí)間找到自己需要的功能。圖片緩存問(wèn)題多數(shù)應(yīng)用程序都是基于服務(wù)器的移動(dòng)客戶端,經(jīng)常需要遠(yuǎn)程獲取圖片。這類應(yīng)用只有通過(guò)展示大量圖片才能凸顯其特色。一般都是使用ListView組件,這個(gè)組件會(huì)通過(guò)用戶向下滑動(dòng)列表即時(shí)加載圖片,這就對(duì)圖片加載速度和網(wǎng)絡(luò)流量消耗提出了新的要求。可以使用預(yù)先緩存圖片的方法提高加載速度。6結(jié)束語(yǔ)本文對(duì)Android系統(tǒng)的系統(tǒng)架構(gòu)和關(guān)鍵技術(shù)進(jìn)行了介紹,通過(guò)以

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論