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