當前位置:吉日网官网 - 傳統文化 - 移動開發基礎教程:Android是什麽 安卓開發

移動開發基礎教程:Android是什麽 安卓開發

Android是基於Linux內核的操作系統,是谷歌公司在2007年11月5日公布的手機操作系統,早期由谷歌開發,後由開放手持設備聯盟(Open Handset Alliance)開發。它采用了軟件堆層(software stack,又名以軟件疊層)的架構,主要分為三部分。底層Linux內核只提供基本功能;其他的應用軟件則由各公司自行開發,部分程序以Java編寫。

壹、簡介

BlackBerry和iPhone都提供了受歡迎的、高容量的移動平臺,但是卻分別針對兩個不同的消費群體。BlackBerry是企業業務用戶的不二選擇。但是,作為壹種消費設備,它在易用性和 “新奇特性” 方面難以和iPhone抗衡。Android則是壹個年輕的、有待開發的平臺,它有潛力同時涵蓋移動電話的兩個不同消費群體,甚至可能縮小工作和娛樂之間的差別。

如今,很多基於網絡或有網絡支持的設備都運行某種Linux內核。這是壹種可靠的平臺:可經濟有效地進行部署和提供支持,並且可直接作為面向部署的良好的設計方法。這些設備的UI通常是基於HTML的,可通過PC或Mac瀏覽器查看。但並不是每個設備都需要通過壹個常規的計算設備來控制。想象壹下傳統的家用電器,例如電爐、微波爐或面包機。如果您的家用電器由Android控制,並且有壹個彩色觸摸屏,會怎麽樣?如果電爐上有壹個Android UI,那麽操控者甚至可以烹飪點什麽東西。

二、Android術語

在Eclipse環境中開發Android應用程序需要了解Eclipse環境和Android平臺的知識。了解以下術語會有助於用Eclipse插件開發Android應用程序。

Open Handset Alliance

這是壹個由谷歌公司主導的組織,它由許多公***和私人組織組成。

Android

這是Open Handset Alliance的主打產品。它是壹種針對移動設備的開放源碼操作環境。

模擬器

模擬另壹個系統的軟件工具—這常常是在個人計算機(IBM、Mac、Linux)上運行的壹個環境,它模擬另壹個環境,比如移動計算設備。

Linux

壹種開放源碼的操作系統內核,許多計算平臺都使用這種操作系統,包括服務器、桌面計算機、網絡設備和移動計算設備。Android在Linux內核上運行。

Dalvik Virtual Machine

Dalvik VM是Android產品組合中的壹種操作環境,它在運行時解釋應用程序代碼。Dalvik VM與Java VM相似,但是兩者不兼容。

三、Android簡史

Android平臺是Open Handset Alliance的成果,Open Handset Alliance 組織由壹群***同致力於構建更好的移動電話的公司組成。這個組織由谷歌領導,包括移動運營商、手持設備制造商、零部件制造商、軟件解決方案和平臺提供商以及市場營銷公司。從軟件開發的觀點看,Android正處在開源領域的中心位置。

市場上第壹款支持Android的手機是由HTC制造並由T-Mobile供應的G1。這款設備從設想到推出花了大約壹年的時間,惟壹可用的軟件開發工具是壹些實行增量改進的SDK發行版。隨著G1發行日的臨近,Android團隊發布了SDK V1.0,用於這個新平臺的應用程序也浮出水面。

為了鼓勵創新,谷歌舉辦了兩屆“Android Developer Challenges”,為優勝的參賽作品提供數百萬美金的獎勵。G1 問世幾個月之後,隨後就發布了Android Market,它使用戶可以瀏覽應用程序,並且可以將應用程序直接下載到他們的手機上。經過大約 18 個月,壹個新的移動平臺進入公眾領域。

四、Android平臺

Android平臺被稱為壹個產品組合,因為它是壹系列組件的集合,包括:

基於Linux內核的操作系統 Java編程環境 工具集,包括編譯器、資源編譯器、調試器和模擬器 用來運行應用程序的Dalvik VM

Android有豐富的功能,因此很容易與桌面操作系統混淆。Android是壹個分層的環境,構建在Linux內核的基礎上,它包括豐富的功能。UI 子系統包括:

窗口 視圖 用於顯示壹些常見組件(例如編輯框、列表和下拉列表)的小部件。

Android包括壹個構建在WebKit基礎上的可嵌入瀏覽器,iPhone 的Mobile Safari瀏覽器同樣也是以WebKit為基礎。

Android提供多種連接選項,包括WiFi、藍牙和通過蜂窩(cellular)連接的無線數據傳輸(例如GPRS、EDGE 和3G)。Android應用程序中壹項流行的技術是鏈接到谷歌地圖,以便在應用程序中顯示地址。Android軟件棧還提供對基於位置的服務(例如GPS)和加速計的支持,不過並不是所有的Android設備都配備了必需的硬件。另外還有攝像支持。

過去,移動應用程序努力向桌面應用程序看齊的兩個領域分別是圖形/媒體和數據存儲方法。Android通過提供對2D和3D圖形的內置支持,包括OpenGL 庫,解決了圖形方面的挑戰。由於Android平臺包括流行的開源SQLite 數據庫,因此緩解了數據存儲的負擔。圖1顯示壹個簡化的Android軟件層次結構。

