編輯:Android開發教程
近來,移動技術的迅猛發展勢頭甚至讓業內人士都感到驚訝。在 2012 年 9 月的訪談中,Apple CEO Tim Cook 在討論 iPad 的成功時表達了這一點。在短短兩年內賣出 6700 萬個 iPad,這絕對是一個驕人的業績。 Cook 根據歷史銷售情況比較了這個數字,“這一銷售量相當於我們的 Mac 24 年的銷售量,iPod 5 年的銷售 量,以及 iPhone 三年的銷售量”。
如果說 iOS 獲得了巨大成功的話,那麼以 Java 為中心的 Android 平台自然也表現不俗。根據 Google 最近的一項聲明,自 Android 於 2008 年正式發布以來,已有 5 億台 Android 設備被激活,每天約有 130 萬設備激活。據報道,Apple 的 iTunes App Store 和 Google Play 總共有至少 1400000 個應用程序和超過 60,000,000,000 個移動應用程序被下載。
激活所有這 些移動設備意味著存在新的應用程序銷售機會,以及會有更大的移動開發技術市場。對於想要快速構建移動技 能的開發人員而言,Android 是一個不錯的起點。如果您可以編寫 Java 代碼和其他 JVM 語言,那麼您可以 將最初的學習曲線集中到移動部署需求上面。Android 的多樣性意味著您可以輕松地采用和嘗試一些較新的技 術,如 HTML5 和 PhoneGap。並且其平台的普遍性(附帶 Google Play)將確保您的生產應用程序可以得到廣 泛發布。
面向大眾的移動技術 系列的第一篇文章將簡單介紹 Android。我們首先會了解 Android 非 常精巧的版本系統,然後設置一個開發環境,開始構建您的第一個應用程序。
進入移動領域的三條途徑
從較高的層面來看,移動生態系統有三個主要的開發平台:本機、Web 和混合開發平台。
與其他兩者相比,本機平台可以生成外觀和性能都非常卓越的應用程序。構建本機應用程序的 缺點是您必須為每個平台編寫不同的代碼庫。
Web 移動應用程序通常使用 HTML5、CSS 和 JavaScript 編寫。您可以編寫一個 Web 移動應用程序,並在多個平台上運行它,但是應用程序的外觀和 性能可能不如本機應用程序。
混合工具和框架彌補了這些缺憾,因為它們將 Web 應用 程序的編寫簡易性、普遍性與本機應用程序的靓麗外表相結合。開發人員總是爭論哪個平台更好(有人稱之為 “移動應用程序大辯論”),但事實上每個平台各有千秋。
本系列文章將討論這三個平台。
Android 熱潮
Android 設備的分發速度超過了其他任何移動平台,這使得 Android 成為您首 次移動開發之旅的不二選擇,尤其當您是一名 Java 開發人員的時候。Android 的大量采用帶來的一個缺點是 存儲碎片,這為應用程序的測試帶來了巨大挑戰。大多數開發人員面對的殘酷現實是無法為所有 Android 設 備和 OS 版本配置文件的組合測試應用程序。(事實上,以一種經濟高效的方式進行測試正逐漸成為一種新興 的服務行業)。後續文章將會探討一些技術問題,包括移植到多個 Android 配置文件,以及測試 Android 移 動應用程序的基於 Java 的工具。本文將了解 Android 的版本控制方面,您可以通過了解版本控制對這個平 台進行開發。
Android 版本控制
Android OS 的版本號是連續的,比如 1.6、2.1、4.2 等。版 本的命名效仿甜點菜單中的名稱:Donut、Eclair 和 Jelly Bean。當有人在 Android 環境下引用 Jelly Bean 時,其實指的是 Android 版本 4.2。Android 版本也可以在 API 級別上進行描述,使用連續的升序整 數表示。因此 Android API level 17 就是指 Android 版本 4.2,也就是 Jelly Bean。
如果您覺得 這些命名不容易理解,您不是惟一有這種想法的人。但是,理解這些命名非常重要,因為這三種版本名經常互 換使用。
在支持不同 Android 版本方面,大多數 Java 開發人員必須徹底改變他們以前的思維。Java 平台被認為是一項服務器端技術,用戶對這項技術的接觸通常是通過 Web 頁面。如果 Web 頁面是可浏覽的, 那麼 Web 頁面的訪問者並不會關心您的應用程序究竟運行的是哪一個 Java 版本。然而,對於 Android,這 意味著應用程序離開了服務器的保護,運行在您無法控制的設備上。
應用程序的許多潛在使用者只在 舊設備不能使用後才會升級到新版的 Android OS。到底支持哪一個 Android 操作系統非常重要。雖然最新的 Android 版本是 4.2,但是差不多有半數 Android 設備仍然支持 Android 2.3.x。為 Android 3.1 編寫的應 用程序可以在 4.2 等新版本上運行,但是無法在 2.3 等老版本上運行。因此,按理說,如果您希望實現更廣 范圍的發布,那麼最好的選擇是針對較舊的操作系統。
以舊的系統為目標的、更廣泛發布的平台的一 個弊端是新的版本總是會推出新特性,您可能希望將這些特性用到自己的應用程序中。如果幸運的話, Android 開發團隊將會發布兼容庫,您可以在舊版本上使用這些新特性。
使用 Android 和 Eclipse ADT 創建並運行應用程序
在 Android 簡介的開始部分,我將幫助您盡可能快地創建一個簡單的 Android 應用程序。您將使用 Android 4.2 和 Eclipse Android Development Tools (ADT) 插件來創建一個 基於 Java 的 Hello World 應用程序。
Activity表示一個屏幕, 至少包含一個處理應用程序的主界面屏幕, 可以由多個fragments組成.創建一個Activity, 需要繼承一個Activity類, 首
1.背景上一篇講了在源碼中捕獲到了android手機的截屏函數(同時按下電源鍵與音量減,詳情http://blog.csdn.net/buptgshengod/artic
1.1 Gralloc與Framebuffer相信做過Linux開發的人對framebuffer不會太陌生,它是內核系統提供的一個與硬件無關的顯示抽象層。之所以稱之為bu
Android SDK對應沒個定義在res目錄下的資源都會定義一個維一的資源ID。在編譯時會在gen目錄下生成 R.java , 資源ID的 格式為 R.[type].[