




已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
移動(dòng)終端應(yīng)用程序設(shè)計(jì)方法研究作者:王倩萍 指導(dǎo)教師:程樹林摘要:目前,移動(dòng)終端設(shè)備在我們的日常生活中越來越普及,這主要是基于它的方便和易操作性。能基于不同的操作平臺(tái),開發(fā)出不同的應(yīng)用,是本文的主要內(nèi)容。本文主要以Android作為出發(fā)點(diǎn),以此為例,探究如何在此操作平臺(tái)上對(duì)應(yīng)用的開發(fā)研究,在搭建了Android開發(fā)環(huán)境后,用一些語言在上面進(jìn)行程序的編寫,運(yùn)行,以達(dá)到移動(dòng)應(yīng)用的最終生成;本文將以一個(gè)播放器的生成展開討論研究。關(guān)鍵詞:Android,移動(dòng)應(yīng)用開發(fā),系統(tǒng)架構(gòu),播放器0 引言人類對(duì)于自由和交流的渴望是無止境的,技術(shù)的發(fā)展使得人類對(duì)自由的夢(mèng)想逐漸變?yōu)楝F(xiàn)實(shí),讓移動(dòng)終端從最初的BP機(jī),到現(xiàn)在的PDA,智能手機(jī)。就像一臺(tái)戲總需要一個(gè)舞臺(tái),通過舞臺(tái)的完美配合以及自身的演繹才能達(dá)到完成的效果。我們想要開發(fā)一個(gè)應(yīng)用程序總需要一個(gè)編輯它的工具,以及一個(gè)能讓它完美運(yùn)行的環(huán)境,只有外部條件達(dá)到,才能在這個(gè)環(huán)境下開發(fā)我們想要的應(yīng)用程序,才能讓我們應(yīng)用程序有地運(yùn)作。那么目前我們的移動(dòng)終端有很多種,最火的莫過于蘋果和三星旗下的手機(jī),平板電腦之類。它們分別的運(yùn)行系統(tǒng)是ios、android。能在大眾之間普遍流行起來最主要的原因就是它傻瓜似的操作能達(dá)到我們想要的結(jié)果。Ios系統(tǒng)是由蘋果公司為iPhone開發(fā)的操作系統(tǒng)。它是給iPhone,iPodtouch和iPad使用。但ios僅限于蘋果產(chǎn)品的使用,其它開發(fā)移動(dòng)產(chǎn)品的用戶是不能使用它的,這時(shí)google開發(fā)的android系統(tǒng)就分得不少的市場(chǎng)。而在這之前一直屬于手機(jī)市場(chǎng)老大的Nokia卻由于它的局限性似乎越來越退出大眾視線。Nokia大部分手機(jī)均是使用Symbian系統(tǒng),但由于其發(fā)展受到局限性,沒有android的可開發(fā)深度性高。因此Android以其簡(jiǎn)單易操作和可擴(kuò)展性深受大眾青睞。在這樣的環(huán)境下,人們可以開發(fā)自己想要的其它應(yīng)用程序,放在移動(dòng)終端上應(yīng)用。當(dāng)我們搭建了一個(gè)完美的運(yùn)行環(huán)境時(shí),我們?nèi)孕栉枧_(tái)上的主角,應(yīng)用程序的開發(fā)。移動(dòng)應(yīng)用程序的開發(fā)工具有許多種,其中比較常用的有AppMaker,MobileNation,Bizness app等等,都有它們適用的操作系統(tǒng)平臺(tái)和應(yīng)用程序的開發(fā)方法,像Bizness app就是一個(gè)純傻瓜似的構(gòu)建app的平臺(tái)。用戶完全不需要具備任何編程知識(shí),只要進(jìn)行按鈕勾選及拖拽,就能完成大部分設(shè)計(jì)工作。本文就以在安裝了eclipse的環(huán)境下,用java語言編寫移動(dòng)應(yīng)用程序,最后編譯,運(yùn)行,以達(dá)到目的。本文就以在Android環(huán)境下開發(fā)一個(gè)播放器為例來具體說明是如何在移動(dòng)終端上應(yīng)用程序的設(shè)計(jì)。1 Android簡(jiǎn)介 Android是Google在2007年發(fā)布的一款全新的智能手機(jī)終端操作系統(tǒng)和移動(dòng)應(yīng)用開發(fā)平臺(tái),它基于Linux內(nèi)核,由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成,是一個(gè)開放而完整的移動(dòng)“軟件棧”。 因此,自發(fā)布以來Android立刻受到了業(yè)界的廣泛關(guān)注,并很快成為主流。為了提供更加完善的功能和方便開發(fā)人員,Google對(duì)Android平臺(tái)的SDK更新很快,目前已發(fā)布30版本,開發(fā)人員可以利用SDK中所提供的工具,為基于Android操作系統(tǒng)的手機(jī)進(jìn)行移動(dòng)應(yīng)用開發(fā)。本文將詳細(xì)闡述Android平臺(tái)的組成、系統(tǒng)架構(gòu)、API、應(yīng)用程序框架以及該平臺(tái)下應(yīng)用程序的基本開發(fā)方法1。本項(xiàng)目是一款基于Android手機(jī)平臺(tái)網(wǎng)絡(luò)播放器,使Android手機(jī)擁有個(gè)性的播放器,讓手機(jī)主人隨時(shí)隨地處于音樂和視屏的中快樂之中。使人們的生活更加多樣化。也使設(shè)計(jì)者更加熟練Android的技術(shù)和其它在市場(chǎng)上的特點(diǎn)。2 Android平臺(tái)的組成和系統(tǒng)架構(gòu)21 Android平臺(tái)的組成Android不僅是一種用于移動(dòng)終端設(shè)備的操作系統(tǒng),更是一個(gè)開源的體系架構(gòu)。它大量應(yīng)用了開源社區(qū)的各項(xiàng)成果,并針對(duì)移動(dòng)設(shè)備進(jìn)行了充分優(yōu)化。Android主要包含以下功能組件2:1)經(jīng)Google針對(duì)移動(dòng)設(shè)備裁剪和優(yōu)化的Linux內(nèi)核。2)由Google重新實(shí)現(xiàn)的Java虛擬機(jī)Dalvikvm 。3)大量的函數(shù)庫和服務(wù),如瀏覽器引擎WebKit,數(shù)據(jù)庫SQLite。4)常用的應(yīng)用程序,如撥號(hào)程序和通訊錄等。5)一套完整的SDK(Software DevelopmentKit),提供了使用Java語言進(jìn)行Android應(yīng)用開發(fā)的API類庫和 工具集(包括Android模擬器和Eclipse IDE下的開發(fā)工具插件以及一組用于在模擬器和終端設(shè)備上打包、安裝、調(diào)試和測(cè)試應(yīng)用程序的工具)。6)經(jīng)過優(yōu)化的輕量級(jí)2D和3D圖形引擎,用于支持各種游戲的開發(fā)。7)提供常見音頻、視頻和圖片格式支持的底層多媒體庫。8)用于支持GSM、藍(lán)牙、3G、WiFi、攝像頭、GPS和各種輸入設(shè)備的驅(qū)動(dòng)程序。22 Android的系統(tǒng)架構(gòu) Android操作系統(tǒng)自頂向下分為4層,分別為應(yīng)用層、應(yīng)用框架層、函數(shù)庫和虛擬機(jī)層以及Linux內(nèi)核層。 其架構(gòu)如圖1所示。圖1 Android Architecture(android 軟件結(jié)構(gòu)圖) 其軟件層次結(jié)構(gòu)自上而下分為以下幾個(gè)層次:第一層:應(yīng)用程序(Application)。第二層:應(yīng)用程序框架(Application Framework)。第三層:各種庫(Libraries)和Android運(yùn)行環(huán)境(RunTime)。第四層:操作系統(tǒng)層。 1)應(yīng)用層(Application) 應(yīng)用層提供了一系列核心應(yīng)用程序,包括郵件客戶端、SMS(短信)、H歷、Google地圖、Web瀏覽器(Brower)和通訊錄(Contacts)等。這一層所有(包括開發(fā)人員自己開發(fā)的)應(yīng)用程序都是使用Java語言編寫的。值得一提的是,這些應(yīng)用程序可以同時(shí)執(zhí)行,比如用戶可以一邊聽音樂一邊閱讀郵件。 2)應(yīng)用框架層(Application Framework) 開發(fā)者完全可以訪問核心應(yīng)用程序所使用的API框架。該應(yīng)用程序架構(gòu)用來簡(jiǎn)化組件軟件的重用;任何一個(gè)應(yīng)用程序都可以發(fā)布它的功能塊并且任何其他的應(yīng)用程序都可以使用其所發(fā)布的功能塊(不過的遵循框架的安全性限制)。該應(yīng)用程序重用機(jī)制使得組件可以被用戶替換。 所有的應(yīng)用程序都由一系列的服務(wù)和系統(tǒng)組成,包括: 可擴(kuò)展的視圖(Views)可以用來建應(yīng)用程序,包括列表(lists),網(wǎng)格(Grids),文本框(Text boxes),按鈕(button),甚至包括另一個(gè)可嵌入的 web瀏覽器。 內(nèi)容管理器(Content Providers)使得應(yīng)用程序可以訪問另一個(gè)應(yīng)用程序的數(shù)據(jù)(如聯(lián)系人的數(shù)據(jù)庫),或者共享它們自己的數(shù)據(jù)。 資源管理器(Resource Manager)提供非代碼資源的訪問,如本地字符串,圖形,和分層文件(Layout Files)。 通知管理器(Notification Manager)使得應(yīng)用程序生可以在狀態(tài)欄中顯示客戶通知信息。 活動(dòng)類管理器(Activity Manager)用來管理應(yīng)用程序生命周期并提供常用的導(dǎo)航回退功能。 3)函數(shù)庫層(Libraries) Android包括一個(gè)被Android系統(tǒng)中各種不同組件所使用的C/C+庫集。該庫通過Android應(yīng)用程序框架為開發(fā)者提供服務(wù)。 4)運(yùn)行時(shí)環(huán)境(Runtime) Android包括了一個(gè)核心庫,該核心庫提供了JAVA編程語言核心庫的大多數(shù)功能。 每一個(gè)Android應(yīng)用程序都在它自己的進(jìn)程中運(yùn)行,都擁有一個(gè)獨(dú)立的Dalvik虛擬機(jī)實(shí)例。Dalvik是針對(duì)于同時(shí)高效地運(yùn)行多個(gè)VMS來實(shí)現(xiàn)的。Dalvik虛擬機(jī)執(zhí)行.dex的Dalvik可執(zhí)行文件,該格式文件針對(duì)最小內(nèi)存使用做了優(yōu)化。該虛擬機(jī)是基于寄存器的,所有的類都經(jīng)由JAVA匯編器編譯,然后通過SDK中的dx工具轉(zhuǎn)化成.dex格式由虛擬機(jī)執(zhí)行。Dalvik虛擬機(jī)依賴于linux的一些功能,比如線程機(jī)制和底層內(nèi)存管理機(jī)制。 5)Linux內(nèi)核層(Linux Kerne1) Android基于Linux 26內(nèi)核來提供操作系統(tǒng)的核心服務(wù),如進(jìn)程管理、內(nèi)存管理、安全性、網(wǎng)絡(luò)協(xié)議和驅(qū)動(dòng)模型。內(nèi)核也作為硬件和其余軟件棧之間的一個(gè)抽象層。3 Android應(yīng)用軟件的開發(fā)核心技術(shù)3.1 Android 應(yīng)用開發(fā)語言 JAVA是Android上的主流開發(fā)語言,各種支持也最完善。Android發(fā)布的API和SDK也都主要是面向JAVA開發(fā)人員的。我的網(wǎng)絡(luò)播放器實(shí)例也是用JAVA開發(fā)的。 3.2 Android 應(yīng)用程序組件Android 應(yīng)用程序最大的一個(gè)特點(diǎn)就是每個(gè)應(yīng)用都由若干組件構(gòu)成。而且各個(gè)應(yīng)用程序的組件還可以相互調(diào)用(需要在代碼中設(shè)置相應(yīng)權(quán)限)。例如假設(shè)我們需要編寫一個(gè)內(nèi)嵌于網(wǎng)頁的程序,那么我們無需親自編寫瀏覽器,而是可以直接調(diào)用系統(tǒng)自帶的Chrome Lite瀏覽器組件。又如假設(shè)我們編寫了兩個(gè)應(yīng)用程序,其中一個(gè)程序中有列表顯示圖標(biāo)的組件,那么我們?cè)诹硪粋€(gè)應(yīng)用程序中就可以使用該組件,而不需要在編寫該功能。也就是說,不同于我們平常編寫的程序,Android的應(yīng)用程序不是單一入口,而是可以從代碼的不同位置啟動(dòng)。這就要依靠組件來實(shí)現(xiàn)3。Android應(yīng)用程序的組件有以下四種: 3.2.1 Activities 一個(gè)Activity實(shí)際上表現(xiàn)出來的就是一個(gè)程序的界面。這個(gè)界面可能有許多不同的形式,比如有列表形式,有文字形式,有圖像格子等形式。一個(gè)應(yīng)用程序也可能有不止一個(gè)Activity。比如一短消息的程序,需要有列表顯示所有消息的Activity,還至少需要一個(gè)編輯短信的Activity,還可能需要設(shè)置、菜單等界面4。每個(gè)Activity都有一個(gè)默認(rèn)的窗口用于繪制界面,一般情況下,它是充滿全屏的,但是我們可以通過程序控制它,使其小于屏幕大小,也可以控制其浮動(dòng)于其他窗口之上(如Android中的Toast信息)。Activity中顯示出來的內(nèi)容其實(shí)是由view堆疊形成的,view是由View基類派生出來的各種形式的界面元素,如ListView,GridView等等,通過組合這些view,就形成了一個(gè)可見的Activity。我們可以用Activity.setContentView()方法來設(shè)置一個(gè)Activity中所要顯示的view。 3.2.2 ServicesService是一種沒有界面的組件,同我們平常在Windows或Linux系統(tǒng)中所理解的“服務(wù)”一樣,Android上的service也是運(yùn)行在后臺(tái)的,運(yùn)行時(shí)間可以從系統(tǒng)啟動(dòng)到系統(tǒng)關(guān)閉為止。對(duì)于許多應(yīng)用程序來說,service組件式至關(guān)重要的。以下載管理器為例,用戶肯定希望能夠在切換到其他程序時(shí)仍然在后臺(tái)繼續(xù)下載,這就需要用到service完成下載工作。而顯示下載進(jìn)度、已下載文件等信息則由Activity完成,同時(shí)我們還希望控制下載過程,如停止、繼續(xù)等,這就需要Activity與service之間進(jìn)行通信。Android允許activity連接到或者綁定到service上,這樣就可以讓用戶在界面上控制后臺(tái)service的行為。 3.2.3 Broadcast receiversBroadcast意為廣播消息,Android系統(tǒng)自身會(huì)發(fā)出許多廣播消息,如電量不足,用戶修改了全局設(shè)置等,各個(gè)應(yīng)用程序也以向整個(gè)系統(tǒng)廣播消息,如文件下載。Broadcast receiver則是程序中專門用來接收廣播消息的組件,它沒有界面顯示,只負(fù)責(zé)監(jiān)聽、接收廣播消息,然后根據(jù)程序邏輯,啟動(dòng)其他組件去處理廣播消息。它可以啟動(dòng)一個(gè)Activity來同用戶交互,也可以使用NotificationManager向用戶發(fā)出通知。NitificationManager的通知形式有許多種,比如說振動(dòng)、響鈴、閃LED燈,還可以在Android界面的消息欄處顯示信息。 3.2.4 Content providersContent provider是一種為其它應(yīng)用程序提供數(shù)據(jù)的組件。這些數(shù)據(jù)可以保存在文件中,也可以保存在SQLite數(shù)據(jù)庫中,還可以以其他任何有效的方式保存。ContentProvider類為我們提供了一系列保存數(shù)據(jù)的方法供我們調(diào)用,可以很方便地存儲(chǔ)數(shù)據(jù)。其它應(yīng)用程序在需要使用這些數(shù)據(jù)時(shí),可以用ContentResolver對(duì)象,使用其中的方法。ContentResolver可以與任何contentprovider交互,獲取其中的數(shù)據(jù)。 只需要某個(gè)組件,Android就會(huì)盡力保證它的可用;如果該組件還沒有啟動(dòng),就啟動(dòng)它,如果該組件所屬的應(yīng)用程序還沒擁有一個(gè)進(jìn)程,則為它啟動(dòng)一個(gè)進(jìn)程,如果系統(tǒng)資源不足以容納一個(gè)新的進(jìn)程,則將后臺(tái)的某個(gè)進(jìn)程殺死為新進(jìn)程騰出資源5。4 Android應(yīng)用開發(fā)環(huán)境配置 任何事物要運(yùn)行,都要有它的環(huán)境,Android也有它的環(huán)境才能夠運(yùn)行,下面介紹Android的開發(fā)環(huán)境配置。4.1開發(fā)環(huán)境的搭建操作系統(tǒng):Windows XP或Windows 7或linux軟件包:Android SDK(Software Development kit),ADT(Android Develoopment Tool)IDE:Eclipse IDE+ADTJDK:Java Development kit4. 2安裝步驟如下:第一步:安裝Java虛擬機(jī)Sun Java虛擬機(jī)(jre) V8版本。第二步:安裝Eclispse3.5工具官網(wǎng)http://downloads/選擇版本(圖2)下載完成后直接解壓即可使用,無需安裝。圖 2 網(wǎng)頁截圖第三步:安裝Android SDK:首先要下載SDK,可以在這個(gè)網(wǎng)址下載Http://sdk ,選擇相應(yīng)的系統(tǒng)進(jìn)行安裝。圖 3 android-sdk下載地址 第四步:安裝Android ADT插件。 啟動(dòng)Eclipse,選擇“Help”“Install New Software.”,準(zhǔn)備安裝插件,Eclipse版本不同,打開的對(duì)話框也是不同的。 圖4 Eclipse在線安裝插件點(diǎn)擊圖4 “Add”彈出圖8所示對(duì)話框。圖5 Eclipse在線安裝插件 在“Location”中輸入Android ADT插件在線下載地址:/android/eclipse/,點(diǎn)擊OK按鈕就可以下載安裝了,但是一定要保證電腦能夠上網(wǎng)。 設(shè)置Android SDK Home,Window-refrence在SDK location 中輸入SDK Tools 路徑:D:android softwareandroid-sdk-windows 點(diǎn)擊OK這樣Android環(huán)境就已經(jīng)搭建成功了圖6 安裝sdk后的截圖 4. 3 Android模擬器中sd卡的創(chuàng)建和文件的上傳在Android模擬器中,初始時(shí)沒有sdcard的,為了存放音樂文件,需要自己創(chuàng)建sdcard,我們先來看看如何創(chuàng)建sdcard以及文件上傳。4.3.1 SD卡的創(chuàng)建 通過Android的Tools來創(chuàng)建sd卡并導(dǎo)入進(jìn)來。 (1)打開dos,windows+R鍵打開。轉(zhuǎn)換到你的sdk安裝包的tools目錄下,如我的目錄如下:F:adt-bundle-windows-x86-20130219sdktools。 (2)創(chuàng)建sd卡。在命令行中輸入:mksdcard 1024MF:androidsdcardsdcard.(這個(gè)1024M就是我們要?jiǎng)?chuàng)建的SD卡的大小,還是根據(jù)自己的需要來輸入,最后面的那個(gè)F:androidsdcardsdcard.img就是所設(shè)置的SD存放路徑,這里也可以根據(jù)我們自己的需要改變路徑的,但要注意路徑中不能有空格出現(xiàn))。 (3)在Eclipse里面創(chuàng)建模擬器,并以該SD開來創(chuàng)建。 (4)創(chuàng)建完成之后,啟動(dòng)該模擬器??梢栽贏ndroidSDK and AVD Manager 里面指定模擬器并啟動(dòng)。 (5)同樣打開Eclipse的DDMS-FileExplorer 查看sd卡是否安裝成功6。5 Android應(yīng)用開發(fā)實(shí)例配置好開發(fā)環(huán)境后,使用Eclipse+ADT開發(fā)Android應(yīng)用程序就很方便了。開發(fā)流程 如下:創(chuàng)建一個(gè)Android項(xiàng)目;使用XML layout設(shè)計(jì)和編輯用戶界面; 繼承Activity類并覆蓋相應(yīng)的方法,加入功能代碼;在模擬器或移動(dòng)設(shè)備上運(yùn)行、調(diào)試和測(cè)試程序。 下面以一個(gè)簡(jiǎn)單的播放器為例來闡述下Android應(yīng)用的開發(fā)過程與方法。程序的基本功能是播放本地的音頻文件,使用Java語言開發(fā)。首先通過Eclipse的File一New一Project菜單創(chuàng)建“Android Project”項(xiàng)目,然后在新建Android項(xiàng)目對(duì)話框中輸入項(xiàng)目的名稱、目標(biāo)平臺(tái)等信息。完成后向?qū)ё詣?dòng)生成應(yīng)用程序框架,然后在此基礎(chǔ)上通過修改自動(dòng)生成的代碼來實(shí)現(xiàn)自己的功能即可。5.1 功能需求 5.1.1 播放器的基本控制需求 根據(jù)項(xiàng)目的目標(biāo),我們可獲得項(xiàng)目系統(tǒng)的基本需求,一下從不同的角度來描述系統(tǒng)的需求,并且使用用例圖來描述,系統(tǒng)的功能需求,我們分成四部分來概括,即播放器的基本控制需要,播放列表管理需求,播放器友好性需求和播放器擴(kuò)展卡需求。圖7 播放器基本控制圖 在播放器正在運(yùn)行時(shí),用戶單擊“播放”按鈕,播放器將播放選中的播放列表中的音樂,并同時(shí)顯示當(dāng)前進(jìn)度;當(dāng)歌曲未暫?;蛲V箷r(shí),用戶單擊“暫?!卑粹o,播放器將進(jìn)入暫停狀態(tài);播放器正在播放或暫停時(shí),用戶單擊“停止”按鈕,播放器將停止播放或暫停時(shí),用戶點(diǎn)擊“上一首”或者“下一首”按鈕,播放器將播放上一首或下一首歌曲。 5.1.2功能需求(時(shí)序圖)分析 從時(shí)序圖中可以看出播放器中信息發(fā)送和調(diào)用過程:主界面播放列表播放界面點(diǎn)擊進(jìn)入按鈕選擇歌曲播放進(jìn)入播放列表播放后臺(tái)serviceSe rvic播放頁面發(fā)送參數(shù),調(diào)用后臺(tái)service播放,返回播放界面圖8 音樂播放器的時(shí)序圖5.2 系統(tǒng)結(jié)構(gòu)圖和流程圖主界面搜索是否點(diǎn)擊要播放的歌曲音樂播放程序結(jié)束網(wǎng)絡(luò)搜索本地文件播放列表樂圖9 音樂播放器系統(tǒng)流程圖5.3系統(tǒng)界面需求 播放器界面要求布局合理,簡(jiǎn)約,顏色舒適,控制按鈕友好,能讓用戶一眼就能看出各個(gè)按鈕的作用及操作方法。能實(shí)現(xiàn)要求的功能,但又不重復(fù)。要考慮到不同手機(jī)屏幕大小可能不一樣,應(yīng)盡量兼容大多數(shù)手機(jī)屏幕尺寸,使之顯示無障礙。5.4系統(tǒng)性能需求根據(jù)Android手機(jī)系統(tǒng)要求無響應(yīng)時(shí)間為5秒,所以就有如下性能要求:(1)當(dāng)要求歌曲/視屏播放時(shí),程序響應(yīng)時(shí)間最長不能超過5秒。(2)當(dāng)要求歌曲/視屏?xí)和r(shí),程序響應(yīng)時(shí)間最長不能超過5秒。(3)當(dāng)要求歌曲/視屏停止時(shí),程序響應(yīng)時(shí)間最長不能超過5秒。(4)當(dāng)要求歌曲/視屏上/下一首時(shí),程序響應(yīng)時(shí)間最長不能超過5秒。(5)界面切換響應(yīng)時(shí)間最長不能超過3秒。5.5運(yùn)行環(huán)境需求(1)操作系統(tǒng):Windows 7。(2)支持環(huán)境:Android 2.2版本。(3)開發(fā)環(huán)境:Eclipse 3.5 ADT 14.0.0。6 網(wǎng)絡(luò)播放器的詳細(xì)設(shè)計(jì)6.1 播放器的主界面的設(shè)計(jì) Android的每一個(gè)可視化界面,都有其唯一的布局配置文件,該文件里面有各種布局方式,各種資源文件如圖像,文字,顏色的引用,程序在運(yùn)行時(shí),可以通過代碼對(duì)配置文件進(jìn)行讀取。這樣就可以形成不同的可視化界面和絢麗的效果。 圖10 播放器界面設(shè)計(jì) 為了實(shí)現(xiàn)網(wǎng)絡(luò)播放器的基本功能:音樂播放、暫停、停止、上一首、下一首網(wǎng)絡(luò)搜索,用事件監(jiān)聽。 主界面中一共有7個(gè)按鈕和一個(gè)seekbar(可拖動(dòng)的進(jìn)度條),都是采用的事件監(jiān)聽方式來控制的其相應(yīng)的功能。按下一個(gè)按鈕就會(huì)執(zhí)行一系列相應(yīng)的動(dòng)作如:打開本地視屏文件、上一個(gè)文件、播放/暫停、下一個(gè)文件等等。 本地文件列表是用listview來現(xiàn)實(shí)的,我將listview布局放入一個(gè)對(duì)話框中,當(dāng)我們點(diǎn)擊本地文件按鈕時(shí)我們就可以用對(duì)話框來顯示listview中的文件名稱,同時(shí)我們點(diǎn)擊相應(yīng)的文件名稱是就可以播放該文件內(nèi)容。這一功能是調(diào)用listview的監(jiān)聽來實(shí)現(xiàn)的。 同時(shí)也設(shè)置了屏幕監(jiān)聽,當(dāng)我們點(diǎn)擊屏幕是這些按鈕又會(huì)被調(diào)用出來,再次點(diǎn)擊就會(huì)暫停播放,雙擊是全屏和退出全屏。6.2 播放器的代碼編寫 Android本身支持多種媒體文件的播放,其API類庫中的MediaPlayer類就可以完成想要的功能。首先在程序中定義一個(gè)MediaPlayer對(duì)象m_player,然后調(diào)用其setDataSource(path)方法來指定要播放的媒體文件,其中path為媒體文件的路徑,然后再通過調(diào)用setAudioStream(AudioSystemSTREAM_MUSIC)方法設(shè)置流媒體的類型為音頻來完成準(zhǔn)備工作。用戶界面的設(shè)計(jì)是基XML layout的,可通過手工編寫XML代碼進(jìn)行,也可以通過可視化設(shè)計(jì)工具輕松完成。為了簡(jiǎn)單起見,音樂播放器界面中僅包含顯示當(dāng)前曲目的文本便簽和用于播放控制的“打開”、“播放”、“暫?!焙汀巴V埂彼膫€(gè)按鈕。用戶界面代碼如下:(1)文件列表按鈕布局:(2)暫停/播放按鈕布局:基本功能簡(jiǎn)介:本地文件列表是用listview來現(xiàn)實(shí)的,我將listview布局放入一個(gè)對(duì)話框中,當(dāng)我們點(diǎn)擊本地文件按鈕時(shí)我們就可以用對(duì)話框來顯示listview中的文件名稱,同時(shí)我們點(diǎn)擊相應(yīng)的文件名稱是就可以播放該文件內(nèi)容。這一功能是調(diào)用listview的監(jiān)聽來實(shí)現(xiàn)的。 在軟件幫助按鈕功能實(shí)現(xiàn)上使用一個(gè)imagbutton同時(shí)給這個(gè)按鈕設(shè)置監(jiān)聽,當(dāng)按鈕被按下就會(huì)觸發(fā)buttonlistener事件,這樣就會(huì)執(zhí)行我們?cè)诒O(jiān)聽器中的相應(yīng)動(dòng)作。主界面的中間就是MediaPlyer,當(dāng)我們?cè)诓シ乓暺習(xí)r,我調(diào)用了android中關(guān)于設(shè)置圖片透明度的相關(guān)函數(shù)把主界面的一些按鈕隱藏掉這樣跟方便觀看視屏和聽音樂。同時(shí)也設(shè)置了屏幕監(jiān)聽,當(dāng)我們點(diǎn)擊屏幕是這些按鈕又會(huì)被調(diào)用出來,再次點(diǎn)擊就會(huì)暫停播放,雙擊是全屏和退出全屏。 6.3 Android媒體播放原理Android源程序已經(jīng)為我們封裝了一個(gè)接口類,叫MediaPlayer。該接口在執(zhí)行前需要一個(gè)數(shù)據(jù)源,通過如下四個(gè)步驟:第一步:MediaPlayer.reset();復(fù)位操作,為以后的媒體準(zhǔn)備播放做準(zhǔn)備。第二步:傳入歌曲/視屏數(shù)據(jù)源,這里也是一個(gè)數(shù)據(jù)源:MediaPlayer.setDataSource(String path);參數(shù)需要一個(gè)路徑,該接口類在收到路徑后將其轉(zhuǎn)化為數(shù)據(jù)源。第三步:準(zhǔn)備播放數(shù)據(jù)源,調(diào)用MediaPlayer.prepare();。第四步:MediaPlayer.start();。播放數(shù)據(jù)源,該數(shù)據(jù)源播放后,不再于程序有關(guān),需要調(diào)用MediaPlayer.stop()方法讓其停止或MediaPlayer.start();讓其啟動(dòng)8。7軟件測(cè)試7.1 軟件的測(cè)試 一個(gè)程序并不可能達(dá)到十分完美,難免存在一些錯(cuò)誤。如果不能及時(shí)將其找出并修改,會(huì)造成系統(tǒng)崩潰并造成不必要的損失。通過軟件測(cè)試,盡可能多的找出系統(tǒng)中的錯(cuò)誤,以便于及時(shí)修改7。7.2軟件測(cè)試的環(huán)境 (1)軟件測(cè)試的性能要求 軟硬件要求:系統(tǒng)環(huán)境 win7;硬件系統(tǒng)環(huán)境 P4 2.4、1024MB內(nèi)存、80G硬盤。系統(tǒng)運(yùn)行時(shí)對(duì)數(shù)據(jù)的保密性要求不高對(duì)一般的數(shù)據(jù)不要求進(jìn)行加密。此外,對(duì)其他軟件幾乎沒有依賴性,程序健壯性較好。 (2)測(cè)試建立一張模擬的SD卡,上傳歌曲文件;分別測(cè)試其的播放、暫停、停止、上/下一首的功能是否有用。 (3)軟件測(cè)試的評(píng)價(jià)軟件功能評(píng)價(jià):此軟件各模塊都能實(shí)現(xiàn)各自的功能,基本符合播放音樂、視屏的要求。8 結(jié)束語綜上所述,我們大致可以了解移動(dòng)應(yīng)用的開發(fā)過程,即搭建它所運(yùn)行的環(huán)境和開發(fā)它所使用的語言。剩下的即為在開發(fā)環(huán)境下應(yīng)用代碼的編寫。學(xué)習(xí)一門新技術(shù),最重要的是實(shí)踐,只有多動(dòng)手才能盡快掌握它。一個(gè)系統(tǒng)的開發(fā),經(jīng)驗(yàn)是最重要的,經(jīng)驗(yàn)不足,就難免會(huì)有許多考慮不周之處。 隨著移動(dòng)互聯(lián)網(wǎng)的不斷發(fā)展,智能手機(jī)等移動(dòng)終端設(shè)備將取代PC而成為市場(chǎng)主流。Android以其開放性、易用性和良好的用戶體驗(yàn)得到業(yè)界廣泛關(guān)注,進(jìn)行Android應(yīng)用開發(fā)的公司與個(gè)人也在以驚人的速度增加,競(jìng)爭(zhēng)也越來越激烈,以搶占市場(chǎng)先機(jī)。 本文以此為背景,詳細(xì)地闡述了Android平臺(tái)的組成、架構(gòu)、應(yīng)用框架和組成,并通過一個(gè)簡(jiǎn)單的實(shí)例介紹了該平臺(tái)下應(yīng)用程序的開發(fā)流程與開發(fā)方法。致謝 感謝程樹林老師對(duì)我論文的指導(dǎo),以及各位審核教師的檢測(cè)。參考文獻(xiàn)1胡幸征,ophone應(yīng)用開發(fā)權(quán)威指南M,北京:電子工業(yè)出版社,2010.1;40-60.2朱靖宇,程序設(shè)計(jì)語言的進(jìn)化,計(jì)算機(jī)世界J2004,(02) 3 高煥堂,Google Android 應(yīng)用框架原理與程序設(shè)計(jì)M, 廣東:廣悅文化事業(yè)有限公司出版社, 2009,1,56-80.4 溫敏、艾麗蓉、王國志,And
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 解除財(cái)務(wù)擔(dān)保協(xié)議書模板
- 超市勞務(wù)合同協(xié)議版
- 證明舊合同無效補(bǔ)充協(xié)議
- 超合同價(jià)補(bǔ)協(xié)議范本
- 解除維修協(xié)議書范本
- 購買品牌空調(diào)合同協(xié)議
- 贊助合同終止協(xié)議范本
- 財(cái)產(chǎn)自愿轉(zhuǎn)讓合同協(xié)議
- 詐騙借款協(xié)議書范本
- 購買保險(xiǎn)抵押合同協(xié)議
- (高清版)DZT 0285-2015 礦山帷幕注漿規(guī)范
- 2024年安徽黃山旅游集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 小升初英語語法專項(xiàng)練習(xí)題 代詞
- icu病房與icu病房建設(shè)標(biāo)準(zhǔn)
- 2023年工會(huì)財(cái)務(wù)知識(shí)競(jìng)賽題庫及答案(完整版)
- 北京地鐵介紹
- 經(jīng)濟(jì)學(xué)原理講義
- 倉庫管理程序文件生產(chǎn)企業(yè)的標(biāo)準(zhǔn)倉庫管理程序文件
- 2022年中考語文二輪專題復(fù)習(xí):散文閱讀專項(xiàng)練習(xí)題匯編(含答案)
- 跨越高速公路及省道施工方案
- 無人機(jī)智能機(jī)巢行業(yè)調(diào)研報(bào)告
評(píng)論
0/150
提交評(píng)論