偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

移動(dòng)開發(fā) Android
本文的目標(biāo)是除去搭建環(huán)境外的一個(gè)5分鐘快速入門,并提供一個(gè)簡(jiǎn)單的程序代碼可以用來修改驗(yàn)證一些OPhone/Android入門時(shí)的想法,并對(duì)OPhone/Android的重要概念有一個(gè)大致的了解。

下文是JavaEye的zhang_xzhi_xjtu總結(jié)的OPhone/Androind入門教程,小編感覺不錯(cuò),在此推薦給大家學(xué)習(xí)。由于OPhone本質(zhì)上和Android幾乎沒什么兩樣,所以雖然本教程中所用的是OPhone,但實(shí)質(zhì)上無異于一個(gè)Android入門教程。

本教程主要參考

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

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

主要而言,對(duì)某些讀者,該教程有兩個(gè)小小的不足,1是繁體字,2是作者照顧了很多剛?cè)腴T的程序員,寫的太細(xì)致了,比如還要抽空講一講java,xml的一些語法。

本文的特點(diǎn)就是,1普通話,2面向有java,xml經(jīng)驗(yàn)的程序員。主要是從一個(gè)小例子闡述一下OPhone/Android的一些重要概念。

本文的目標(biāo)是除去搭建環(huán)境外的一個(gè)5分鐘快速入門。并提供一個(gè)簡(jiǎn)單的程序代碼可以用來修改驗(yàn)證一些OPhone/Android入門時(shí)的想法,并對(duì)OPhone/Android的重要概念有一個(gè)大致的了解。

本文提供的code的測(cè)試搭建環(huán)境為OPhone。

1  背景

Android是什么?

Android 是Google開發(fā)的基于Linux平臺(tái)的開源手機(jī)操作系統(tǒng)。

OPhone是什么?

OPhone是中國移動(dòng)OMS系統(tǒng)下定制的手機(jī)。OPhone上的程序和Android是兼容的。

Emulator是什么?

方便程序員開發(fā)其他設(shè)備上的程序,而對(duì)其他設(shè)備做的一個(gè)軟件模擬器。開發(fā)的程序可以在模擬器上部署,執(zhí)行,調(diào)試。

2 安裝開發(fā)環(huán)境

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中設(shè)置Android SDK Location。

3 創(chuàng)建簡(jiǎn)單的OPhone程序

在Eclipse中創(chuàng)建一個(gè)Android project。

里面有如下選項(xiàng)需要填寫:

Project Name:項(xiàng)目名稱。

Package name:命名空間。

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

Application name:程序名稱。

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

4 OPhone目錄結(jié)構(gòu)及意義

創(chuàng)建好的OPhone項(xiàng)目有如下基本結(jié)構(gòu)。

src:java code。

res:OPhone的資源。

res\drawable:圖片。

res\layout:布局描述。

res\values:字符串定義。

AndroidManifest.xml:描述該OPhone程序。

5 OPhone關(guān)鍵概念。

部署相關(guān):

雖然我們是用java開發(fā)的,但是結(jié)果并不是常見的jar,而是dex,或者apk。

過程是這樣的,我們編寫java,編譯成class,優(yōu)化處理成dex(相對(duì)來說mobile還是一個(gè)受限環(huán)境),和資源一起打包成apk文件。部署后由Dalvik VM執(zhí)行。

一個(gè)Ophone的應(yīng)用是多個(gè)Activity的集合??梢栽贏ndroidManifest.xml中指定該Ophone App的入口Activity.

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

關(guān)于Activity的生命周期可以參考

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

一個(gè)Activity的實(shí)現(xiàn)采用的是MVC,其中code部分負(fù)責(zé)MC,res\layout中的xml負(fù)責(zé)View。

App中使用的字符串都可以放在res\values下xml中統(tǒng)一維護(hù),方便系統(tǒng)的維護(hù),管理。

