再一次,Hello World!
在这部分,将用代码显示Hello World。首先,像上次一样新建一个Hello World程序,打开main.xml,把<TextView>这个标签删除!此时,这就是一个很干净的程序,将什么都不会显示。打开HelloWorldText.java(这个文件是建项目时候的Activity Name,在AndroidManifest.xml中描述为启动的Activity),把setContentView(R.layout.main);删除。这个方法是将main.xml这个布局文件所描述的内容显示到屏幕上。
接下来通过代码来绑定一个TextView到屏幕上,首先,引入包
import android.widget.TextView;
然后创建一个TextView的实例
TextView HelloWorldTextView = new TextView(this);
实例化中TextView需要传一个context的参数,因为HelloWorldText继承Activity,Activity继承了ApplicationActivity,然后又继承Context,所以可以传this。
HelloWorldTextView.setText("Hello World!");
上面这行代码是为这个控件设置值。
现在已经创建了控件和设置了值,此时当然不会在屏幕上显示,现在只是在内存中生成,并未与屏幕关联,如前面所诉,如果要呈现在屏幕上需要调用setContentView。
setContentView(HelloWorldTextView);
总结,想要在屏幕上显示些什么东西,首先创建一个相应的显现的控件对象,关联相关的文字,将控件setContentView。
下面是代码:
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 */
}
}
接下来是在屏幕上显示一幅图片,如前面一样创建一个Android项目,命名为HelloWorldImage,首先要准备一张图片,helloworld.png。把这张图片放到工程目录中的res中的drawable文件夹中。
注意:图片的命名不要大小写混合,必须都是小写,否则eclipse会报错,如res/drawable/HelloWorld.png: Invalid file name: must contain only [a-z0-9_.]
打开R.java,可以看到自动生成的一个指向helloworld.png的内存地址。
现在像前面一样清除程序默认的显示方法,main.xml和启动的Activity中。通过XML或者是代码的方法将图片显示到屏幕上。
代码的方式:
与前面一样,三个步骤:
ImageView HelloWorldImageView = new ImageView(this);
HelloWorldImageView.setImageResource(R.drawable.helloworld);
setContentView(HelloWorldImageView);
XML的方法:
首先打开main.xml,删除其中默认的TextView标签,加入一个<ImageView />,接下来需要再加入四个属性,android:id, android:layout_width,android:layout_height, and android:src.其中android:id是ImageView的标识,可以在代码中通过这个属性来引用这个控件。
android:id="@+id/imageview",通过R.layout.imageview引用。
android:layout_width="wrap_content"
android:layout_height="wrap_content"
这两个属性是指出屏幕上的布局,
android:src="@drawable/helloworld"
这个是指出图片的来源。
setContentView(R.layout.main);
在启动的Activity中加上上面这句代码将main.xml的布局显示在屏幕上。