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