Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android 開發簡介:開源的設備平台

Android 開發簡介:開源的設備平台

編輯:Android開發實例

  簡介

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

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

  在本文中,了解 Android 平台,以及如何將它用於移動和非移動應用程序。安裝 Android SDK,並構建一個簡單的應用程序。下載 本文中的示例應用程序的源代碼。

  Android 簡史

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

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

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

  Android 平台

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

  窗口

  視圖

  用於顯示一些常見組件(例如編輯框、列表和下拉列表)的小部件

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

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

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

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

  下一節討論構建 Android 應用程序所需的開發環境。

  所需的工具

  開始開發 Android 應用程序的最簡捷的方式是下載 Android SDK 和 Eclipse IDE。Android 開發可以在 Microsoft® 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。

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

  android.jarJava 歸檔文件,其中包含構建應用程序所需的所有的 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 平台的開發人員才需要這些文件。

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

  在下一節,您將創建一個簡單的 Android 應用程序。

  編寫一個基本的應用程序

  本節展示如何構建一個 Android 應用程序。示例應用程序非常簡單:一個修改後的 “Hello Android” 應用程序。您將進行一個微小的修改,使屏幕背景全部變為白色,以便把手機用作手電筒。這個例子不是很有創意,但是可以作為一個有用的例子。

  為了在 Eclipse 中創建應用程序,選擇 File > New > Android project,這將啟動 New Android Project 向導。


圖 5. New Android project 向導


  接下來,創建一個簡單的應用程序,該應用程序有一個活動,並且在 main.xml 中有一個 UI 布局。布局包含一個文本元素,您將修改這個文本元素,以顯示 Android FlashLight。下面的清單顯示了這個簡單的布局。


清單 1. Flashlight 布局
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  android:orientation="vertical" 
  android:layout_width="fill_parent" 
  android:layout_height="fill_parent" 
  android:background="@color/all_white"> 
<TextView  
  android:layout_width="fill_parent" 
  android:layout_height="wrap_content" 
  android:text="@string/hello" android:textColor="@color/all_black" 
  android:gravity="center_horizontal"/> 
</LinearLayout> 

  一個用於 bundle 類

  當該活動發起後,onCreate 方法被調用,傳入一個 savedInstanceState。對於我們來說,不必關心這個 bundle。只有在暫停然後恢復活動時才會用到。

  onCreate 方法覆蓋了同名的 activity 類方法。它調用超類的 onCreate 方法。

  對 setContentView() 的調用將關聯 main.xml 文件中定義的 UI 布局。main.xml 和 strings.xml 中的任何內容都自動映射到 R.java 源文件中定義的常量。任何時候都不要直接編輯這個文件,因為它隨著每次構建而改變。

  運行該應用程序可以看到一個白色屏幕,其中有黑色文本。


圖 6. flashlight 的白色屏幕


  下面顯示用於 FlashLight 應用程序的 AndroidManifest.xml 文件。


清單 4. 用於 FlashLight 的 AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
   package="com.msi.flashlight" 
   android:versionCode="1" 
   android:versionName="1.0.0"> 
  <application android:icon="@drawable/icon" android:label="@string/app_name"> 
    <activity android:name=".FlashLight" 
         android:label="@string/app_name"> 
      <intent-filter> 
        <action android:name="android.intent.action.MAIN" /> 
        <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
    </activity> 
  </application> 
</manifest> 

  該文件是由用於 Eclipse 的 Android Developer Tools 插件自動創建的。您不需要做任何事情。

  當然,這個應用程序並不是很強大。但是如果希望讀點書,又不想打擾正在睡覺的愛人,或者如果需要在斷電時去地下室查看保險絲盒,那麼這個應用程序還是很方便的。

  結束語

  在本文中,您閱讀了對 Android 的簡介,並構建了一個小型的應用程序。希望本文中的例子能激起您進一步探索 Android 平台的興趣。Android 有望成為對市場產生深遠影響的開源平台,它的用處將遠遠超越移動電話。

  

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved