在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Android/ 概述
Dialog 顯示圖像
線程 Bezier 曲線
創(chuàng)建應(yīng)用程序框架
引路蜂二維圖形庫簡介及顏色示例
Android 應(yīng)用基本概念
Intents 和 Intent Filters
安裝開發(fā)環(huán)境
Option Menu 畫筆示例
自定義對(duì)話框 Transform
數(shù)據(jù)綁定 Data Binding
概述
Broadcast Receiver 短信觸發(fā)示例
發(fā)布應(yīng)用
自定義 Adapter 顯示列表
RadioButton 多邊形及路徑繪制
訪問 Internet 繪製在線地圖
第一個(gè)應(yīng)用 Hello World
Activities
Button 畫刷示例
使用資源 Resources
Context Menu 繪制幾何圖形
用戶界面設(shè)計(jì)
引路蜂二維圖形繪制實(shí)例功能定義

概述

自 Google 推出 Android 手機(jī)平臺(tái)以來,采用 Android 作為平臺(tái)的手機(jī)和平板電腦越來越普及。下圖是2010年9月和12月三個(gè)月幾個(gè)主流智能手機(jī)平臺(tái)在美國的市場占有率圖表。

http://wiki.jikexueyuan.com/project/android-development-tutorial/images/1.png" alt="" />

可以看到到2010年12月,Android 市場占有率在美國已超過 Apple 的 iPhone,而且由于 Android平臺(tái)的開放性,個(gè)人認(rèn)為將來它會(huì)更加普及。相當(dāng)于其它常見的手機(jī)開發(fā)平臺(tái),如 Java ME,Windows Mobile ,BlackBerry, iPhone ,Winodws Phone 7。 Android 開發(fā)還是比較容易上手的。

什么是 Android?

Android 是一個(gè)專門針對(duì)移動(dòng)設(shè)備的軟件集,它包括一個(gè)操作系統(tǒng),中間件和一些重要的應(yīng)用程序。Android SDK 提供了在 Android 平臺(tái)上使用 JaVa 語言進(jìn)行 Android 應(yīng)用開發(fā)必須的工具和 API 接口。

Android 特性

  • 應(yīng)用程序框架支持組件的重用與替換
  • Dalvik 虛擬機(jī)專為移動(dòng)設(shè)備優(yōu)化
  • 集成的瀏覽器基于開源的WebKit 引擎
  • 優(yōu)化的圖形庫包括定制的 2D 圖形庫,3D 圖形庫基于 OpenGL ES 1.0(硬件加速可選)
  • SQLite 用作結(jié)構(gòu)化的數(shù)據(jù)存儲(chǔ)
  • 多媒體支持包括常見的音頻、視頻和靜態(tài)圖像格式(如 MPEG4, H.264, MP3, AAC, AMR, JPG, PNG,GIF)
  • GSM 電話技術(shù)(依賴于硬件)
  • 藍(lán)牙 Bluetooth, EDGE, 3G,和 WiFi(依賴于硬件)
  • 照相機(jī),GPS,指南針,和加速度計(jì)(accelerometer) (依賴于硬件)
  • 豐富的開發(fā)環(huán)境包括設(shè)備模擬器,調(diào)試工具,內(nèi)存及性能分析圖表,和 Eclipse 集成開發(fā)環(huán)境插件。

應(yīng)用程序框架

開發(fā)人員也可以完全訪問核心應(yīng)用程序所使用的 API 框架。該應(yīng)用程序的架構(gòu)設(shè)計(jì)簡化了組件的重用;任何一個(gè)應(yīng)用程序都可以發(fā)布它的功能塊并且任何其它的應(yīng)用程序都可以使用其所發(fā)布的功能塊(不過得遵循框架的安全性限制)。同樣,該應(yīng)用程序重用機(jī)制也使用戶可以方便的替換程序組件。 隱藏在每個(gè)應(yīng)用后面的是一系列的服務(wù)和系統(tǒng), 其中包括;

  • 豐富而又可擴(kuò)展的視圖(Views),可以用來構(gòu)建應(yīng)用程序, 它包括列表(lists),網(wǎng)格(grids), 文本框(text boxes),按鈕(buttons), 甚至可嵌入的 web 瀏覽器。
  • 內(nèi)容提供器(Content Providers)使得應(yīng)用程序可以訪問另一個(gè)應(yīng)用程序的數(shù)據(jù)(如聯(lián)系人數(shù)據(jù)庫), 或者共享它們自己的數(shù)據(jù)
  • 資源管理器(Resource Manager)提供非代碼資源的訪問,如本地字符串,圖形,和布局文件(layoutfiles)。
  • 通知管理器(Notification Manager) 使得應(yīng)用程序可以在狀態(tài)欄中顯示自定義的提示信息。
  • 活動(dòng)管理器(Activity Manager) 用來管理應(yīng)用程序生命周期并提供常用的導(dǎo)航回退功能。

