《android手機開發(fā)(基礎(chǔ)架構(gòu))參考ppt課件》由會員分享,可在線閱讀,更多相關(guān)《android手機開發(fā)(基礎(chǔ)架構(gòu))參考ppt課件(33頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、標(biāo)題文字,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,華夏通信,2,*,華夏通信,標(biāo)題文字,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,華夏通信,標(biāo)題文字,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,華夏通信,標(biāo)題文字
2、,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,華夏通信,標(biāo)題文字,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,華夏通信,標(biāo)題文字,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,華夏通信,標(biāo)題文字,Click to
3、 edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,華夏通信,標(biāo)題文字,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,華夏通信,標(biāo)題文字,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,華夏通信,標(biāo)題文字,Click to edit Mas
4、ter text styles,Second level,Third level,Fourth level,Fifth level,*,*,華夏通信,標(biāo)題文字,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,2,1,Android,手機開發(fā),,2012-3-16,21Android手機開發(fā) 2012-3-16,2,2,綱要,Android,概述,平臺架構(gòu),重要組件,開發(fā)環(huán)境介紹,Hello World!,Demo,演示,,22綱要Android概述,Android概述,
5、2,3,Android 手機操作系統(tǒng)是2007年11月5日由美國Google公司基于Linux整合開發(fā)的嵌入式系統(tǒng),后開源并由后由開放手機聯(lián)盟Open Handset Alliance)開發(fā)。在全世界范圍內(nèi),Moto、HTC(多普達)、聯(lián)想、三星等眾多公司都已經(jīng)推出Android手機產(chǎn)品和上網(wǎng)本產(chǎn)品,而且有越來越多加速上升的趨勢。,,,Android概述23Android 手機操作系統(tǒng)是2007,Android大事件,2005,Google,收購了成立僅,22,個月的高科技企業(yè),Android,2007,11,月,5,日,谷歌公司正式向外界展示,Android,操作系統(tǒng),2008,9,月,22
6、,日,谷歌正式對外發(fā)布第一款,Android,手機,——,HTC G1,9,月,23,日,谷歌發(fā)布,Android1.0,2,4,Android大事件2005Google收購了成立僅22個月,Android大事件,2009,4,月,3,日,,Android1.5,正式發(fā)布,9,月,25,日,,Android1.6,正式發(fā)布,10,月,28,日,,Android 2.0,智能手機操作系統(tǒng)正式發(fā)布,2010,5,月,19,日,,Google,正式對外發(fā)布,Android2.2,智能操作系統(tǒng),12,月,7,日,,Google,正式發(fā)布,Android2.3,操作系統(tǒng),2011,2,月,2,日,,,A
7、ndroid3.0,正式發(fā)布,2,月,3,日,谷歌發(fā)布了專用于平板電腦的,Android 3.0,蜂巢系統(tǒng),10,月,19,日,谷歌正式發(fā)布,Android 4.0,操作系統(tǒng),2012,1,月,4,日,,Android Market,上的應(yīng)用程序數(shù)量突破,40,萬個,每,4,個月增加,10,萬個應(yīng)用程序,3,月,1,日,,Google,對外宣布,,Android Market,的累計下載量已經(jīng)突破,130,億次,2,5,Android大事件20094月3日,Android1.5正,Android概述,2,6,6,,,移動用戶爆炸增長,已經(jīng)大大超過了,PC,用戶,Android概述266移動用戶
8、爆炸增長,已經(jīng)大大超過了PC,2,7,綱要,Android,概述,平臺架構(gòu),重要組件,開發(fā)環(huán)境介紹,Hello World!,Demo,演示,,27綱要Android概述,平臺架構(gòu),2,8,平臺架構(gòu)28,Linux核心層,Android基于Linux 2.6提供核心系統(tǒng)服務(wù),例如:安全、內(nèi)存管理、進程管理、網(wǎng)絡(luò)堆棧、驅(qū)動模型。Linux Kernel也作為硬件和軟件之間的抽象層,它隱藏具體硬件細節(jié)而為上層提供統(tǒng)一的服務(wù)。,2,9,Linux核心層Android基于Linux 2.6提供核心,Libraries類庫層,Android包含一個C/C++庫的集合,供Android系統(tǒng)的各個組件使用。
9、這些功能通過Android的應(yīng)用程序框架(application framework)暴露給開發(fā)者。,2,10,Libraries類庫層Android包含一個C/C++庫的,Android Runtime,核心庫:提供大部分在Java編程語言核心類庫中可用的功能,虛擬機:專為移動設(shè)備優(yōu)化過的虛擬機,每一個Android應(yīng)用程序是Dalvik虛擬機中的實例,2,11,Android Runtime核心庫:提供大部分在Java編,Application Framework,通過提供開放的開發(fā)平臺,,Android,使開發(fā)者能夠編制極其豐富和新穎的應(yīng)用程序。,簡化組件軟件的重用;任何一個應(yīng)用程序都可
10、以發(fā)布它的功能塊并且任何其它的應(yīng)用程序都可以使用其所發(fā)布的功能塊(不過得遵循框架的安全性限制),2,12,Application Framework通過提供開放的開發(fā),Application應(yīng)用層,Android裝配一個核心應(yīng)用程序集合,包括電子郵件客戶端、SMS程序、日歷、地圖、瀏覽器、聯(lián)系人和其他設(shè)置等,所有應(yīng)用程序都是用Java編程語言寫的,開發(fā)我們自己的手機應(yīng)用,r u ready?,,2,13,Application應(yīng)用層Android裝配一個核心應(yīng)用程,2,14,綱要,Android,概述,平臺架構(gòu),重要組件,開發(fā)環(huán)境介紹,Hello World!,Demo,演示,,214綱要An
11、droid概述,重要組件,Services(,服務(wù),),,Broadcast Receivers(,廣播接收器,),,Notifications(,通知,),……,Intents(,意圖,),Content(,內(nèi)容,),Activities(,活動,),,,,,,,,,,,,,2,15,應(yīng)用程序的顯示層。每一個畫面對應(yīng)于你的應(yīng)用程序,將會是,Activity,類的擴展。,Activity,使用,Views,去構(gòu)建,UI,來顯示信息和響應(yīng)用戶的行為。就桌面開發(fā)而言,一個,Activity,相當(dāng)于,Form,Android,應(yīng)用程序中不可見的“工人”。,Service,組件運行時不可見,但它負責(zé)更
12、新的數(shù)據(jù)源和可見的,Activity,,以及觸發(fā)通知。它們常用來執(zhí)行一些需要持續(xù)運行的處理。類似于,windows,的系統(tǒng)服務(wù),用戶通知的框架。,Notification,用來在不需要焦點或不中斷它們當(dāng)前,Activity,的情況下提示用戶。它們是,Service,或,Broadcast Receiver,獲得用戶注意的首選方式。例如,當(dāng)設(shè)備收到文本信息或外部來電時,它通過閃光,發(fā)聲,顯示圖標(biāo)或顯示對話框信息來提醒你。,重要組件Services(服務(wù)) Broadcast Rec,重要組件,Services(,服務(wù),),,Broadcast Receivers(,廣播接收器,),,Notifi
13、cations(,通知,),……,Intents(,意圖,),Content(,內(nèi)容,),Activities(,活動,),,,,,,,,,,,,,2,16,Intent,廣播的“消費者”。通過創(chuàng)建和注冊一個,Broadcast Receiver,,應(yīng)用程序可以監(jiān)聽符合特定條件的廣播的,Intent,。,Broadcast Receiver,會自動的啟動你的,Android,應(yīng)用程序去響應(yīng)新來的,Intent,。,Broadcast Receiver,是事件驅(qū)動程序的理想手段。,提供共享的數(shù)據(jù)存儲。,Content Provider(,內(nèi)容提供器,),用來管理和共享應(yīng)用程序的數(shù)據(jù)庫。在應(yīng)用程序
14、間,,Content Provider,是共享數(shù)據(jù)的首選方式。這意味著,你可以配置自己的,Content Provider,去存取其他的應(yīng)用程序或者通過其他應(yīng)用程序暴露的,Content Provider,去存取它們的數(shù)據(jù)。,Android,設(shè)備本身包含了幾個,Content Provider,來訪問像聯(lián)系人信息等有用的數(shù)據(jù)庫。,簡單的消息傳遞框架。使用,Intent,,你可以在整個系統(tǒng)內(nèi)廣播消息或者給特定的,Activity,或者服務(wù)來執(zhí)行你的行為意圖。系統(tǒng)會決定那個,(,些,),目標(biāo)來執(zhí)行適當(dāng)?shù)男袨椤?重要組件Services(服務(wù)) Broadcast Rec,重要java包,andro
15、id.app,:提供高層的程序模型、提供基本的運行環(huán)境,android.content,包含各種的對設(shè)備上的數(shù)據(jù)進行訪問和發(fā)布的類,android.database,:通過內(nèi)容提供者瀏覽和操作數(shù)據(jù)庫,android.graphics,:底層的圖形庫,包含畫布,顏色過濾,點,矩形,可以將他們直接繪制到屏幕上,.,android.location,:定位和相關(guān)服務(wù)的類,android.media,:提供一些類管理多種音頻、視頻的媒體接口,,:提供幫助網(wǎng)絡(luò)訪問的類,超過通常的,.*,接口,android.os,:提供了系統(tǒng)服務(wù)、消息傳輸、,IPC,機制,android.opengl,:提供,Open
16、GL,的工具,,3D,加速,android.provider,:提供類訪問,Android,的內(nèi)容提供者,android.telephony,:提供與撥打電話相關(guān)的,API,交互,android.view,:提供基礎(chǔ)的用戶界面接口框架,android.util,:涉及工具性的方法,例如時間日期的操作,android.webkit,:默認瀏覽器操作接口,android.widget,:包含各種,UI,元素(大部分是可見的)在應(yīng)用程序的屏幕中使用,,2,17,重要java包android.app :提供高層的程序模型、,2,18,常見界面控件,TextView,EditText,Button,Im
17、ageButton,Checkbox,RadioButton,Spinner,ListView,TabHost,,218常見界面控件TextView,2,19,常見布局,LinearLayout,線性布局,垂直、水平,RleativeLayout,相對布局,相對于另一個控件或容器的布局,TableLayout,表格布局,類似于,html,中的,table,布局,FrameLayout,幀布局,AbsoluteLayout,絕對布局,,219常見布局LinearLayout 線性布局,2,20,綱要,Android,概述,平臺架構(gòu),重要組件,開發(fā)環(huán)境介紹,Hello World!,Demo,演示
18、,,220綱要Android概述,開發(fā)環(huán)境搭建,安裝,JDK(,需要,1.5+),安裝,Eclipse,安裝,Android SDK,安裝,Eclipse,插件,ADT,(,Android Development Tools),重啟,Eclipse,,配置,android SDK,路徑,2,21,詳細見,《Android,開發(fā)起步,.pdf》,,開發(fā)環(huán)境搭建安裝JDK(需要1.5+)安裝Eclipse安裝,安卓模擬器,安卓模擬器,(AVD),:,Android,為開發(fā)人員提供了可以在電腦上直接調(diào)試應(yīng)用程序的虛擬設(shè)備,AVD,(,Android Virtual Device,)。使用,AVD,可
19、以方便地對應(yīng)用程序進行調(diào)試,,2,22,安卓模擬器安卓模擬器(AVD):222,程序調(diào)試DDMS,DDMS 是 Dalvik Debug Monitor Service的簡稱,主要功能是監(jiān)控應(yīng)用程序的運行并打印日志、模擬電話打入與接聽、模擬短信的收發(fā)、虛擬地理位置等。有了 DDMS 的幫助,可以大大降低應(yīng)用程序的測試成本。,2,23,程序調(diào)試DDMSDDMS 是 Dalvik Debug Mo,2,24,綱要,Android,概述,平臺架構(gòu),重要組件,開發(fā)環(huán)境介紹,Hello World!,Demo,演示,,224綱要Android概述,Hello world!,新建Android工程,選擇支
20、持的android版本,確認,,,2,25,,源代碼,,編譯后,class,,資源文件夾,,圖像資源,,布局文件,,字符串資源,,功能清單文件,Hello world!新建Android工程225源代碼編,源代碼,Src/com.huaxia.Helloworld.java,,public class Helloworld extends Activity {,/** Called when the activity is first created. */,@Override,public void onCreate(Bundle savedInstanceState) {,super.on
21、Create(savedInstanceState);,setContentView(R.layout.main);,},},2,26,源代碼Src/com.huaxia.Helloworld.j,布局文件,Res/layout/main.xml,,,,,,,,,,2,29,,,AndroidManifest.xml