應(yīng)用與開發(fā)環(huán)境_第1頁
應(yīng)用與開發(fā)環(huán)境_第2頁
應(yīng)用與開發(fā)環(huán)境_第3頁
應(yīng)用與開發(fā)環(huán)境_第4頁
應(yīng)用與開發(fā)環(huán)境_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、后后PC時(shí)代時(shí)代n在移動(dòng)互聯(lián)網(wǎng)時(shí)代,移動(dòng)終端的地位將變得越來越重要,手機(jī)變成了上網(wǎng)的第一終端,互聯(lián)網(wǎng)的使用工具已從PC向智能移動(dòng)終端進(jìn)行了平移。智能手機(jī)及操作系統(tǒng)智能手機(jī)及操作系統(tǒng)n根據(jù)Nielsen(尼爾森 )在2013年3月至5月的美國(guó)手機(jī)用戶調(diào)查中Android發(fā)展史安迪.魯賓2003年成立Android公司2005年Google收購(gòu)了剛剛成立22個(gè)月的Android公司2007年11月5日,以Google為首的34家公司宣布成立開放手機(jī)聯(lián)盟(Open Handset Alliance,簡(jiǎn)稱OHA)聯(lián)盟將會(huì)支持Google 發(fā)布的Android 手機(jī)操作系統(tǒng)或者應(yīng)用軟件,共同開發(fā)名為An

2、droid 的開放源代碼的移動(dòng)系統(tǒng)。開放手機(jī)聯(lián)盟包括手機(jī)制造商、手機(jī)芯片廠商和移動(dòng)運(yùn)營(yíng)商幾類。目前,聯(lián)盟成員數(shù)量已經(jīng)達(dá)到了43 家2008年9月22日,美國(guó)運(yùn)營(yíng)商T-Mobile USA在紐約正式發(fā)布第一款Google手機(jī)T-Mobile G1Android歷史版本Android操作系統(tǒng)是一個(gè)由谷歌Google和開放手持設(shè)備聯(lián)盟共同開發(fā)發(fā)展的移動(dòng)設(shè)備操作系統(tǒng),其最早的一個(gè)版本Android 1.0 beta發(fā)布于2007年11月5日,至今已經(jīng)發(fā)布了多個(gè)更新。這些更新版本都在前一個(gè)版本的基礎(chǔ)上修復(fù)了bug并且添加了前一個(gè)版本所沒有的新功能。從2009年5月開始,Android操作系統(tǒng)改用甜點(diǎn)來作

3、為版本代號(hào),這些版本按照大寫字母的順序來進(jìn)行命名:紙杯蛋糕(Cupcake)、甜甜圈(Donut)、閃電泡芙(clair)、凍酸奶(Froyo)、姜餅(Gingerbread)、蜂巢(Honeycomb)冰激凌三明治(Ice Cream Sandwich)以及果凍豆(Jelly Bean)。Android歷史版本6Android 4.4甜點(diǎn)代號(hào)及翻譯:Cupcake:紙杯蛋糕Donut:甜甜圈clair:閃電泡芙、法式奶油夾心甜點(diǎn)、松餅Froyo:凍酸奶Gingerbread:姜餅Honeycomb:蜂巢、蜂窩Ice Cream Sandwich:冰激凌三明治、冰淇淋三明治Jelly Bean

4、:果凍豆、糖豆KitKat:奇巧巧克力棒7Android 系統(tǒng)的體系結(jié)構(gòu)應(yīng)用層應(yīng)用程序框架Android庫(kù)Linux內(nèi)核層Android庫(kù)C/C+庫(kù):被各種Android 組件使用,通過應(yīng)用程序框架開發(fā)者可以使用其功能。8n媒體庫(kù)nWebKit:Web 瀏覽引擎nSQLite 關(guān)系數(shù)據(jù)庫(kù)引擎n2D,3D 圖形庫(kù)、引擎nLibc:C庫(kù),Android沒有采用glibc,而是使用了自己開發(fā)的Bionic C庫(kù),以更適合移動(dòng)設(shè)備環(huán)境。Android 運(yùn)行時(shí)庫(kù)應(yīng)用開發(fā)語言:JavaDalvik虛擬機(jī)虛擬機(jī)用于Android平臺(tái)的Java虛擬機(jī)指令: Dalvik Excutable(.dex格式 區(qū)別

5、于J2SE中的bytecode)Android Java核心庫(kù)(包含部分J2SE庫(kù),基本上最常用的都有)9應(yīng)用程序框架層Activity manager:管理運(yùn)行應(yīng)用程序Content Provider:在各應(yīng)用之間共享數(shù)據(jù)Resource Manager:管理非代碼資源Notification Manager:顯示用戶提示和狀態(tài)欄Views System:可擴(kuò)展顯示,可構(gòu)建UI2022-7-510搭建Android開發(fā)環(huán)境開發(fā)環(huán)境要求:1.JDK 6 以上(一定要JDK,光JRE不夠)http:/ 3.6.2 以上3.Android SDK (軟件開發(fā)工具包)4.ADT(Android De

6、velopment Tools plugin,開發(fā)插件) 可簡(jiǎn)化可簡(jiǎn)化開發(fā)環(huán)境搭建步驟最方便的搭建方法,訪問http:/ 中包含:Eclipse + ADT pluginAndroid SDK ToolsAndroid Platform-toolsThe latest Android platformThe latest Android system image for the emulatorAndroid EmulatorSDK安裝配置成功后出現(xiàn)的圖標(biāo)SDK管理器圖標(biāo)AVD管理器圖標(biāo)2022-7-513AVD管理器2022-7-514新建AVD指定新建AVD名稱指定模擬器分辨率指定SDK版

