移動互聯(lián)終端項目開發(fā) 課件_第1頁
移動互聯(lián)終端項目開發(fā) 課件_第2頁
移動互聯(lián)終端項目開發(fā) 課件_第3頁
移動互聯(lián)終端項目開發(fā) 課件_第4頁
移動互聯(lián)終端項目開發(fā) 課件_第5頁
已閱讀5頁,還剩69頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第10章移動互聯(lián)終端(Android)項目開發(fā)目錄4.第一個Android應用程序2.Android開發(fā)框架1.什么是Android3.Android應用環(huán)境5.章節(jié)練習6.串口通訊實驗7.體溫、脈率數(shù)據(jù)采集模塊開發(fā)8.網(wǎng)絡攝像頭控制模塊開發(fā)什么是AndroidAndroid是基于Linux內核的操作系統(tǒng),是Google公司在2007年11月5日公布的手機操作系統(tǒng),早期由Google開發(fā),后由開放手持設備聯(lián)盟(OpenHandsetAlliance)開發(fā)。它采用了軟件堆層的架構,主要分為三部分。底層以Linux內核工作為基礎,由C語言開發(fā),只提供基本功能;中間層包括函數(shù)庫Library和虛擬機VirtualMachine,由C++開發(fā);最上層是各種應用軟件,包括通話程序,短信程序等,應用軟件則由各公司自行開發(fā),以Java作為編寫程序的一部分。Android版本目錄4.第一個Android應用程序2.Android開發(fā)框架1.什么是Android3.Android應用環(huán)境5.章節(jié)練習6.串口通訊實驗7.體溫、脈率數(shù)據(jù)采集模塊開發(fā)8.網(wǎng)絡攝像頭控制模塊開發(fā)Android開發(fā)框架從宏觀的角度來看,Android是一個開放的軟件系統(tǒng),它包含了眾多的源代碼。從下至上,Android系統(tǒng)分成4個層次:第1層次:Linux操作系統(tǒng)及驅動;第2層次:本地代碼(C/C++)框架;第3層次:應用程序框架;第4層次:應用程序。Android的第1層次由C語言實現(xiàn),第2層次由C和/C++實現(xiàn),第3、4層次主要由Java代碼實現(xiàn)。Android系統(tǒng)的架構10.2.1Linux操作系統(tǒng)及驅動Android的核心系統(tǒng)服務依賴于Linux14.6內核,操作系統(tǒng)為其提供的服務包括:安全性,內存管理,進程管理,網(wǎng)絡協(xié)議棧和驅動模型。Linux內核也同時作為硬件和軟件棧之間的抽象層,它隱藏具體硬件細節(jié)而為上層提供統(tǒng)一的服務。其外還對其做了部分修改,主要涉及兩部分修改:一、Binder(IPC)二、電源管理10.2.2本地框架與JAVA運行環(huán)境一、程序庫AndroidLibraries包含一些C/C++庫,這些庫能被Android系統(tǒng)中不同的組件使用。它們通過Android應用程序框架為開發(fā)者提供服務。以下是一些核心庫:Bionic系統(tǒng)C庫、媒體庫、SurfaceManager、Webkit、SGL、3Dlibraries、FreeType、SQLite、CoreLibraries、DalvikVM二、Android運行庫AndroidRuntime包括了一個核心庫的集合,該核心庫提供了JAVA編程語言核心庫的大多數(shù)功能。每一個Android應用程序都在它自己的進程中運行,都擁有一個獨立的Dalvik虛擬機實例。Dalvik被設計成一個設備可以同時高效地運行多個虛擬系統(tǒng)。10.2.3應用程序框架開發(fā)人員也可以完全訪問核心應用程序所使用的API框架。該應用程序的架構設計簡化了組件的重用;任何一個應用程序都可以發(fā)布它的功能塊并且任何其它的應用程序都可以使用其所發(fā)布的功能塊(不過得遵循框架的安全性限制)。Applicationframework通過提供開放的開發(fā)平臺,Android使開發(fā)者能夠編制極其豐富和新穎的應用程序。開發(fā)者可以自由地利用設備硬件優(yōu)勢、訪問位置信息、運行后臺服務、設置鬧鐘、向狀態(tài)欄添加通知等等,很多很多。隱藏在每個應用后面的是一系列的服務和系統(tǒng),其中包括:視圖(View)(UI組件)內容提供器(ContentProvider)資源管理器(ResourceManager)通知管理器(NotificationManager)活動管理器(ActivityManager)窗口管理(WindowManager)位置管理(LocationManager)電話管理(TelephoneManager)包管理(PackageManager)10.2.4應用程序應用層是和用戶交互的一個層次。AndroidApplications會同一系列核心應用程序包一起發(fā)布,該應用程序包包括Email客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯(lián)系人管理程序等。所有的應用程序都是使用JAVA語言編寫的??偨Y從上面我們知道Android的架構是分層的,非常清晰,分工很明確。Android本身是一套軟件堆疊(SoftwareStack),或稱為“軟件疊層架構”,疊層主要分成三層:操作系統(tǒng)、中間件、應用程序。目錄4.第一個Android應用程序2.Android開發(fā)框架1.什么是Android3.Android應用環(huán)境5.章節(jié)練習6.串口通訊實驗7.體溫、脈率數(shù)據(jù)采集模塊開發(fā)8.網(wǎng)絡攝像頭控制模塊開發(fā)10.3.1Android借開源平臺和海量軟件主導市場Android被譽為“首個為移動終端打造的真正開放和完整的移動軟件”,最大的優(yōu)勢在于系統(tǒng)的開放性、服務的免費性和與互聯(lián)網(wǎng)實現(xiàn)無縫對接。Android系統(tǒng)已被廣泛用于智能手機和平板電腦等領域,可應用程序數(shù)量達到20萬種。Android是一個完整的軟件平臺,是一種以Linux為核心的開放源代碼操作系統(tǒng),加上Java的良好支持,類似于Linux系統(tǒng),可以吸引眾多電腦愛好者參與代碼編寫。10.3.2中國智能手機市場追捧Android國內使用Android系統(tǒng)包括華為、小米、魅族、天語、聯(lián)想、海爾、酷派等多家廠商。多家廠商推出了自己的手機操作系統(tǒng),如華為(EMUI)、小米科技(MIUI)、聯(lián)想(leOS)、風靈創(chuàng)景點心(OS)、阿里巴巴阿里云(OS)等,但由于技術、資金等資源的限制,并不能開發(fā)出一套自主的、完整的操作系統(tǒng),目前我國手機操作系統(tǒng)大多依賴于Android。目錄4.第一個Android應用程序2.Android開發(fā)框架1.什么是Android3.Android應用環(huán)境5.章節(jié)練習6.串口通訊實驗7.體溫、脈率數(shù)據(jù)采集模塊開發(fā)8.網(wǎng)絡攝像頭控制模塊開發(fā)第一個Android應用程序本節(jié)授課需要預先裝好Android開發(fā)環(huán)境及創(chuàng)建好運行Android程序的手機模擬器,學生課后可以參考本章“10.5章節(jié)練習中的10.5.1搭建Windows下Android開發(fā)環(huán)境”。10.4.1創(chuàng)建第一個Android應用程序一、在Eclipse中,選擇File→New→AndroidApplicationProject,具體輸入如圖所示。二、接著一直單擊【Next】按鈕,