項(xiàng)目自動(dòng)生成一個(gè)R.java來管理資源相關(guān)的引用。開發(fā)者不需要手動(dòng)修改該文件。

6 小例子截圖。

這個(gè)例子的功能是用戶輸入名字,程序?qū)υ撚脩粽fhello。

用戶輸入名字 程序?qū)υ撚脩粽fhello

7 關(guān)鍵代碼解釋

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.     
  5.     < TextView android:layout_width="fill_parent"    
  6.         android:layout_height="wrap_content" android:text="@string/input_msg" />    
  7.     
  8.     < EditText android:id="@+id/name" android:layout_width="fill_parent"    
  9.         android:layout_height="wrap_content" android:text="" />    
  10.     
  11.     < Button android:id="@+id/ok" android:layout_width="fill_parent"    
  12.         android:layout_height="wrap_content" android:text="@string/ok" />    
  13.     
  14. < /LinearLayout>    

 

看看一個(gè)Activity是怎樣和這個(gè)xml聯(lián)系起來的。通過自動(dòng)生成的R.java中的定義。注意定義的xml文件名改變R會(huì)自動(dòng)刷新。

Java代碼

 

  1. setContentView(R.layout.input);   

 

再看看一個(gè)Activity如何通過xml中的id找到該View.

Java代碼

 

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

 

再看看Activity怎么通過Intent啟動(dòng)另一個(gè)Echo Activity,并且給那個(gè)Activity傳遞信息。

Java代碼

 

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

 

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

Java代碼

 

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

 

***簡(jiǎn)單的看看AndroidManifest.xml如何描述該app。

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

同時(shí)指出該app由2個(gè)Activity組成,并設(shè)置了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.     
  5.         < activity android:name=".HelloOPhone" android:label="@string/app_name">    
  6.             < intent-filter>    
  7.                 < action android:name="android.intent.action.MAIN" />    
  8.                 < category android:name="android.intent.category.LAUNCHER" />    
  9.             < /intent-filter>    
  10.         < /activity>    
  11.     
  12.         < activity android:name=".Echo" android:label="@string/app_name" />    
  13.     
  14.     < /application>    
  15. < /manifest>     

OPhone/Androind入門教程到此結(jié)束,希望對(duì)大家有所幫助。

【編輯推薦】

  1. Android開發(fā)環(huán)境配置簡(jiǎn)介
  2. Android應(yīng)用程序開發(fā)基礎(chǔ):Application組件
  3. Windows Mobile與Android應(yīng)用開發(fā)對(duì)比
  4. ExtJS在Android模擬器上的運(yùn)行效果
  5. 中移動(dòng)發(fā)布OPhone SDK 基于Android技術(shù)
責(zé)任編輯:yangsai 來源: JavaEye博客
相關(guān)推薦

2014-06-04 10:42:34

Swift蘋果iOS

2009-09-08 17:45:13

Ophone Widg

2010-05-21 12:50:45

Subversion快

2010-05-27 17:27:45

Subversion快

2016-12-02 19:19:35

大數(shù)據(jù)Hadoop

2020-02-21 08:18:58

JavaScala編程語言

2009-07-20 14:21:52

PowerDesign

2011-09-14 11:10:09

Android 2.2

2009-07-08 15:12:48

Java Servle

2014-05-26 15:35:55

Web組件Web Compone

2010-08-03 13:06:15

Flex Builde

2013-08-29 14:12:52

Storm分布式實(shí)時(shí)計(jì)算

2022-03-22 11:35:10

數(shù)據(jù)建模PostgreSQLCitus

2010-05-31 10:56:51

SVN服務(wù)器架設(shè)

2014-07-23 09:48:51

GitHub設(shè)計(jì)師

2011-09-02 10:59:10

jQuery Mobi

2013-06-24 13:38:34

HTML5 DataList

2018-03-22 14:59:13

Docker入門容器

2010-07-20 16:19:54

Perl

2010-06-18 16:56:50

UML建模語言
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)