7、本指定SD卡大小自定義硬件屬性2022-7-515啟動(dòng)模擬器由于要啟動(dòng)整個(gè)Android系統(tǒng),首次啟動(dòng)模擬器較慢,開發(fā)中調(diào)試用的模擬器可以一直開著。2022-7-516模擬器運(yùn)行慢以及無法更新Android SDK Manager無法更新1.Tools-options 2.Hosts文件修改C:WindowsSystem32driversetc添加:#google_android更新46 46 dl-Android運(yùn)行時(shí)的模擬器加速:http:/ 不支持音頻輸入(捕捉),但支持輸出(播放)。 不支持?jǐn)U展耳機(jī)。不能確定連接狀態(tài)。 不能確定電池電量水

8、平和交流充電狀態(tài)。 不能確定SD卡的插入/彈出。不支持藍(lán)牙。開發(fā)時(shí)使用模擬器或者用數(shù)據(jù)線連接真機(jī)的調(diào)試方法是相同的_。2022-7-518真機(jī)調(diào)試手機(jī)上設(shè)置:Setting (設(shè)置)- Applications(應(yīng)用程序) - Development (開發(fā)者選項(xiàng)) - USB debugging(USB調(diào)試) ,將這個(gè)選中。2022-7-519第一個(gè)Android應(yīng)用1.使用Eclipse添加Android Application(項(xiàng)目)2.界面內(nèi)容文本框按鈕3.效果找到控件:找到控件: TextView tx=(TextView)findViewById(R.id.textView1);添

9、加事件偵聽:添加事件偵聽:button.setOnClickListener(.)Android應(yīng)用程序的工程結(jié)構(gòu)應(yīng)用程序的工程結(jié)構(gòu)src:存放源代碼gen:自動(dòng)生成代碼目錄Android 4.2 & Android Dependencies:Android所依賴的jar文件assets:存放各種資源文件,音頻/視頻bin:存放生成的目標(biāo)文件libs:存放第三方的jar文件res:存放項(xiàng)目的各種資源文件AndroidManifest.xml:Android應(yīng)用的清單文件21資源(Resource)和資產(chǎn)(Assets)n 資源是想包含和引入到應(yīng)用程序里面的一些外部元素n 如圖片、音頻、視頻、文

10、本字符串、布局、主題等。n 每個(gè)Android應(yīng)用程序包含一個(gè)資源目錄(res/)和資產(chǎn)目錄(assets/)n 任何放置在資源目錄(res)里的內(nèi)容可以通過應(yīng)用程序的R類訪問,這是被Android編譯過的。n 而任何存放在資產(chǎn)目錄(assets)里的內(nèi)容會(huì)保持它的原始文件格式。為了讀取它,必須使用AssetManager以字節(jié)流的方式讀取文件。AndroidManifest.xml(P24) 一個(gè)應(yīng)用程序的所有的構(gòu)造塊以及應(yīng)用程序應(yīng)該聲明的種種要素都在AndroidManifest.xml文件中定義;清單文件給Android系統(tǒng)提供了關(guān)于這個(gè)應(yīng)用程序的基本信息,系統(tǒng)在能運(yùn)行任何程序代碼之前必

11、須知道這些信息。AndroidManifest.xml主要包含以下信息:應(yīng)用程序的包名,該包名將作為該應(yīng)用程序的唯一標(biāo)識(shí);應(yīng)用程序所包含的組件,如Activity、 BroadcastReceiver 、Service和ContentProvider等;應(yīng)用程序所要求的Android API的最低版本要求;聲明應(yīng)用程序必須具備的權(quán)限,用以訪問受保護(hù)的API以及和其他應(yīng)用程序交互;列舉application所需要鏈接的庫(kù)。2022-7-523AndroidManfest.xml24應(yīng)用程序許可一個(gè)許可(permission)是代碼對(duì)設(shè)備上數(shù)據(jù)的訪問限制每個(gè)許可被一個(gè)唯一的標(biāo)簽所標(biāo)識(shí)。androi