直至出現(xiàn)【Finish】按鈕。三、單擊【Finish】按鈕,在Eclipse中,

可以看到如圖所示的android應用程序目

錄結構。四、如圖所示,右鍵點擊項目名稱,在彈出對話框中選擇【RunAs】【AndroidApplication】,運行該程序。五、執(zhí)行該程序后在Android手機模擬器顯示圖效果,至此說明Windows環(huán)境下android開發(fā)環(huán)境搭建成功。10.4.2第一個Android程序說明一、Android項目結構在Eclipse開發(fā)環(huán)境下進入01_HelloWorld項目的目錄下,可以看到如下兩個必要的文件夾:上面的文件結構中res目錄、src目錄、AndroidMainfest.xml文件是Android項目所必需的。其他目錄、其他文件都是可選的。 res目錄存放Android項目的各種資源文件src目錄只是一個普通的、保存java源文件的目錄AndroidManifest.xml文件是Android項目的系統(tǒng)清單文件,它用于控制Android應用的名稱、圖標、訪問權限等整體屬性。bin:該目錄用于存放生產(chǎn)的目標文件,如JAVA的二進制文件、資源文件(.ap_后綴)、Daivik虛擬機的可執(zhí)行文件(.dex后綴)等。gen:該目錄用于保存Android自動生產(chǎn)的一個R.java清單文件,讀者不要去改寫這里面的代碼。二、res目錄說明Android應用的res目錄是一個特殊的項目,該項目里存放了Android應用所用的全部資源,包括圖片資源、字符串資源、顏色資源、尺寸資源等——后面還會進一步介紹Android應用資源的用法,不過此處先對res目錄的資源進行簡單的歸納。Android按照約定,將不同的資源放在了不同的文件夾內,這樣可以方便讓AAPT工具來掃描這些資源,并為它們生成對應的資源清單類:R.java。以/res/value/strings.xml文件來說,該文件的內容十分的簡單,它只是定義了一條一條的字符串常量,如以下代碼所示:接著我們來講解/res/layout/activity_main.xml文件,layout文件夾存放Android界面的布局文件,一個個.xml布局文件構成了豐富多彩的Android程序界面。三、src目錄說明src目錄用來保存java源文件的目錄,第一個應用程序自動生成一個MainActivity.java文件。目錄4.第一個Android應用程序2.Android開發(fā)框架1.什么是Android3.Android應用環(huán)境5.章節(jié)練習6.串口通訊實驗7.體溫、脈率數(shù)據(jù)采集模塊開發(fā)8.網(wǎng)絡攝像頭控制模塊開發(fā)10.5.1搭建Windows下Android開發(fā)環(huán)境1、Android環(huán)境平臺的搭建步驟Android應用開發(fā)環(huán)境平臺使用的是Eclipse開發(fā)環(huán)境,Android環(huán)境平臺的搭建一般包括以下幾個部分安裝與配置:(1)JDK安裝(2)Eclipse安裝(3)AndroidSDK安裝(4)ADT安裝配置(5)創(chuàng)建AVD2、安裝前需要以下軟件:(1)JDK14.7(2)Eclipse(3)Android-sdk_-windows實驗步驟:第一步:JDK安裝,請參考本書8.2節(jié)。第二步:Eclipse安裝如果你還沒有Eclipse的話,可以去/downloads/,下載如圖10.9所示的EclipseIDEforJavaDevelopers(150M)的win32bit版。解壓之后即可使用。第三步:ADT安裝配置(1)運行eclipse.exe啟動EclipseIDE,選擇菜單項Help→InstallNewSoftware...,出現(xiàn)如圖10.10所示的Install對話框。(2)單擊【Add…】按鈕,Name文本框里寫“ADT”,Location文本框里輸入Android插件的路徑:/android/eclipse。如圖所示。備注:如果你已經(jīng)下載了ADT,點擊Archive…按鈕直接指定磁盤中的ADT包。(3)單擊【OK】后,Pending...,找到最新的ADT插件,包含2個children(子選項),如圖所示:(4)選中所有組件,單擊【Next...】,安裝提示安裝完成。備注:單獨下載的ADT-20.0.0.zip大小超過12MB,安裝時間視網(wǎng)絡連接狀況而定。(5)安裝成功Eclipse開發(fā)環(huán)境可出現(xiàn)如圖方框的內容。第四步:安裝AndroidSDK下載網(wǎng)址:/sdk/index.html。在Eclipse中選擇“Window→Preference”,從左側的列表中選擇Android項,在SDK設置SDKLocation中,點擊“Browse…”按鈕;選擇Android,SDK的目錄,點擊“OK”按鈕。如圖所示。第五步:創(chuàng)建AVD(1)在Eclipse的菜單中,選擇“Window→AndroidAVDManager”或單擊工具欄上的“”打開模擬器圖標,出現(xiàn)“AndroidSDKandAVDDeviceManager”窗口。界面中的列表表示了目前可以使用的Android虛擬設備,在沒有虛擬設備的情況下點擊右側的New選擇建立一個虛擬設備,如圖10.15所示。各選項配置完成后,單擊【CreateAVD】完成。(2)在“AndroidSDKandAVDDeviceManager”窗口中,選擇一個設備,點擊右側的Start,將啟動虛擬設備,選中ScaleDisplay選項,調整虛擬機屏幕大小。啟動后的AVD界面如圖所示。10.5.2自己動手編寫第一個Android應用程序第一步:編寫布局文件(1)在剛才創(chuàng)建的第一個Android應用程序基礎上展開“res→layout”,打開“main.xml”文件。切換到“GraphicalLayout”視圖,添加一個按鈕,按照表10.6修改“main.xml”布局文件。修改后的“main.xml”布局如下一頁圖所示。備注:也可以切換到“main.xml”視圖下,通過直接編輯XML文件內容來修改界面布局。(2)展開“src→android.helloworld”,打開“HelloWorldActivity.java”文件。編輯該文件,添加Android單擊事件,實現(xiàn)單擊命令按鈕式,出現(xiàn)提示信息框,提示內容與tvHelloWorld控件的文本內容相同,即“HelloWorld!”。Android單擊事件通常有三種方法實現(xiàn):方法一:在main.xml文件中指定單擊事件函數(shù),這個方式適合比較多的button的情況使用。然后在類中添加myClick這個函數(shù)(在下一頁)。注意,函數(shù)需要public否則會出現(xiàn)異常。其余兩個方法請查看書本P221-P222.代碼編寫完畢,修正去錯后,查看src下HelloWorldActivity.java文件、gen下R.java文件、res下layout下main.xml文件,觀察并熟悉這些文件的基本結構和彼此之間的聯(lián)系。完整的代碼請參閱“參考代碼”部分。第三步:測試HelloWorld項目。(1)啟動模擬器;(2)在Eclipse中,右擊“01_HelloWorld”項目,在彈出的菜單上執(zhí)行“RunAS→RunConfigurations…”命令,如圖所示。(3)進入“RunConfigurations”對話框,雙擊左側列表的"AndroidApplication"創(chuàng)建一個新的配置文件;設置右側"Android"選項卡中的Name項,并指定"Project"項目;如圖所示。(4)單擊“Target”選項卡,如圖所示。在"Target"選項卡右側列表中,有三個選項:①Alwayspromptto

