成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

面向大眾的移動技術: Android 全面介紹

移動開發 Android
移動領域是一個充滿希望的領域,對于希望進入這一領域的開發人員來說,Android 是一個令人興奮的平臺。本系列將首先對 Android 進行介紹,并專門針對那些希望涉足移動領域的 Java™ 開發人員進行了修改。我們將了解 Android 的分為三層的版本系統(并了解其重要性),然后設置您的開發環境并構建您的第一個 Android 應用程序。

進入 Android 的移動世界并構建您的第一個應用程序

移動領域是一個充滿希望的領域,對于希望進入這一領域的開發人員來說,Android 是一個令人興奮的平臺。本系列將首先對 Android 進行介紹,并專門針對那些希望涉足移動領域的 Java™ 開發人員進行了修改。我們將了解 Android 的分為三層的版本系統(并了解其重要性),然后設置您的開發環境并構建您的第一個 Android 應用程序。

關于本系列移動應用程序發布正呈現爆炸式增長,移動開發技術正當其時。本系列文章將向那些有編程經驗、剛剛接觸移動領域的開發人員介紹這個領域的發展情況。本系列首先使用 Java 代碼編寫本機應用程序,然后擴展您的工具箱,包括 JVM 語言、腳本框架、HTML5/CSS/JavaScript、第三方工具等。您將逐步掌握所需的技能,以便滿足幾乎所有移動開發場景的需求。

近來,移動技術的迅猛發展勢頭甚至讓業內人士都感到驚訝。在 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 非常精巧的版本系統,然后設置一個開發環境,開始構建您的第一個應用程序。

Android 熱潮

Android 設備的分發速度超過了其他任何移動平臺,這使得 Android 成為您首次移動開發之旅的不二選擇,尤其當您是一名 Java 開發人員的時候。Android 的大量采用帶來的一個缺點是存儲碎片,這為應用程序的測試帶來了巨大挑戰。大多數開發人員面對的殘酷現實是無法為所有 Android 設備和 OS 版本配置文件的組合測試應用程序。(事實上,以一種經濟高效的方式進行測試正逐漸成為一種新興的服務行業)。后續文章將會探討一些技術問題,包括移植到多 個 Android 配置文件,以及測試 Android 移動應用程序的基于 Java 的工具。本文將了解 Android 的版本控制方面,您可以通過了解版本控制對這個平臺進行開發。

進入移動領域的三條途徑:從較高的層面來看,移動生態系統有三個主要的開發平臺:本機、Web 和混合開發平臺。

  • 與其他兩者相比,本機平臺可以生成外觀和性能都非常卓越的應用程序。構建本機應用程序的缺點是您必須為每個平臺編寫不同的代碼庫。

  • Web 移動應用程序通常使用 HTML5、CSS 和 JavaScript 編寫。您可以編寫一個 Web 移動應用程序,并在多個平臺上運行它,但是應用程序的外觀和性能可能不如本機應用程序。

  • 混合工具和框架彌補了這些缺憾,因為它們將 Web 應用程序的編寫簡易性、普遍性與本機應用程序的靚麗外表相結合。開發人員總是爭論哪個平臺更好(有人稱之為 “移動應用程序大辯論”),但事實上每個平臺各有千秋。

本系列文章將討論這三個平臺。

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 應用程序。

兼容 Android 的 IDE:當為 Android 開發移動應用程序時,可以使用您已經而非常熟悉的 Java 工具和框架。例如,最流行的兩個 Java 開發 IDE 是 Eclipse 和 IntelliJ,它們都支持 Android。Android 與 Eclipse 的聯系很緊密,它提供的插件可以輕松實現 Android 應用程序的 “構建-測試-部署” 周期。本文中的示例是使用 Eclipse 構建的,但您也可以使用 IntelliJ 構建它。

為 Android 建立開發環境的途徑有兩種。剛接觸 Eclipse 和 Android 的開發人員可以先下載 ADT (Android Developer Tools) Bundle。ADT Bundle 捆綁了一個 Android SDK 和一個 Eclipse 版本,其中已經安裝了 ADT 插件。這個程序包可幫助您快速、輕松地使用 Android。

