<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    牙牙窩

    BlogJava 聯系 聚合 管理
      8 Posts :: 21 Stories :: 10 Comments :: 0 Trackbacks


    平臺簡介

      令人激動的Google手機操作系統平臺-Android正式發布了,這是一個開放源代碼的操作系統,內核為Linux. 作為開發者,我們所關心的是這個平臺的架構以及所支持的開發語言。下面是這個平臺的架構模型:

      

      這個平臺有以下功能:

      + Application framework: 可重用的和可替換的組件部分,在這個層面上,所有的軟件都是平等的。

      + Dalvik virtul machine: 一個基于Linux的虛擬機。

      + Integrated browser: 一個基于開源的WebKit引擎的瀏覽器,在應用程序層。

      + Optimized graphics: 包含一個自定義的2D圖形庫和基于OpenGL ES 1.0 標準的3D實現。

      + SQLite: 數據庫

      + Media support: 通用的音頻,視頻和對各種圖片格式的支持(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)

      + GSM Telephony: GSM 移動網絡, 硬件支持。

      + Bluetooth, EDGE, 3G, and WiFi: 都依賴于硬件支持。

      + Camera, GPS, compass, and accelerometer: 都依賴于硬件支持。

      + Rich development environment: 包含一套完整的開發工具集,方便跟蹤調試,內存檢測和性能測試,而且提供了Eclipse的插件。

      下面我們就來親身體驗一下Android程序的開發之旅。

      先介紹一下開發環境,下面是對系統及相關軟件的版本要求:

      操作系統:

      Windows XP or Vista

      Mac OS X 10.4.8 or later (x86 only)

      Linux (tested on Linux Ubuntu Dapper Drake)

      Supported Development Environments

      Eclipse

      Eclipse 3.2, 3.3 (Europa)

      Android Development Tools plugin (optional)

      Other development environments or IDEs

      JDK 5 or JDK 6 (JRE alone is not sufficient)

      Not compatible with Gnu Compiler for Java (gcj)

      Apache Ant 1.6.5 or later for Linux and Mac, 1.7 or later for Windows

      我使用Eclipse 3.3 + JDK 1.6. + Ant 1.7 的組合。還有兩個重要的就是: Android SDK 以及 Android 用于Eclipse 中的插件。

      Android SDK 的下載鏈接: http://code.google.com/android/

      如果你是第一次使用這些軟件,請注意安裝順序和設置好環境變量。 一般的順序是先安裝 JDK 然后 解壓 ant 壓縮包,然后設置 java 環境變量和 ant 環境變量, 然后是解壓 Android SDK ,再設置 Android SDK的環境變量。 總之就是把 JDK, ANT, Android SDK的路徑添加到 path 里。

      Android for eclipse plug in 在安裝過程很簡單,通過網絡安裝插件就可以了,這個是 URL: https://dl-ssl.google.com/android/eclipse/


      具體的配置過程,可以查看:http://code.google.com/android/intro/installing.html#otherides

      以下為一個hello Android的開發步驟:

      創建一個項目:

      創建一個新項目是很簡單的,只要你安裝了Eclipse插件,并且你的Eclipse軟件版本在3.2或3.3,你就可以開始開發了。

      首先, 看一下要創建"Hello, World"程序從高級層面上有哪些步驟:

      1, 通過 File -> New -> Project 菜單,建立新項目"Android Project"

      2, 填寫新項目各種參數。

      3, 編輯自動生成的代碼模板。

      盡此而已,我們通過下面的詳細說明來完成每個步驟。

      1, 創建一個新的Android項目

      啟動Eclipse, 選擇 File -> New -> Project 菜單, 如果你安裝好了Android的Eclipse插件,你將會在彈出的對話框中看到"Android Project" 的選項。

      

      選擇“Android Project”,點擊 Next 按鈕。

      2, 填寫項目的細節參數.

      下面的對話框需要你輸入與項目有關的參數:

      

      這個表格中詳細介紹了每個參數的含義:

      Project Name: 包含這個項目的文件夾的名稱。

      Package Name: 包名,遵循JAVA規范,用包名來區分不同的類是很重要的,例子中用到的是"com.google.android",你應該按照你的計劃起一個有別于這個的路徑的名稱。

      Activity Name: 這是項目的主類名,這個類將會是Android的Activity類的子類。一個Activity類是一個簡單的啟動程

      序和控制程序的類。它可以根據需要創建界面,但不是必須的。

      Application Name: 一個易讀的標題在你的應用程序上。

      在"選擇欄"的 "Use default location" 選項,允許你選擇一個已存在的項目。

     3,編輯自動生成的代碼。

      當項目創建后,你剛才創建的HelloAndroid就會是包含下面的代碼.

      public class HelloAndroid extends Activity

      {

      /** Called when the activity is first created. */

      @Override

      public void onCreate(Bundle icicle)

      {

      super.onCreate(icicle);

      setContentView(R.layout.main);

      }

      }

      下面我們開始修改它

      [構建界面]

      當一個項目建立好以后,最直接的效果,就是在屏幕上顯示一些文本,下面是完成后的代碼,稍后我們在逐行解釋。

      public class HelloAndroid extends Activity {

      /** Called when the activity is first created. */

      @Override

      public void onCreate(Bundle icicle) {

      super.onCreate(icicle);

      TextView tv = new TextView(this);

      tv.setText("Hello, Android");

      setContentView(tv);

      }

      }

      注意你還需要添加 import android.widget.TextView; 在代碼開端處。

      在Android程序中, 用戶界面是由叫做Views類來組織的。 一個View可以簡單理解為可以繪制的對象,像選擇按鈕,一

      個動畫,或者一個文本標簽(這個程序中),這個顯示文本標簽的View子類叫做TextView.

      如何構造一個TextView:

      TexiView tv = new TextView(this);

      TextView的構造參數是Android程序的Context實例, Context可以控制系統調用, 它提供了諸如資源解析, 訪問數據庫等

      等。Activity類繼承自Context類,因為我們的HelloAndroid 是Activity的子類, 所以它也是一個Context類,所以我們能用"this"在TextView構造中。

      當我們構造完TextView后,我們需要告訴它顯示什么:

      tv.setText("Hello, Android");

      這個步驟很簡單,當我們完成了這些步驟以后,最后要把TextView顯示在屏幕上。

      setContentView(tv);

      Activity的setContentView()方法指示出系統要用哪個View作為Activity的界面, 如果一個Activity類沒有執行這個方法,將會沒有界面并且顯示白屏。在這個程序中,我們要顯示文本,所以我們傳入已創建好的TextView。

      好了,程序代碼已經寫好,下面看看運行效果。

      運行代碼: Hello, Android

     3,編輯自動生成的代碼。

      當項目創建后,你剛才創建的HelloAndroid就會是包含下面的代碼.

      public class HelloAndroid extends Activity

      {

      /** Called when the activity is first created. */

      @Override

      public void onCreate(Bundle icicle)

      {

      super.onCreate(icicle);

      setContentView(R.layout.main);

      }

      }

      下面我們開始修改它

      [構建界面]

      當一個項目建立好以后,最直接的效果,就是在屏幕上顯示一些文本,下面是完成后的代碼,稍后我們在逐行解釋。

      public class HelloAndroid extends Activity {

      /** Called when the activity is first created. */

      @Override

      public void onCreate(Bundle icicle) {

      super.onCreate(icicle);

      TextView tv = new TextView(this);

      tv.setText("Hello, Android");

      setContentView(tv);

      }

      }

      注意你還需要添加 import android.widget.TextView; 在代碼開端處。

      在Android程序中, 用戶界面是由叫做Views類來組織的。 一個View可以簡單理解為可以繪制的對象,像選擇按鈕,一

      個動畫,或者一個文本標簽(這個程序中),這個顯示文本標簽的View子類叫做TextView.

      如何構造一個TextView:

      TexiView tv = new TextView(this);

      TextView的構造參數是Android程序的Context實例, Context可以控制系統調用, 它提供了諸如資源解析, 訪問數據庫等

      等。Activity類繼承自Context類,因為我們的HelloAndroid 是Activity的子類, 所以它也是一個Context類,所以我們能用"this"在TextView構造中。

      當我們構造完TextView后,我們需要告訴它顯示什么:

      tv.setText("Hello, Android");

      這個步驟很簡單,當我們完成了這些步驟以后,最后要把TextView顯示在屏幕上。

      setContentView(tv);

      Activity的setContentView()方法指示出系統要用哪個View作為Activity的界面, 如果一個Activity類沒有執行這個方法,將會沒有界面并且顯示白屏。在這個程序中,我們要顯示文本,所以我們傳入已創建好的TextView。

      好了,程序代碼已經寫好,下面看看運行效果。

      運行代碼: Hello, Android

      使用Android的Eclipse插件就可以很輕松的運行你的程序,選擇Run -> Open Run Dialog。你將會看到下面的對話框

      

      下一步, 高亮"Android Application" 標簽, 然后按下左上角的圖標(就是像一片紙帶個小星星那個), 或者直接雙擊 "Android Application" 標簽, 你將會看到一個新的運行項目,名為"New_configuration".

      

      取一個可以表意的名稱,比如"Hello, Android", 然后通過Browser按鈕選取你的項目(如果你有很多個項目在Eclipse中,確保你選擇要運行的項目), 然后插件會自動搜索在你的項目中的Activity類并且將所有找到的添加在"Activity"標簽的下拉列表中。 我們只有"Hello, Android"一個項目,所以它會作為默認選擇。

      點擊"Apply" 按鈕,下圖

      

      到這里,已經完成了,你只需要點擊"Run"按鈕,然后 Android的模擬器將會啟動,你的應用程序就會被顯示出來。

      

      下次繼續介紹如何把界面的布局用XML表示以及使用命令行進行編譯和運行Android程序。



      你剛剛完成的"Hello, World"例子我們稱之為”程序化”的界面編排。意思就是說構建你的應用程序界面是直接使用的源代碼。如果你已經完成過很多界面程序,你大概熟悉像此類 的方式是多么脆弱:一個對布局小小的修改會對源代碼造成很頭疼的事情。如果忘掉與View的緊密結合,這個導致代碼出錯和浪費你的調試時間的界面問題也會 很簡單。

      這就是為什么Android提供了一種可替換的界面構建方式: 基于XML的布局文件。最簡單的解釋這個概念的方式就是展示一個例子。 我們就用剛才創建的項目來進行演示,達到相同的界面效果。

      android:layout_width="fill_parent"

      android:layout_height="fill_parent"

      android:text="Hello, Android"/>

      AndroidXML布局文件的大體的結構很簡單。 它是一個標簽的樹,任何一個標簽就是View類的名字。在這個例子中, 它是一個很簡單的只有一個元素的樹,一個 TextView。 你可以使用任何繼承自View類的名字作為標簽的名字。包括在你的代碼中自定義的View類。這個結構可以很容易的構建界面,它比你在源代碼中使用的結構 和語法更簡單。這個模式的設計靈感來自于Web開發。 就是可以將界面和應用程序邏輯分離的模式。

      在這個例子中, 也有些是XML的屬性,下面是他們的含義:

      屬性含義

      xmlns:android 這是XML命名空間的聲明,它是告訴Android的工具, 你將要涉及到公共的屬性已被定義在XML命名空間。在每一個Android的布局文件的最外邊的標簽必須有這個屬性。

      android:layout_width 這個屬性定義了在屏幕上這個View可用的寬度是多少。

      android:layout_height 這個屬性定義了在屏幕上這個View可用的高度是多少。

      android:text 設置TextView所包含的文本內容,當前設置為”Hello, Android”信息

      以上就是一個XML布局文件的樣子,但是你需要放在哪里?它要放在你的項目目錄的res/ 文件夾下。 “res”是”resources”的縮寫,它是存放所有非代碼資源的文件夾,包含象圖片,本地化字符串和XML布局文件。

      這些Eclipse的插件已經給你創建好了,在我們上面的例子中,我們沒有使用它。在包瀏覽器中,展開res目錄的layout. 并且編輯 main.xml, 替換掉那個文本內容,然后保存。

      現在,在包瀏覽狀態,打開在代碼文件夾中名為 R.java的文件, 你將看到下面的內容:

      public final class R {

      public static final class attr {

      };

      public static final class drawable {

      public static final int icon=0x7f020000;

      };

      public static final class layout {

      public static final int main=0x7f030000;

      };

      public static final class string {

      public static final int app_name=0x7f040000;

      };

      };

      一個項目的R.java文件是一個定義所有資源的索引文件。 使用這個類就像使用一種速記方式來引用你項目中包含的資源。這個有點特別的強大像對于Eclipse這類IDE的代碼編譯特性,因為它使你快速的,互動式的定位你正在尋找的特定引用。

      到目前需要注意的重要事情是叫做”layout”的內部類和他的成員變量”main”, 插件會通知你添加一個新的XML布局文件,然后從新產生這個R.java文件,比如你添加了新的資源到你的項目,你將會看到R.java也相應的改變了

      最后重要的事情是你需要去修改你的HelloAndroid源代碼,去使用新的XML布局你的界面。替換掉編碼式的界面模式。下面是你的新代碼的樣子,你可以看到,代碼變得更加簡單了。

      public class HelloAndroid extends Activity {

      /** Called when the activity is first created. */

      @Override

      public void onCreate(Bundle icicle) {

      super.onCreate(icicle);

      setContentView(R.layout.main);

      }

      }

      當你做這些改變的時候,不要僅僅復制,粘貼到你的代碼中,嘗試去體驗R.java的代碼編譯特點。你會發現它對你有很大的幫助。

      現在完成這些改變以后,你就可以重新運行你的程序,然后你會發現兩種不同的界面編排方式會產生同樣的效果。



      調試你的項目

      這個用于Eclipse中的Android插件作為Eclipse中的調試器也具有優秀的兼容性。要演示這些,讓我們制造一個bug在代碼中,改變你的HelloAndroid源代碼象下面這樣:

      public class HelloAndroid extends Activity {

      /** Called when the activity is first created. */

      @Override

      public void onCreate(Bundle icicle) {

      super.onCreate(icicle);

      Object o = null;

      o.toString();

      setContentView(R.layout.main);

      }

      }

      這次簡單的變化會引起一個NullPointerException異常, 如果你再次運行程序,你將會看到下面的屏幕:

      

      要找到什么地方出錯,需要設置個斷點在你源代碼的 “Object o = null;” 行后(你可以雙擊在Eclipse中顯示行數的左部區域), 然后選擇 Run -> Debug 選擇最后一次的運行加載。 你的程序將會重起模擬器,但是這個時候它會掛起,當它走到你剛才設置的斷點的時候,在Eclipse的調試模式視圖中,它就會停止在你的代碼處。就像你可 以在其他任意程序中做這個一樣。。

      

      使用其它的IDE工具創建項目

      如果你沒有使用Eclipse(比如你使用其他的IDE開發工具,或者簡單的只使用文本編輯和命令行工具), 那么這個插件不會幫上你忙,別擔心,你不會因為沒有使用Eclipse而丟失任何開發能力。

      其實Android的Eclipse插件也是將一套Android SDK的開發工具包裝了。(這些工具像:模擬器,aapt, adb, ddms, 和其他的,可以參考google的相關文檔), 因此, 它也可以被其他工具包裝,比如ant.

      在Android SDK中包含一個Python腳本,叫做”activityCreator.py”, 它用于為了你的項目創建所有的源代碼和目錄的編譯環境(個人理解), 也就是會產生可用于ant編譯的build.xml. 這樣就允許你的項目從命令行方式創建或者集成到你選擇的IDE中。

      比如,要創建一個HelloAndroid項目,就像剛才我們用Eclipse中的一樣, 你可以使用下面的命令:

      activityCreator.py --out HelloAndroid com.google.android.hello.HelloAndroid

      要編譯你的項目,你要接著使用ant命令,當命令行提示成功時候,你會看到一個名為HelloAndroid.apk的文件在”bin”目錄下。 這個.apk文件是一個Android的包, 它需要使用”adb”工具安裝進模擬器。

      到這里為止,我向大家展示了Android平臺的程序簡單的開發實例,本人水平有限,翻譯的時間倉促,一定有很多錯誤和疏漏,請多提修改意見。本系列教程的主要內容都是翻譯自Google的Android開發文檔。通過下面的鏈接查看全部內容。

      http://code.google.com/android/intro/hello-android.html

    posted on 2007-12-18 16:53 大牙 閱讀(514) 評論(0)  編輯  收藏 所屬分類: 移動開發

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 久久精品国产亚洲一区二区三区| 中文字幕免费观看| 久久精品国产亚洲av成人| 最近中文字幕2019高清免费| 亚洲日韩一区二区三区| 亚洲中文字幕无码爆乳av中文| **俄罗斯毛片免费| 国产日韩AV免费无码一区二区三区| 亚洲国产成人久久精品动漫 | 国产免费av一区二区三区| 亚欧免费一级毛片| 成人自慰女黄网站免费大全 | 亚洲v国产v天堂a无码久久| 在线a级毛片免费视频| 亚洲一区免费观看| 99免费精品视频| 一级黄色片免费观看| 亚洲成av人无码亚洲成av人| 亚洲第一页在线观看| 91情国产l精品国产亚洲区| 亚洲AV日韩AV天堂一区二区三区| 亚洲欧洲中文日韩av乱码| 国产无遮挡又黄又爽免费视频| 成人黄页网站免费观看大全| 在线日本高清免费不卡| 中文字幕在线免费观看| 免费国产黄网站在线观看视频 | 亚洲国产女人aaa毛片在线| 亚洲成AV人片在线观看WWW| 国产啪亚洲国产精品无码| 亚洲精品乱码久久久久久自慰| 亚洲国产精品成人| 亚洲午夜久久久久久噜噜噜| 亚洲一区二区三区影院| 久久精品国产亚洲av麻豆小说| 亚洲香蕉免费有线视频| 亚洲人成网国产最新在线| 日韩亚洲综合精品国产| 在线观看片免费人成视频播放| 99久热只有精品视频免费观看17| 成人免费午夜在线观看|