原文出自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 程序格式完全相同。
- package com.mxjava.android.hello;
- import android.app.Activity;
- import android.os.Bundle;
- public class HelloWorld extends Activity {
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- }
- }
我们看到 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 是界面布局配置文件,用于设计显示界面样式。
- <linearlayout xmlns:android="http://schemas.android.com/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/hello">
- textview>linearlayout>
布局配置中设置了一个 TextView,表示界面上显示一个文本标签,属性 android:text 是显示的内容。这里是 @string/hello 。在这里 @ 是引用标志,string 是常量配置文件 string.xml ,hello 是 string.xml 中 name=”hello” 的配置项。让我们再看看 string.xml 的配置:
- <resources>
- <string name="hello">Hello World, HelloWorld!string>
- <string name="app_name">HelloWorldstring>
- resources>
hello 的值为 Hello World, HelloWorld!。所以文本标签的显示内容就为Hello World, HelloWorld!。
每一个项目都包含一个 AndroidManifest.xml 配置文件,该文件配置了程序的各种设定。比如前端应用程序 Activity (Foreground Activities),后台服务(Background Services)以及间隔执行的 Activity (Intermittent Activities)。HelloWorld 类继承自 Activity ,所以它是一个前端应用程序,其配置如下:
- <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.mxjava.android.hello" android:versioncode="1" android:versionname="1.0">
- <application android:icon="@drawable/icon" android:label="@string/app_name">
- <activity android:name=".HelloWorld" android:label="@string/app_name">
- <intent-filter>
- <action android:name="android.intent.action.MAIN">
- <category android:name="android.intent.category.LAUNCHER">
- category>action>intent-filter>
- activity>
- application>
- 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 状态。