2010年7月5日星期一

收藏:第一个 Android 程序 — Hello World

原文出自http://www.mxjava.com/android-helloworld.html

通过《Android 开发环境的安装》我们了解了 Android 的一些基本知识,也介绍了如何安装 Android 开发环境。就从这一篇开始进入 Android 开发的学习过程。

  任何一门语言或者框架的第一课都是精典的 Hello World,我们跟随主流,从 Hello World 开始吧。

  有了 Eclipse 插件(Android ADT)创建并运行一个工程是十分容易的,只要简单的2个步骤就可以顺利完成 HelloWorld 。

1、单击菜单 File > New > Project 弹出的窗口选择创建一个新的 Android 项目。
2、并在创建 Android 项目的对话框里填写项目的详细信息,确认无误后按下 finish 按钮一个工程就被顺利的创建成功了。

创建的工程结构如下:

  简单介绍一下几个比较重要的目录。
1、src 目录用于存放代码。
2、gen 目录用于存放对应该资源文件的代码。
3、res 目录用于存放资源文件。
4、res\layout 目录用于存放布局描述文件。
5、res\values 目录用于存放常量定义文件。

  简单介绍一下几个比较重要的文件。
1、HelloWorld.java 程序代码文件,其内容与一般 Java 程序格式完全相同。

  1. package com.mxjava.android.hello;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. public class HelloWorld extends Activity {
  5. /** Called when the activity is first created. */
  6. @Override
  7. public void onCreate(Bundle savedInstanceState) {
  8. super.onCreate(savedInstanceState);
  9. setContentView(R.layout.main);
  10. }
  11. }

  我们看到 HelloWorld 类继承了 Activity 类,并且覆写了 onCreate() 方法。方法中利用 setContentView() 方法来设置界面的布局。这里重点说明一下该方法的参数 R.layout.main 。R.java 文件存放在 gen 目录下,layout 是该类中的静态类,它对应 res\layout 目录。常量 main 对应 main.xml 文件。所以 R.layout.main 就对应着 res\layout\main.xml 文件。若在 res\layout\ 目录下新增一 Android 配置文件,ADT 会自动在 R 中增加相对应的代码。

  main.xml 是界面布局配置文件,用于设计显示界面样式。

  1. <linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent">
  2. <textview android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello">
  3. textview>linearlayout>

  布局配置中设置了一个 TextView,表示界面上显示一个文本标签,属性 android:text 是显示的内容。这里是 @string/hello 。在这里 @ 是引用标志,string 是常量配置文件 string.xml ,hello 是 string.xml 中 name=”hello” 的配置项。让我们再看看 string.xml 的配置:

  1. <resources>
  2. <string name="hello">Hello World, HelloWorld!string>
  3. <string name="app_name">HelloWorldstring>
  4. resources>

  hello 的值为 Hello World, HelloWorld!。所以文本标签的显示内容就为Hello World, HelloWorld!。

  每一个项目都包含一个 AndroidManifest.xml 配置文件,该文件配置了程序的各种设定。比如前端应用程序 Activity (Foreground Activities),后台服务(Background Services)以及间隔执行的 Activity (Intermittent Activities)。HelloWorld 类继承自 Activity ,所以它是一个前端应用程序,其配置如下:

  1. <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.mxjava.android.hello" android:versioncode="1" android:versionname="1.0">
  2. <application android:icon="@drawable/icon" android:label="@string/app_name">
  3. <activity android:name=".HelloWorld" android:label="@string/app_name">
  4. <intent-filter>
  5. <action android:name="android.intent.action.MAIN">
  6. <category android:name="android.intent.category.LAUNCHER">
  7. category>action>intent-filter>
  8. activity>
  9. application>
  10. manifest>

  application 标签设置了程序的基本信息。如:android:icon 程序的图标,android:label 程序的名称等。文件中有一个名为 HelloWorld 的 Activity,并为其设置了 Intent-filter ,action 和 category 两个标签表明了该 Activity 为程序默认要运行的 Activity(因为可以建立多个继承自 Activity 的类,每个类都要在该文件进行配置,所以为其指定默认运行的 Activity 至关重要)。

  了解了以上内容后,就可以运行我们的程序了。右键点击工程 > Run As > Android Application ,程序将启动运行。

  注意:模拟器将模拟 Android 手机启动过程,可能有点慢,请耐心等待。

  有了 ADT 我们不用编写一行代码就可以运行 HelloWorld,非常方便。不过 Activity 类的应用程序有着自己的运行方式,为了能更好的编写代码,我们必须了解其运行方式,如下:

  onCreate -> onRestore ->onStart -> onResume -> onSave -> onPause -> onStop -> onDestroy

  onCreate -> onRestore ->onStart 为应用的启动,一般 Activity 用 onCreate。当程序失去焦点或者被关闭将会触发 onPause 状态,当程序再次被唤醒,将会回到 onResume 状态。

没有评论:

发表评论