【移动应用开发技术】Ophone及Android如何快速入门_第1页
【移动应用开发技术】Ophone及Android如何快速入门_第2页
【移动应用开发技术】Ophone及Android如何快速入门_第3页
【移动应用开发技术】Ophone及Android如何快速入门_第4页
【移动应用开发技术】Ophone及Android如何快速入门_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【移动应用开发技术】Ophone及Android如何快速入门

本篇文章给大家分享的是有关Ophone及Android如何快速入门,在下觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着在下一起来看看吧。下文是JavaEye的zhang_xzhi_xjtu总结的OPhone/Androind入门教程,在下感觉不错,在此推荐给大家学习。由于OPhone本质上和Android几乎没什么两样,所以虽然本教程中所用的是OPhone,但实质上无异于一个Android入门教程。主要而言,对某些读者,该教程有两个小小的不足,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:/p/androidbmi/wiki/InstallAndroidJDK5+Eclipse3.3+ADTAndroidSDK(包含Emulator)OPhone:/documentation/ophone/gettingstarted/installing_sdk.htmlJDK5+Eclipse3.4.2ADTWDTOPhoneSDK(包含Emulator)注意安装的***步骤在Eclipse中设置AndroidSDKLocation。3创建简单的OPhone程序在Eclipse中创建一个Androidproject。里面有如下选项需要填写:ProjectName:项目名称。Packagename:命名空间。Activityname:先理解为程序的入口类,以后解释。Applicationname:程序名称。记得加入android.jar和oms.jar。4OPhone目录结构及意义创建好的OPhone项目有如下基本结构。src:javacode。res:OPhone的资源。res\drawable:图片。res\layout:布局描述。res\values:字符串定义。AndroidManifest.xml:描述该OPhone程序。5OPhone关键概念。部署相关:虽然我们是用java开发的,但是结果并不是常见的jar,而是dex,或者apk。过程是这样的,我们编写java,编译成class,优化处理成dex(相对来说mobile还是一个受限环境),和资源一起打包成apk文件。部署后由DalvikVM执行。一个Ophone的应用是多个Activity的集合。可以在AndroidManifest.xml中指定该OphoneApp的入口Activity.一个Activity是一个和用户的基本交互流,有其自身的生命周期。Activity之间可以通过Intent传递信息。关于Activity的生命周期可以参考/p/androidbmi/wiki/LifeCycle一个Activity的实现采用的是MVC,其中code部分负责MC,res\layout中的xml负责View。App中使用的字符串都可以放在res\values下xml中统一维护,方便系统的维护,管理。项目自动生成一个R.java来管理资源相关的引用。开发者不需要手动修改该文件。6小例子截图。这个例子的功能是用户输入名字,程序对该用户说hello。

7关键代码解释HelloOPhone定义了入口Activity。Echo定义了打招呼的Activity。看看HelloOPhone的View部分是怎么定义的,xml的自描述性真好,都不用解释。Xml代码<

LinearLayout

xmlns:android="/apk/res/android"

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent">

<

TextView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/input_msg"

/>

<

EditText

android:id="@+id/name"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text=""

/>

<

Button

android:id="@+id/ok"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/ok"

/>

<

/LinearLayout>看看一个Activity是怎样和这个xml联系起来的。通过自动生成的R.java中的定义。注意定义的xml文件名改变R会自动刷新。Java代码setContentView(R.layout.input);再看看一个Activity如何通过xml中的id找到该View.Java代码b_ok

=

(Button)

findViewById(R.id.ok);再看看Activity怎么通过Intent启动另一个EchoActivity,并且给那个Activity传递信息。Java代码Intent

intent

=

new

Intent();

intent.setClass(HelloOPhone.this,

Echo.class);

Bundle

bundle

=

new

Bundle();

bundle.putString("name",

name);

intent.putExtras(bundle);

startActivity(intent);再看看Echo如何接收传递来的信息。Java代码Bundle

bunde

=

this.getIntent().getExtras();

String

name

=

bunde.getString("name");***简单的看看AndroidManifest.xml如何描述该app。其中指明了命名空间,程序的图像等等。同时指出该app由2个Activity组成,并设置了HelloOPhone为入口Activity。Xml代码<

manifest

xmlns:android="/apk/res/android"

package="allen.oms"

android:versionCode="1"

android:versionName="1.0.0">

<

application

android:icon="@drawable/icon"

android:label="@string/app_name">

<

activity

android:name=".HelloOPhone"

android:label="@string/app_name">

<

intent-filter>

<

action

android:name="ent.action.MAIN"

/>

<

category

android:name="ent.category.LAUNCH

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论