如果 Eclipse 已經安裝在臺式機上并設置好,那么請手動下載并安裝 Android SDK。基礎 Android SDK 包含一些可簡化 Android 開發的系統工具,但它缺乏 開發特定 Android 版本所需的 Android 庫。為您的操作系統下載基礎 Android SDK 后,可以訪問 SDK 安裝目錄的工具目錄,并運行 清單 1 中的 Android 腳本。

清單 1. 啟動 Android SDK Manager

  1. ~/Development/tools/android/android-sdk-mac_x86/tools$>./android 

該腳本啟動了 Android SDK Manager,您可以下載 Android 的各種版本和庫,并創建模擬程序或虛擬設備實例。Android SDK Manager 打開了一個窗口,其中顯示一個很長的要下載的選項的列表,如 圖 1 所示。

圖 1. SDK Manager

SDK Manager 的屏幕截圖

在左側復選框中,選擇 Tools,然后選擇 Android 4.2 (API 17)。該文件夾將會顯示許多選項。選擇 SDK Platform 和 ARM EABI v7a System 圖片,如 圖 2 所示。

圖 2. SDK Manager 中的選擇

單擊 Install packages 并接受任何必要許可;管理器將完成其余步驟。

創建一個模擬器

接下來,創建一個模擬器實例,這是一個運行應用程序的虛擬設備。模擬器必須以 Android 的特定版本為目標,因此我們將創建一個運行 Android 4.2 的模擬器實例。

再次啟動 SDK Manager(如果已關閉的話)。如果 Android SDK 工具或平臺工具已更新,則重啟 SDK Manager。在 SDK Manager 頂層菜單中,選擇 Tools > Manage AVDs 會打開關于 Android Virtual Device Manager 的新對話框,如 圖 3 所示。

圖 3. Android Virtual Device Manager

該對話框列出了您的機器上定義的所有模擬器。模擬器列表在創建模擬器之前是空的。單擊 New 打開 Create a new Android Virtual Device (AVD) 對話框,在其中可以定義一個模擬器。在 Target 下拉列表中選擇 Android version 4.2。在 AVD Name 文件夾中,為模擬器命名,我使用的名稱是 Android_4.2。當您準備好測試應用程序時,就可以使用該名稱從命令行啟動模擬器。

圖 4. 創建一個新的 Android 虛擬設備

在 SDK Manager 中創建新的 Android 虛擬設備的屏幕截圖

圖 4 中,您可以看到一些 AVD 選項,包括設備類型、攝像頭設置、內存和存儲。在我的示例中,選擇了 Galaxy Nexus,對它使用了一個 200MB 的 SD 卡。最后,我選中了 Use Host GPU 模擬選項,這可以提高模擬器實例的性能。

單擊 OK,在 AVD 對話框中查看列出的新的虛擬設備。選擇該設備并單擊 Start,這將打開一個帶有啟動選項的對話框。現在,使用默認值并單擊 Launch。模擬器實例的啟動時間較長,因此這個時候可以去喝一杯咖啡,瀏覽一下 Facebook 或更新您的 Twitter 狀態。

圖 5. 新的 Android 設備!

過一會后,一個閃亮的模擬器設備(類似 圖 5)將會顯示在您的主屏幕上,這意味著您可以開始創建 Android 4.2 應用程序了。

#p#

設置 Eclipse ADT

如果 Eclipse 已經安裝到系統中,那么您必須在繼續后面的操作之前添加 Android Development Tools (ADT) 插件庫。

在 Eclipse 菜單中,打開 Help > Find New Software。單擊 Add 和 ADT 插件的 URL:https://dl-ssl.google.com/android/eclipse/(參見 圖 6)。

圖 6. 添加 ADT 插件庫

向 Eclipse 添加 ADT 插件庫的選項的屏幕截圖

完成插件下載后,根據操作說明完成安裝。將 ADT 插件配置為可以使用您剛才安裝的 SDK。現在,您的項目已針對 Android 4.2 平臺完成了設置,并使用了您配置好的模擬器。

使用 Android 4.2!

要在 Eclipse 中創建 Android 應用程序,請選擇創建 Android Application Project 的選項。在 New Android Application 對話框中,提供應用程序名稱、項目名稱和包名稱。應用程序名稱 是用戶在設備圖標中看到的內容;而項目名稱 是您的項目在 Eclipse 中的名稱。