五、應用程序架構

如前所述,Android運行在Linux內核上。Android應用程序是用Java編程語言編寫的,它們在壹個虛擬機(VM)中運行。需要註意的是,這個VM並非您想象中的JVM,而是Dalvik Virtual Machine,這是壹種開源技術。每個Android應用程序都在Dalvik VM的壹個實例中運行,這個實例駐留在壹個由Linux內核管理的進程中,如下圖所示。

Android應用程序由壹個或多個組件組成:

活動

具有可視UI的應用程序是用活動實現的。當用戶從主屏幕或應用程序啟動器選擇壹個應用程序時,就會開始壹個動作。

服務

服務應該用於任何需要持續較長時間的應用程序,例如網絡監視器或更新檢查應用程序。

內容提供程序

可以將內容提供程序看作數據庫服務器。內容提供程序的任務是管理對持久數據的訪問,例如SQLite數據庫。如果應用程序非常簡單,那麽可能不需要創建內容提供程序。如果要構建壹個較大的應用程序,或者構建需要為多個活動或應用程序提供數據的應用程序,那麽可以使用內容提供程序實現數據訪問。

廣播接收器

Android應用程序可用於處理壹個數據元素,或者對壹個事件(例如接收文本消息)做出響應。

Android應用程序是連同壹個AndroidManifest.xml文件壹起部署到設備的。AndroidManifest.xml包含必要的配置信息,以便將它適當地安裝到設備。它包括必需的類名和應用程序能夠處理的事件類型,以及運行應用程序所需的許可。例如,如果應用程序需要訪問網絡 — 例如為了下載壹個文件 — 那麽manifest文件中必須顯式地列出該許可。很多應用程序可能啟用了這個特定的許可。這種聲明式安全性有助於減少惡意應用程序損害設備的可能性。

六、所需工具

開始開發Android應用程序的最簡捷的方式是下載AndroidSDK 和EclipseIDE。Android開發可以在微軟Windows、Mac OS X 或Linux上進行。

本文假設您使用的是Eclipse IDE和用於Eclipse的Android Developer Tools插件。Android應用程序是用Java語言編寫的,但是是在Dalvik VM(非Java虛擬機)中編譯和執行的。在Eclipse中用Java語言編程非常簡單;Eclipse 提供壹個豐富的Java環境,包括上下文敏感幫助和代碼提示。Java 代碼通過編譯後,Android Developer Tools 可確保適當地將它打包,包括AndroidManifest.xml 文件。

雖然沒有Eclipse和Android Developer Tools插件也可以開發Android應用程序,但是那樣就需要熟悉Android SDK。

AndroidSDK 是作為壹個ZIP文件發布的,可以將該文件解壓到硬盤上的壹個目錄中。由於有多個SDK更新,建議有意識地組織開發環境,以便在不同的SDK安裝之間輕松地切換。

SDK 包括:

android.jar

Java 歸檔文件,其中包含構建應用程序所需的所有的Android SDK 類。

documention.html和docs目錄

本地和網上提供的SDK文檔。這些文檔的主要形式為JavaDocs,以便於在SDK中導航大量的包。文檔還包括壹個高級開發指南和Android社區的鏈接。

Samples目錄

Samples子目錄包含各種應用程序的源代碼,包括ApiDemo,該應用程序演示了很多API。這個示例應用程序可以作為Android應用程序開發的良好起點。

Tools目錄

包含所有用於構建Android應用程序的命令行工具。最常用、最有用的工具是adb實用程序(Android Debug Bridge)。

usb_driver

該目錄包含將開發環境連接到支持Android的設備(例如G1或Android Dev 1解鎖開發手機)所需的驅動程序。只有Windows平臺的開發人員才需要這些文件。

Android應用程序可以在實際的設備上運行,也可以在Android SDK 附帶的Android Emulator上運行。圖 3 顯示Android Emulator 的主屏幕。

七、Android Debug Bridge

adb實用程序支持壹些可選命令行參數,以提供強大的特性,例如復制文件到設備或從設備復制文件。可以使用shell命令行參數連接到手機本身,並發送基本的shell命令。圖 4 顯示在通過USB線連接到Windows筆記本電腦的壹個實際設備上運行的adb shell命令。

在這個shell環境中,可以:

顯示網絡配置,網絡配置可顯示多個網絡連接。註意這多個網絡連接:

lo是本地或loopback連接。

tiwlan0是WiFi連接,該連接由本地DHCP服務器提供壹個地址。

顯示PATH環境變量的內容。

執行su命令,以成為超級用戶。

將目錄改為/data/app,其中存放用戶應用程序。

列出包含某個應用程序的目錄。Android應用程序文件實際上是歸檔文件,可通過WinZip之類的軟件查看。擴展名為apk。

發出ping命令,查看Google.com是否可用。

從相同的命令提示符環境中,還可以與SQLite 數據庫交互,啟動程序以及執行許多其他系統級任務。想像壹下您正在連接到電話,因此這是非常了不起的功能。

  • 上一篇:知恩圖報是中華的傳統美德,面對孩子脾氣大不懂感恩,家長應該怎麽教育呢?
  • 下一篇:簡短的家風家教勵誌小故事
  • copyright 2024吉日网官网