程序庫

Android 包含一些 C/C++ 庫,這些庫能被 Android 系統(tǒng)中不同的組件使用。它們通過 Android 應(yīng)用程序框架 為開發(fā)者提供服務(wù)。以下是一些核心庫:

  • 系統(tǒng) C 庫- 一個(gè)從 BSD 繼承來的標(biāo)準(zhǔn) C 系統(tǒng)函數(shù)庫(libc), 它是專門為基于 embedded linux 的設(shè)備定制的。
  • 媒體庫- 基于 PacketVideo OpenCORE;該庫支持多種常用的音頻、視頻格式回放和錄制,同時(shí)支持靜態(tài)圖像文件。編碼格式包括 MPEG4, H.264, MP3, AAC, AMR, JPG, PNG 。
  • SurfaceManager – 對(duì)顯示子系統(tǒng)的管理,并且為多個(gè)應(yīng)用程序提供了 2D 和 3D 圖層的無縫融合。
  • LibWebCore – 一個(gè)最新的 web 瀏覽器引擎用,支持 Android 瀏覽器和一個(gè)可嵌入的 web 視圖。
  • SGL – 底層的 2D 圖形引擎
  • 3D libraries – 基于 OpenGL ES 1.0 APIs 實(shí)現(xiàn);該庫可以使用硬件 3D 加速(如果可用)或者使用高度優(yōu)化的 3D 軟加速。
  • FreeType -位圖(bitmap)和矢量(vector)字體顯示。
  • SQLite – 一個(gè)對(duì)于所有應(yīng)用程序可用,功能強(qiáng)勁的輕型關(guān)系型數(shù)據(jù)庫引擎。

Android 運(yùn)行庫

Android 包括了一個(gè)核心庫,該核心庫提供了 JAVA 編程語言核心庫的大多數(shù)功能。 每一個(gè)Android 應(yīng)用程序都在它自己的進(jìn)程中運(yùn)行,都擁有一個(gè)獨(dú)立的 Dalvik 虛擬機(jī)實(shí)例。Dalvik 被設(shè)計(jì)成一個(gè)設(shè)備可以同時(shí)高效地運(yùn)行多個(gè)虛擬系統(tǒng)。Dalvik 虛擬機(jī)執(zhí)行(.dex)的 Dalvik 可執(zhí)行文件,該格式文件針對(duì)小內(nèi)存使用做了優(yōu)化。同時(shí)虛擬機(jī)是基于寄存器的,所有的類都經(jīng)由 JAVA 編譯器編譯,然后通過 SDK 中的”dx” 工具轉(zhuǎn)化成 .dex 格式由虛擬機(jī)執(zhí)行。 Dalvik 虛擬機(jī)依賴于 linux 內(nèi)核的一些功能,比如線程機(jī)制和底層內(nèi)存管理機(jī)制。

Linux 內(nèi)核

Android 的核心系統(tǒng)服務(wù)依賴于 Linux 2.6 內(nèi)核,如安全性,內(nèi)存管理,進(jìn)程管理, 網(wǎng)絡(luò)協(xié)議棧和驅(qū)動(dòng)模型。 Linux 內(nèi)核也同時(shí)作為硬件和軟件棧之間的抽象層。

Android 應(yīng)用和框架

下圖顯示了 Android 系統(tǒng)的主要組成部分。

http://wiki.jikexueyuan.com/project/android-development-tutorial/images/2.png" alt="" />

核心應(yīng)用,例如聯(lián)系人,電子郵件,電話,瀏覽器,日歷,地圖, … 充分訪問所有核心應(yīng)用框架 API C/C++ 庫:被各種 Android 組件使用通過應(yīng)用程序框架開發(fā)者可以使用其功能包括: 媒體庫:MPEG4 H.264 MP3 JPG PNG ….. WebKit/LibWebCore:Web 瀏覽引擎 SQLite 關(guān)系數(shù)據(jù)庫引擎 2D,3D 圖形庫、引擎

Android 使用 Java 作為開發(fā)語言,而且有很大一部分庫與 Java SE 共有,但不同于 Java ME,Dalvik 虛擬機(jī)也不是 Java 虛擬機(jī)。Eclipse 是 Android 推薦的開發(fā) IDE,Android 平臺(tái)自帶的各種應(yīng)用如聯(lián)系人,電子郵件,電話,瀏覽器,日歷,地圖都可以重寫。