圖 7. 創建一個新的 Android 項目

創建新的 Android 項目的屏幕截圖

圖 7 所示的 New Android Application 對話框中執行下面的步驟:

  1. 在 Target SDK 下拉列表中,選擇 API 17: Android 4.2 (Jelly Bean),然后單擊 Next。
  2. 在下一個對話框中,保留默認設置,但是您可以將最終生成的代碼放到任意位置。單擊 Next。
  3. 保留 Configure Launcher Icon 對話框中的默認設置并單擊 Next。
  4. 保留 Create Activity 對話框和最終對話框中的默認設置,這些設置用于選擇應用程序的行為。單擊 Finish。

如果項目創建成功,您會看到一個新的項目,其用戶界面類似 圖 8 中所示的界面。

圖 8. Eclipse 中的樣例啟動項目

Eclipse 中的默認應用程序的屏幕截圖

在 Android 模擬器中運行應用程序

默認情況下,使用 ADT 項目向導創建的 Android 項目將創建一個簡單的 Hello World 移動應用程序(參見 圖 8)。在開始修飾這個應用程序之前,讓我們來看一看在模擬器上運行這個基本應用程序會發生什么。

如果 Android 4.2 模擬器處于關閉狀態,請打開它。這一次不會在 AVD Manager 中啟動模擬器,而是通過命令行啟動它。您可以從 SDK 的 tools 目錄訪問 emulator 腳本。在啟動腳本時,系統會要求您提供您的模擬器的名稱。我的模擬器的名稱為 Android_4.2,因此我在 清單 2 中運行腳本來啟動我的模擬器實例:

清單 2. 在命令行中訪問模擬器

  1. ~/Development/tools/android/android-sdk-mac_x86/tools$>./emulator -avd Android_4.2 

啟動您的模擬器實例,返回 Eclipse,然后選擇您的項目。右鍵單擊并選擇 Run As > Android Application。

圖 9. 從 Eclipse 中運行項目

在 Eclipse 中運行應用程序的屏幕截圖

默認情況下,Eclipse 將在目前正運行的模擬器上部署您的應用程序(圖 9)。您的模擬器實例現在顯示了一個白色的屏幕,其中顯示了所有 Java 開發人員都喜歡的問候語!如果 Eclipse 因為某種原因在模擬器上運行應用程序時出現故障,則需要返回到 Run As 選項并選擇 Run Configurations。在 Target 選項卡中,重新選擇 Automatically select compatible device,并確保您的模擬器也被選中。

圖 10. Hello World!

‘Hello World’應用程序的屏幕截圖

#p#

基本 Android 應用程序

您現在有了一個基本的 Hello World 應用程序,可以在任何與 4.2 兼容的 Android 設備上運行它。最后,您可能希望定制這個應用程序,以便添加更多的功能。目前,我希望對 Android 應用程序進行分析。

Android 的特制 JVM:Android 應用程序是使用 Java 代碼進行編寫的,但并沒有在標準 JVM 上運行它們。作為 Android 構建的一部分,我們會對 Java 字節代碼進行轉換,并針對移動設備的內存和處理需求進行特殊處理。詳細了解 Android 應用程序的架構和 Dalvik 虛擬機。

回到 Eclipse IDE。在項目的 src 目錄中,導航到項目的 .java 文件。如果您保留了所有默認值,那么該文件的名稱應為 MainActivity。Activity 類是 Android 移動應用程序的驅動引擎,類似于 servlets 對于 Java 服務器端應用程序的意義。每個 Activity 都有一個生命周期,類似于 Java applet 的生命周期。

Hello World 應用程序只包含基本的架構,因此其 Activity 非常簡單。首先,該類將從 Android 的 Activity 類擴展。activity 的入口點是 onCreate 方法,它在應用程序加載時由平臺啟動。這個方法中的關鍵代碼是 setContentView 調用。清單 3 顯示了默認的 MainActivity 類。