12、d.permission.CALL_EMERGENCY_NUMBERSandroid.permission.READ_OWNER_DATAandroid.permission.SET_WALLPAPERandroid.permission.CALL_PHONE如果一個(gè)應(yīng)用程序需要訪問一個(gè)需要特定權(quán)限的功能,它必須在manifest文件中使用元素來聲明這一點(diǎn)。25R.javaR.java:由aapt根據(jù)應(yīng)用程序中的資源文件自動(dòng)生成,res文件夾內(nèi)容發(fā)生任何變化,R.java文件都會(huì)重新編譯。262022-7-527Android程序調(diào)試方法DDMS使用Devices中的Reset adb:重新恢

13、復(fù)和模擬器的連接File Explorer:文件瀏覽器LogCat:用來獲取系統(tǒng)日志信息的工具,并可以顯示在Eclipse集成開發(fā)環(huán)境中。LogCat打開方式:Window Show View Other,打開Show View的選擇菜單,然后在Andoird LogCat中選擇LogCatLogCat打開后,便顯示在Eclipse的下方區(qū)域LogCatLogCat的右上方的下拉列表有五種不同類型的日志信息 ,他們的級(jí)別依次增高。級(jí)別高于所選類型的信息也會(huì)在LogCat中顯示,但級(jí)別低于所選類型的信息則不會(huì)被顯示V:詳細(xì)(Verbose)信息 D:調(diào)試(Debug)信息I:通告(Info)信息

14、 W:警告(Warn)信息 E :錯(cuò)誤(Error)信息 A:斷言(Assert)信息LogCatLogCat提供了“過濾”功能,在左上角的“+”號(hào)和“-”號(hào),分別是添加和刪除過濾器。用戶可以根據(jù)日志信息的標(biāo)簽(Tag)、產(chǎn)生日志的進(jìn)程編號(hào)(Pid)或信息等級(jí)(Level),對(duì)顯示的日志內(nèi)容進(jìn)行過濾LogCat程序調(diào)試原理引入android.util.Log包使用Log.v()、 Log.d()、 Log.i() 、Log.w() 和 Log.e()五個(gè)函數(shù)在程序中設(shè)置“日志點(diǎn)”當(dāng)程序運(yùn)行到“日志點(diǎn)”時(shí),應(yīng)用程序的日志信息便被發(fā)送到LogCat中判斷“日志點(diǎn)”信息與預(yù)期的內(nèi)容是否一致進(jìn)而判斷程

15、序是否存在錯(cuò)誤 LogCatbut.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) TextView tx=(TextView)findViewById(R.id.textView1);count+;tx.setText(有人點(diǎn)擊了按鈕,點(diǎn)擊次數(shù)+count);Log.w(test, 有人點(diǎn)擊了按鈕,點(diǎn)擊次數(shù)+count););LogCat添加過濾器LogCatLogCat過濾后的輸入結(jié)果LogCatAndroid應(yīng)用的基本組件介紹組件是可以調(diào)用的基本功能模塊,Android應(yīng)用程序就是由

16、組件組成的Android系統(tǒng)有四個(gè)重要的組件,分別是:ActivityServiceBroadcastReceiverContentProviderAndroid組件-Activity活動(dòng)(Activity)是最基本的 Android 應(yīng)用程序組件,應(yīng)用程序中一個(gè)活動(dòng)通常就是一個(gè)單獨(dú)的屏幕。 Android應(yīng)用程序可以包含一個(gè)或多個(gè)Activity,每一個(gè)活動(dòng)都被實(shí)現(xiàn)為一個(gè)獨(dú)立的類Activity可以簡(jiǎn)單理解為代表用戶所能看到的屏幕,其處理一個(gè)應(yīng)用的整體性工作,例如, 監(jiān)聽系統(tǒng)事件 ( 按鍵事件、觸摸屏事件等 ) 、為用戶顯示指定的 View ,啟動(dòng)其他 Activity 等。37Androi

17、d組件-Service服務(wù)(Service)沒有可視化的用戶界面,而是在一段時(shí)間內(nèi)在后臺(tái)運(yùn)行。比如說,一個(gè)服務(wù)可以在用戶做其它事情的時(shí)候在后臺(tái)播放背景音樂、從網(wǎng)絡(luò)上獲取一些數(shù)據(jù)。每個(gè)服務(wù)都繼承自Service基類。38Android組件-BroadcastReceiver廣播接收器(BroadcastReceiver)是一個(gè)專注于接收廣播通知信息,并做出對(duì)應(yīng)處理的組件。很多廣播是源自于系統(tǒng)代碼的比如,通知時(shí)區(qū)改變、電池電量低、拍攝了一張照片或者用戶改變了語言選項(xiàng)。應(yīng)用程序也可以進(jìn)行廣播比如說,通知其它應(yīng)用程序一些數(shù)據(jù)下載完成并處于可用狀態(tài)。應(yīng)用程序可以擁有任意數(shù)量的廣播接收器以對(duì)所有它感興趣的通知信息予以響應(yīng)。所有的接收器均繼承自BroadcastReceiver 基類。廣播接收器沒有用戶界面。然而,它們可以啟動(dòng)一個(gè)Activity來響應(yīng)它們收到的信息,或者用NotificationManager來通知用戶。39Android組件-ContentProv

溫馨提示

  • 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. 人人文庫(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)論