Android程序员指南(17)

5.2.3 另一个Hello World!

在这一节中,您将要创建另一个Hello World!应用程序。不过,这次您需要编写用户界面的代码而不是使用xml文件--您将会做许多实际的事情。第一步请移除main.xml中的TextView的代码,这样我们得到一个空的程序框架。

<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Hello World, HelloWorldText"
/>

移除了TextView代码以后,您的main.xml文件看起来应该像这样:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android=http://schemas.android.com/apk/res/android
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
</LinearLayout>

现在您已经有了一个干净的main.xml文件,您可以看是加上代码来在屏幕上显示“Hello World!” 了。打开文件HelloWorldText.java 并且删除下面的行。

setContentView(R.layout.main);

注:您仍然需要为程序设置一个ContentView,不过它的实现将稍有不同,所以现在最好删除整个语句。

这一行使用setContentView()函数将main.xml的内容绘制到屏幕上。既然您不再使用main.xml定义一个TextView,因此您不需要将它设置为您的视图。取而代之的是,您将代码中建立在TextView。

下一步骤是从android.widget中导入TextView的Package。这将使您得以访问TextView并使用它创建一个实例。将下面的代码放在HelloWorldText.java文件的顶部

import android.widget.TextView;

现在,创建一个TextView的实例。通过创建TextView的实例,您可以使用它在屏幕上显示文字不用直接修改main.xml。将以下
代码放在OnCreate()语句之后:

TextView HelloWorldTextView = new TextView(this);

注:TextView需要一个当前的上下文句柄作为参数。将this传给TextView以便于上下文关联起来。只要您按照SDK中层次结构来定义,那么HelloWorldText就可以扩展Activitu,进而扩展ApplicationContext中,从而有序的扩展了语境。

前面的行创建了一个名为HelloWorldTextView的TextView的实例。并且被传递了this的上下文以完整的实例化。

现在TextView已经定义了,您可以加入文字。以下代码将“Hello World!”指定给TextView。

HelloWorldTextView.setText("Hello World!");

虽然TextView已经被建立起来并且包含了您想显示的文字信息,但是,简单的将“Hello World!” 传给TextView仍无法在屏幕上显示出任何东西。如之前探讨过的那样,您还需要设置ContentView,参见以下的代码:

setContentView(HelloWorldTextView);

这一行,您将您的TextView作为参数传给了setContentView函数。

以上的三行代码完成了您的Hello World程序。您创建了一个TextView,将您的文字指定给它,然后再将它设置到屏幕。所有的事情都考虑到了,它们看起来根本不复杂。

您的HelloWorldText.java文件内容看起来应是这样:

package android_programmers_guide.HelloWorldText;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class HelloWorldText extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
/**Hello World JFD */
/**BEGIN */
/**Create TextView */
TextView HelloWorldTextView = new TextView(this);
/**Set text to Hello World */
HelloWorldTextView.setText("Hello World!");
/**Set ContentView to TextView */
setContentView(HelloWorldTextView);
/**END */

现在编译并在Anroid模拟器中运行您的新的Hello World!程序。选择Run | Run或者按下CTRL-F11开始运行吧。下面的插图显示了这一程序的运行结果。



 

您刚刚创建了您的第一个完整的Android Activity。这个小的项目展示了一个相当常见的Hello world!程序的执行。接下来的节会使用一些略有不同的方式来实现Hello World! 我们将使用图形。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值