显示两个文本控件——Android开发学习笔记(一)

最近同时也在阅读《Android Apps for Absolute Beginners》,学习Android开发。就像书名里说的,这本书面向的是绝对新手。从如何搭建开发环境开始教起,一直到将面向对象语言的思想,到JAVA基础,再结合实例,在开发环境里编写程序,学习Android应用开发。只可惜这么书里演示的开发环境有点旧了,跟下载的新版开发环境界面不太一致,不过变通一下看也还凑合。

今天我实践了其中的第二个示例,显示两个文本控件。这是程序运行在我的Nexus上的截图:

android文本控件演示

Maxiee 谈谈自己初学的一些感想:

 

1.在XML文件里定义GUI

在/res/layout 下的这个.xml 文件就是掌管程序界面的。在ATD工具里既可以进行可视化编辑,也可以直接编辑XML的文本。环境默认生成的是RelativeLayout,我把它替换成了书上示例中的LinearLayout。感觉这个跟以前学得GTK+有点类似。这个文件代码如下:

<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/textareaone" />

<TextView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/textareatwo" />

</LinearLayout>

LinearLayout 的宽和高都是充满屏幕的,像一个全屏的容器。而两个文本控件,则宽是充满屏幕的,高是"wrap_content",就是刚好能容下内容的高度。另外,两个控件插入xml文件的顺序,就是它在屏幕上现实的顺序,有点像搭积木。

前天还在摆弄Linux下curses库的Maxiee,感觉真心洋气!

2. strings.xml

文本控件显示的文本是在哪里定义的呢?还是在XML文件里!这个文件是/res/value/strings.xml ADT也有相应的可视化工具,要添加一个字符串,按一下按钮就可以了!真是高端大气国际化啊。

3. 主程序

XML虽然洋气,但也不是万能的,还是要有面向对象的语言才行,在Android开发中用到的是Java语言。主程序的代码如下:

package com.example.linearlayout;

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

public class LinearLayoutActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}

}

第一行我们把自己的程序定义成了一个包,下面的三个import 就是直接调用了其他包内的类,其实只用到了Activity 类。我们对他进行了派生,即是我们的LinearLayoutActivity 子类。

在这个子类onCreate函数里,先调用父类的onCreate(干嘛用?

setContentView(R.layout.main) 这个main应该指的是layout/main.xml R指的是/res ?瞎猜的,哈哈。

@Override 貌似在重写父类函数是就要加上。

看似一知半解的,这就是Maxiee 今天的学习内容了!