清單 3. MainActivity

  1. package com.example.hello; 
  2.  
  3. import android.os.Bundle; 
  4. import android.app.Activity; 
  5. import android.view.Menu; 
  6.  
  7. public class MainActivity extends Activity { 
  8.  
  9.  @Override 
  10.  protected void onCreate(Bundle savedInstanceState) { 
  11.   super.onCreate(savedInstanceState); 
  12.   setContentView(R.layout.activity_main); 
  13.  } 
  14.  
  15.  @Override 
  16.  public boolean onCreateOptionsMenu(Menu menu) { 
  17.   getMenuInflater().inflate(R.menu.activity_main, menu); 
  18.   return true
  19.  } 

清單 3 中,setContentView 加載了 activity_main 布局,它是您在第一次打開項目時在 Eclipse 中看到的視圖的名稱。該名稱與 res/layout 目錄中的 activity_main.xml 文件對應。打開該文件,查看應用程序的圖形化表示。在視圖的左下方的選項卡中,有一個查看原始 XML 文件的選項,可以單擊該選項來查看原始文件,內容類似于 清單 4

清單 4. 原始布局的定義

  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  2.     xmlns:tools="http://schemas.android.com/tools" 
  3.     android:layout_width="match_parent" 
  4.     android:layout_height="match_parent" 
  5.     tools:context=".MainActivity" > 
  6.  
  7.   <TextView 
  8.     android:layout_width="wrap_content" 
  9.     android:layout_height="wrap_content" 
  10.     android:layout_centerHorizontal="true" 
  11.     android:layout_centerVertical="true" 
  12.     android:text="@string/hello_world" /> 
  13. </RelativeLayout> 

Android 視圖是在 XML 文件中定義的。每個視圖都有一個布局,您可以向其中添加小部件,比如按鈕或文本字段。目前,樣例應用程序有一個 RelativeLayout 和一個小部件: TextView。如果仔細觀察這個小部件,您會發現一個文本字段,它被設置為一個引用:@string/hello_world。

該變量是指向實際字符串的指針,您可以在 res/values/strings.xml 文件中找到它。打開該文件。要查看原始 XML,請單擊左下方區域的 strings.xml 選項卡。

清單 5. strings.xml 文件

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <resources> 
  3.  <string name="app_name">Hello 4.2</string> 
  4.  <string name="hello_world">Hello world!</string> 
  5.  <string name="menu_settings">Settings</string> 
  6. </resources> 

清單 5 中的第二個字符串定義將 hello_world 映射到 Hello World!。

Android manifest

您目前已經了解了 Android 應用程序的三個重要元素是如何聯系起來的:行為、布局和資源文件。在應用程序啟動時,Android OS 將調用 MainActivity 的 onCreate 方法。onCreate 方法隨后會加載布局,該布局從另一個 XML 資源文件獲取一些值。在本例中,結果是一個顯示了 “Hello World!” 的簡單的 UI。

但是,設備如何知道應該調用哪個 Activity?現在是 AndroidManifest.xml 發揮作用的時候了。在項目根目錄中查看這個文件。單擊該文件,Eclipse 會加載一個簡潔的定制視圖,視圖左下角有一些選項卡。單擊標簽為 AndroidManifest.xml 的選項卡將會顯示 清單 6 所示的原始 XML。

清單 6. AndroidManifest.xml

  1. <?xml version="1.0" encoding="utf-8"?> 
  2.  <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
  3.    package="com.example.hello" 
  4.    android:versionCode="1" 
  5.    android:versionName="1.0" > 
  6.  
  7.   <uses-sdk 
  8.    android:minSdkVersion="8" 
  9.    android:targetSdkVersion="17" /> 
  10.  
  11.   <application 
  12.    android:allowBackup="true" 
  13.    android:icon="@drawable/ic_launcher" 
  14.    android:label="@string/app_name" 
  15.    android:theme="@style/AppTheme" > 
  16.    <activity 
  17.     android:name="com.example.hello.MainActivity" 
  18.     android:label="@string/app_name" > 
  19.     <intent-filter> 
  20.      <action android:name="android.intent.action.MAIN" /> 
  21.      <category android:name="android.intent.category.LAUNCHER" /> 
  22.     </intent-filter>  
  23.    </activity> 
  24.   </application> 
  25. </manifest> 

該文件的作用是向底層設備解釋您的應用程序。它包含一個名為 application 的 XML 塊,其中定義了 activity。您的 MainActivity 將被引用,action 被定義并包含一個 category。action 會告訴設備要啟動哪一個 Activity。在本例中,action 將您的 Activity 描述為 MAIN。

AndroidManifest.xml 文件中的其他重要聲明包括 uses-sdk 部分,它表示 min 版本為 8(即 Android 2.2.x),目標版本為 17,即 Android 4.2。我在后面的文章中將會介紹這些細節。現在,只需明白 Android 平臺提供了可以兼容早期版本的庫就足夠了。

結束語

您的第一個 Android 應用程序已經成功創建。在這個過程中,您了解了有關 Android(和移動開發)的一些重要內容。您安裝了 Android 的 SDK,下載了 Android 版本 4.2,并創建了一個 AVD(即模擬器)來模擬應用程序在設備上的運行。如果使用的是 Eclipse,那么需要將 IDE 配置為可以構建并將 Android 應用程序部署到所選的 AVD 中。要在 Android 中創建應用程序,必須執行所有這些設置。

您還看到了將 Android 應用程序關聯起來是多么簡單,可以使用 Activity 類完成大部分工作,使用 AndroidManifest.xml 為底層設備定義 Activity 類。您會看到最終結果:一個簡單的 Hello World 應用程序,并對它繼續進行定制。

我們在下一篇文章中將深入討論 Android。同時,我建議您研究一下目前完成的應用程序設置。添加一些小部件或修改 XML 文件中的某些值。如果您還意猶未盡,那么可以嘗試創建一個不包含默認值的新的 Hello World 應用程序。

 

責任編輯:閆佳明 來源: ibm
相關推薦

2014-09-28 14:57:08

移動技術Android簽名

2014-09-19 15:30:26

2014-09-28 14:30:27

移動技術Android單詞

2010-06-17 18:17:36

UML面向對象技術

2009-08-14 16:01:22

C#面向對象

2010-02-22 10:50:26

路由交換技術

2010-01-14 16:35:35

VMPS介紹

2018-09-20 10:37:56

RAID技術磁盤陣列

2010-04-07 15:29:43

移動無線接入技術

2010-10-08 13:31:07

移動開發

2009-12-24 10:07:10

ADSL技術寬帶接入技

2009-07-21 13:30:59

JSP技術ASP.NET

2009-12-23 16:19:25

WPF UI自動化技術

2023-03-01 00:18:45

2020-02-27 11:41:54

IT安全網絡攻擊網絡安全

2009-07-01 18:34:59

JSP動態網站開發

2009-06-29 14:22:00

FSO光纖

2009-12-25 16:54:53

光接入網技術

2009-12-25 16:09:14

NGN用戶接入技術

2015-12-30 10:24:21

云計算移動視頻視頻云
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人免费黄色 | 午夜小视频在线观看 | 精品在线一区二区三区 | 色婷婷综合久久久久中文一区二区 | 久久久久久国产精品免费 | 亚洲午夜视频 | 久久综合九色综合欧美狠狠 | 一级网站 | www.日本三级 | 欧美国产日韩在线观看 | hitomi一区二区三区精品 | 亚洲 欧美 激情 另类 校园 | 狠狠亚洲 | 91麻豆精品国产91久久久更新资源速度超快 | 精品视频久久久 | 91九色婷婷 | 午夜精品| 日韩精品不卡 | 国产精品久久久久久久久久久久久 | 欧美日韩高清在线一区 | 在线视频99 | 中文字幕亚洲区一区二 | 日韩中出 | 日韩视频在线免费观看 | 男女深夜网站 | 一本大道久久a久久精二百 国产成人免费在线 | 亚洲精品电影网在线观看 | 毛片一区二区三区 | 国产成人91| 久久久久国产一区二区三区不卡 | 一二三四av| av成人在线观看 | 久久久精品高清 | 亚洲视频在线播放 | 在线一区视频 | 欧美成人免费在线 | 亚洲视频区 | 国产69精品久久99不卡免费版 | 欧美精品一级 | 美女久久视频 | 亚洲视频免费观看 |