pickdevice②Launchonallcompatible

devices/AVD’s③Aotumatically…Selecta

preferredAndroidVirtual

Devicefordeployment第一個選項,每次運行該程序都要選擇設備;第二個選項可設置你指定連接至電腦的Android設備;第三個選項可選擇你自己創(chuàng)建的模擬器。(5)勾選第三項自己創(chuàng)建的"AVD14.3.3"模擬器,單擊【Apply】后,再單擊【Run】按鈕,運行該程序,當單擊命令按鈕時,彈出文本相同的內容提示信息框。運行結果如圖所示。目錄4.第一個Android應用程序2.Android開發(fā)框架1.什么是Android3.Android應用環(huán)境5.章節(jié)練習6.串口通訊實驗7.體溫、脈率數(shù)據(jù)采集模塊開發(fā)8.網(wǎng)絡攝像頭控制模塊開發(fā)串口通訊實驗一、實驗目的進一步理解并掌握串口的功能特性。掌握串口的通訊程序編寫,并串口助手實現(xiàn)與Android設備串口的通信;進一步掌握Android事件編程機理,掌握Android的繼承實現(xiàn)方法。二、實驗環(huán)境硬件:移動互聯(lián)終端,PC機(至少一個串口、若干個USB口),一根串口數(shù)據(jù)線(如圖,連接PC的COM1與移動互聯(lián)終端的COM1),一根MiniUSB線(如圖,連接PC的USB與移動互聯(lián)終端的USBOTG接口)。軟件:Eclipse平臺的Android開發(fā)環(huán)境,串口助手工具。實驗目錄:02_SerialPort。三、實驗內容設計基本串行通信程序,實現(xiàn)串口的數(shù)據(jù)通信功能。應用程序具備三個功能:功能1:可對通訊串口的端口、波特率進行設置。功能2:在文本框中輸入字符,單擊發(fā)送按鈕,可將字符發(fā)送到PC機功能3:可接收來自PC端串口助手發(fā)送的任意字符。四、實驗原理1、串口的基本知識串口通訊傳輸?shù)哪J格式定義為:波特率9600bps,8位數(shù)據(jù)位,1位停止位,無校驗位??梢詫@些串行傳輸?shù)母袷蕉x以滿足實際傳輸?shù)男枨?。本指導書所涉及的串口通訊傳輸格式均?位數(shù)據(jù)位,1位停止位,無校驗位;波特率根據(jù)需求自行設定。串口通訊的處理通訊方式的有“應答模式”和“響應模式”兩種方式:應答模式:就是發(fā)送后等待一定時間后接收,根據(jù)需要判斷接收數(shù)據(jù)是否有效。(上下位機控制使用比較多)。響應模式:是緩沖區(qū)內有數(shù)據(jù)就響應OnDataReceived事件,接收處理。onDataReceived事件是在輔線程,在串口打開時執(zhí)行該線程start()方法,當收到數(shù)據(jù)時,運行在輔線程的run()方法,當接收完數(shù)據(jù)后,返回主線程處理或在窗體上顯示時,請注意跨線程的異步處理。串口通訊步驟如下圖所示。2、SerialPort類簡介基于Android平臺的SerialPort類的是新大陸公司提供的專門針對端口(包括串口、USB口)操作的類庫,該類主要實現(xiàn)端口數(shù)據(jù)通信等,該類所在的包名為“com.newland.jni”。以下主要介紹該類的主要方法。intgetReadTimeout()功能:獲取讀取操作未完成時發(fā)生超時之前的毫秒數(shù)返回:返回毫秒數(shù)voidsetReadTimeout(intreadTimeout)功能:獲取讀取操作未完成時發(fā)生超時之前的毫秒數(shù)參數(shù):readTimeout—要設置的毫秒數(shù)voidsetOnDataReceivedListener(OnDataReceivedListenerlistener)功能:設置數(shù)據(jù)接收的監(jiān)聽器參數(shù):listener—數(shù)據(jù)接收的監(jiān)聽器OnDataReceivedListener為數(shù)據(jù)接收后回調函數(shù)的接口,封裝在SerialPort.jar文件里的接口。voidsetCommReceivedMode(booleanisResponseMode)功能:設置端口的通訊接收處理方式參數(shù):isResponseMode:值為true,為響應模式,false為應答模式voidclearReadBuffer()功能:清除接收緩沖區(qū)參數(shù):command—要發(fā)送的命令字符數(shù)組voidintopenPort(intport,intmode,intbaudRate)功能:打開端口參數(shù):port:串口值0-9(默認為3),當mode=2時,port=0低頻、1超高頻mode:區(qū)分是USB串口還是COM串口,0表示COM,1表示USB,2表示是低頻與超高頻、3為二維碼baudRate:取值為0至9,其中0表示波特率為1200,1為2400、2為4800、3為9600、4為19200、5為38400、6為57600、7為115200、8為230400、9為921600返回:串口句柄值,其值大于0,正確打開端口voidclosePort()功能:關閉串口voidsendCommand(char[]command)功能:發(fā)送命令字符數(shù)組參數(shù):command—要發(fā)送的命令字符數(shù)組五、實驗步驟第一步:硬件連接(1)串口連接線。將串口數(shù)據(jù)(兩端均為母頭)一端連接至電腦的“COM1”,另一端連接至移動互聯(lián)終端的“COM1”;(2)USB線連接。將移動互聯(lián)終端提供的MiniUSB線插到移動互聯(lián)終端USBOTG接口,另一端接在PC機USB接口上,主要用于Android下USBADB功能和應用程序調試。(3)電源供電。撥動開關至“ON”狀態(tài),給實訓移動互聯(lián)終端的Android設備供電。第二步:創(chuàng)建“02_SerialPort”串口基本應用程序。詳細步驟請查看書本P231八、關鍵代碼解析(1)導入串口處理所需的包importcom.newland.jni.SerialPort;//串口類importcom.newland.j

溫馨提示

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

評論

0/150

提交評論