android手機開發(fā)(基礎架構)專題培訓課件

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