Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 高級開發 >> 快速上手:Ophone及Android入門教程

快速上手:Ophone及Android入門教程

編輯:高級開發

下文是JavaEye的zhang_xzhi_xjtu總結的OPhone/Androind入門教程,小編感覺不錯,在此推薦給大家學習。由於OPhone本質上和android幾乎沒什麼兩樣,所以雖然本教程中所用的是OPhone,但實質上無異於一個android入門教程。

本教程主要參考

http://code.google.com/p/androidbmi/wiki/DiveIntoandroid

這個教程是一個比較好的教程,但是天下沒有人人滿意的東西。

主要而言,對某些讀者,該教程有兩個小小的不足,1是繁體字,2是作者照顧了很多剛入門的程序員,寫的太細致了,比如還要抽空講一講Java,XML的一些語法。

本文的特點就是,1普通話,2面向有Java,XML經驗的程序員。主要是從一個小例子闡述一下OPhone/android的一些重要概念。

本文的目標是除去搭建環境外的一個5分鐘快速入門。並提供一個簡單的程序代碼可以用來修改驗證一些OPhone/Android入門時的想法,並對OPhone/android的重要概念有一個大致的了解。

本文提供的code的測試搭建環境為OPhone。

1 背景

android是什麼?

android 是Google開發的基於Linux平台的開源手機操作系統

OPhone是什麼?

OPhone是中國移動OMS系統下定制的手機。OPhone上的程序和android是兼容的。

Emulator是什麼?

方便程序員開發其他設備上的程序,而對其他設備做的一個軟件模擬器。開發的程序可以在模擬器上部署,執行,調試。

2 安裝開發環境

android: http://code.google.com/p/androidbmi/wiki/Installandroid

JDK5+

Eclipse3.3+

ADT

android SDK(包含Emulator)

OPhone: http://www.ophonesdn.com/documentation/ophone/gettingstarted/installing_sdk.Html

JDK5+

Eclipse3.4.2

ADT

WDT

OPhoneSDK(包含Emulator)

注意安裝的最後步驟在Eclipse中設置android SDK Location。

3 創建簡單的OPhone程序

在Eclipse中創建一個android project。

裡面有如下選項需要填寫:

Project Name:項目名稱。

Package name:命名空間。

Activity name:先理解為程序的入口類,以後解釋。

Application name:程序名稱。

記得加入android.jar和oms.jar。

4 OPhone目錄結構及意義

創建好的OPhone項目有如下基本結構。

src:Java code。

res:OPhone的資源。

res\drawable:圖片。

res\layout:布局描述。

res\values:字符串定義。

androidManifest.XML:描述該OPhone程序。

5 OPhone關鍵概念。

部署相關:

雖然我們是用Java開發的,但是結果並不是常見的jar,而是dex,或者apk。

過程是這樣的,我們編寫Java,編譯成class,優化處理成dex(相對來說mobile還是一個受限環境),和資源一起打包成apk文件。部署後由Dalvik VM執行。

一個Ophone的應用是多個Activity的集合。可以在androidManifest.XML中指定該Ophone App的入口Activity.

一個Activity是一個和用戶的基本交互流,有其自身的生命周期。Activity之間可以通過Intent傳遞信息。

關於Activity的生命周期可以參考

http://code.google.com/p/androidbmi/wiki/LifeCycle

一個Activity的實現采用的是MVC,其中code部分負責MC,res\layout中的XML負責VIEw。

App中使用的字符串都可以放在res\values下XML中統一維護,方便系統的維護,管理。

項目自動生成一個R.Java來管理資源相關的引用。開發者不需要手動修改該文件。

6 小例子截圖。

這個例子的功能是用戶輸入名字,程序對該用戶說hello。

用戶輸入名字 程序對該用戶說hello

7 關鍵代碼解釋

HelloOPhone定義了入口Activity。

Echo定義了打招呼的Activity。

看看HelloOPhone的VIEw部分是怎麼定義的,XML的自描述性真好,都不用解釋。

XML代碼

  1. < LinearLayout XMLns:android="http://schemas.android.com/apk/res/android"
  2. android:orIEntation="vertical" android:layout_width="fill_parent"
  3. android:layout_height="fill_parent">
  4. < TextVIEw android:layout_width="fill_parent"
  5. android:layout_height="wrap_content" android:text="@string/input_msg" />
  6. < EditText android:id="@+id/name" android:layout_width="fill_parent"
  7. android:layout_height="wrap_content" android:text="" />
  8. < Button android:id="@+id/ok" android:layout_width="fill_parent"
  9. android:layout_height="wrap_content" android:text="@string/ok" />
  10. < /LinearLayout>

看看一個Activity是怎樣和這個XML聯系起來的。通過自動生成的R.Java中的定義。注意定義的XML文件名改變R會自動刷新。

Java代碼

  1. setContentVIEw(R.layout.input);

再看看一個Activity如何通過XML中的id找到該VIEw.

Java代碼

  1. b_ok = (Button) findVIEwById(R.id.ok);

再看看Activity怎麼通過Intent啟動另一個Echo Activity,並且給那個Activity傳遞信息。

Java代碼

  1. Intent intent = new Intent();
  2. intent.setClass(HelloOPhone.this, Echo.class);
  3. Bundle bundle = new Bundle();
  4. bundle.putString("name", name);
  5. intent.putExtras(bundle);
  6. startActivity(intent);

再看看Echo如何接收傳遞來的信息。

Java代碼

  1. Bundle bunde = this.getIntent().getExtras();
  2. String name = bunde.getString("name");

最後簡單的看看androidManifest.XML如何描述該app。

其中指明了命名空間,程序的圖像等等。

同時指出該app由2個Activity組成,並設置了HelloOPhone為入口Activity。

XML代碼

  1. < manifest XMLns:android="http://schemas.android.com/apk/res/android"
  2. package="allen.oms" android:versionCode="1" android:versionName="1.0.0">
  3. < application android:icon="@drawable/icon" android:label="@string/app_name">
  4. < activity android:name=".HelloOPhone" android:label="@string/app_name">
  5. < intent-filter>
  6. < action android:name="android.intent.action.MAIN" />
  7. < category android:name="android.intent.category.LAUNCHER" />
  8. < /intent-filter>
  9. < /activity>
  10. < activity android:name=".Echo" android:label="@string/app_name" />
  11. < /application>
  12. < /manifest>

OPhone/Androind入門教程到此結束,希望對大家有所幫助。

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