Android手机的Hello World程序

摘要:接上文,配置好开发环境后本文将介绍如何开发Android手机的第一个Hello World程序,文章将介绍两种方式,一种通过代码的方式来开发,一种通过配置描述Layout的xml文件来开发,后者其实就是Visual Studio里的控件设计界面,但是没有Visual Studio使用方便,这也是Eclipse还有Android牺牲了易用性,但提供了很好的跨平台性中和的结果。

第一步,通过Eclipse新建项目,选择Android项目类型并点击下一步按钮:

image

第二步,输入项目名、包名等信息,选择“Build Target”为Android2.3.3,这里可以根据实际需要来选择编译项目的目标平台,笔者所经历的一个企业级的应用中就是用的是Anroid1.6,目的是为了对更多的手机兼容,点击完成由Eclipse来帮助创建项目相关文件:

image

image

第三步,下图展示的是Eclipse帮助自动创建的各项目文件,关于里面的内容稍后还会有详细说明,这里主要说明HelloworldActivity类文件,Activity(活动)是Android应用程序中的一种主要类型,读者可以参考整理自IBM相关文章的博客(http://www.cnblogs.com/johnsonwong/archive/2011/08/08/2128012.html),

image

第四步,一个应用程序可以有多个Activity,用户一次只能和一个Activity进行交互,用户访问Activity的时候,Android操作系统会自动调用其中的onCreate()事件,在此方法中添加如下代码:

public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       TextView tv = new TextView(this);
       tv.setText("Hello, Android");
       setContentView(tv);
   }

要使用TextView类,需要导入android.widget.TextView,一个快捷的引入此类的方法是使用Ctrl+Shift+O组合键;

第五步,接下来就可以运行应用程序了,运行应用程序之前需要配置一个模拟器,通过Eclipse Window菜单下的Android SDK and AVD Manager子菜单:

image

在弹出的窗口中选择“New”,创建新的模拟器,在进一步弹出的窗口中设置模拟器的名字,并选择测试的目标平台,这里我们选择“Andorid 2.3.3 – API Level 10”,保持其他的默认不变:

image

第六步,选中项目,选择Run As,然后选择1 Android Application,根据具体的模拟器的不同,启动可能需要等待数分钟:

image

执行的结果如下:

image

通过代码来开发UI繁琐而难以控制,Eclipse也支持可视化的UI设计器,UI画面元素通过XML文件来进行描述,默认的描述文件是位于/res/layout文件夹下面的main.xml:

image


main.xml文件支持两种编辑模式,可视化的设计器或者直接通过XML进行编辑,下面是可视化设计器的样子,对于习惯了使用Visual Studio的朋友来说这种设计其略显得笨重和难看,不过正如前文提到的,这种方便性上的牺牲带来的是对更多平台的兼容性:

image

第一步,接下来通过XML编辑器的方式直接编辑main.xml文件,将main.xml文件内的内容替换成如下内容:

<?xml version="1.0" encoding="utf-8"?>
<TextView 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"/>

第二步,打开/res/values下的string.xml文件,该文件也提供了两种编辑模式,设计模式或XML直接编辑模式,通过XML编辑模式修改其下的hello键的值如下,这个值被前面的布局文件main.xml文件使用:

?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Hello World, this is my first Android Application</string>
    <string name="app_name">Helloworld</string>
</resources>

第三步,打开HelloworldActivity.java类文件,修改内容如下:

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

这里通过setContentView方法将我们在main.xml文件里的设置应用到当前Activity里面去,实现这一点,Eclipse使用了动态生成的R.java类,该类存储有到布局文件等的引用:

package com.johnson;

public final class R {
    public static final class attr {
    }
    public static final class drawable {
        public static final int icon=0x7f020000;
    }
    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;
    }
}

可以看到其中对main的引用位于静态类layout之中,按住Ctrl+F11运行程序:

image

原文地址:https://www.cnblogs.com/johnsonwong/p/2140233.html