Android入门-Hello World

Android Hello World实例介绍


一、安装开发平台和工具

1、Android SDK安装;

2、Eclipse(ADT Plugins)安装;


二、AVD创建

打开Android SDK And AVD Manger,创建一个AVD(Android Virtual Device)-虚拟设备(后续开发、调试用),假定版本为2.1-update1;


三、创建一个Android Project

1、在Eclipse中选择创建一个Android项目;

2、选择与之前创建的AVD一样的目标框架(Bulid Target):2.1-update1

3、各项属性填写如下:

  • Project name: HelloAndroid
  • Build Target: Select a platform version that is equal to or lower than the target you chose for your AVD.
  • Application name: Hello, Android
  • Package name: com.example.helloandroid (可以自定义自己的命名空间)
  • Create Activity: HelloAndroid
4、项目创建完成;

四、构建UI
Android构建UI有两种基本方式:
1)、程序硬编码;
2)、基于XML的Layout构建;
程序硬编码方式:
打开HelloAndroid.java,将程序代码修改如下:
package com.example.helloandroid;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class HelloAndroid extends Activity {
   /** Called when the activity is first created. */
   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       TextView tv = new TextView(this);
       tv.setText("Hello, Android");
       setContentView(tv);
   }
}
说明:
HelloAndroid类继承基类Activity(Android系统类)。Activity是应用的主入口类,它可以包含一些列行为和动作。一个应用通常会包含多个Activity,但用户同一时间只会和一个Activity交互。其中OnCreate方法,会在初始化的时候被Android系统调用,用来完成所有的初始化和UI方面行为。Activity不强制要求用户接口的实现,但通常都会包含UI实现。

至此我们就完成了一个最简单Hello World应用。看看在AVD的运行效果吧:


基于XML的Layout构建方式(推荐方式):
上面的方式是利用在代码中“硬编码”的方式来构建应用UI,这种方式的缺点显而易见:每次修改UI,都需要重新修改应用代码!而且,由于UI代码和应用代码混杂在一起,也不利于代码的维护。
这就是Android会提供另外一个UI构建机制:基于XML的Layout构建!
下面的这段XML代码的功能,与上面硬编码的UI构建方式的结果相同:
xml version="1.0" encoding="utf-8"?>
 xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/textview"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:text="@string/hello"/>

上面的XML代码结构相当清晰简洁:每一个XML元素对应一个View(Android系统类)的名字(此处为继承自View的TextView类)。这意味着任何继承自View的子类名都可以使用(包括自定义的View子类)。
利用这种方式,开发者可以快速的定义应用的UI框架,同时,该方式很好的实现了UI代码和业务逻辑代码的分离!

下面说明下上述XML元素的几个属性含义:

Attribute Meaning
xmlns:android XML命名空间,必须包含。
android:id 元素ID。该ID可以来自代码中的View类ID或者其他XML Layout。
android:layout_width 定义当前View的宽度(本例为全屏宽度)。
android:layout_height 定义当前View的高度。
android:text 设置Textview元素要显示的文本内容。本例中,定义了一个“串资源”来定义text。"hello"是在res/values/strings.xml中定义的一个元素。这是Android推荐的串资源定义方式,因为这种方式在实现多语言等应用时会十分方便,将资源文件和程序代码分离。
打开   /res/layout/main.xml文件,将上面的xml内容拷贝并保存。另外,我们打开res/values/strings.xml,修改其内容如下:

xml version="1.0" encoding="utf-8"?>

     name="hello">Hello, Android! I am coming!
     name="app_name">Hello, Android

最后,我们修改HelloAndroid类代码如下:

package com.example.helloandroid;

import android.app.Activity;
import android.os.Bundle;

public class HelloAndroid extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}


说明:

此时,我们去除了TextView实现,而是用setContentView(R.layout.main)来实现UI绘制。其中类R由ADT自动生成,用来索引和定义各类资源元素,不要手动修改。

package com.example.helloandroid;

public final class R {
    public static final class attr {
    }
    public static final class drawable {
        public static final int icon=0x7f020000;
    }
    public static final class id {
        public static final int textview=0x7f050000;
    }
    public static final class layout {
        public static final int main=0x7f030000;
    }
    public static final class string {
        public static final int app_name=0x7f040001;
        public static final int hello=0x7f040000;
    }
}
下面,我们重新保存应用并运行,效果如下:



至此,我们完成了Android上的第一个Hello World,Enjoy IT!


Project name: HelloAndroid Build Target: Select a platform version that is equal to or lower than the target you chose for your AVD. Application name: Hello, Android Package name: com.example.helloandroid (or your own private namespace) Create Activity: HelloAndroid

你可能感兴趣的:(Android)