最近为了应付老外的Android作业,所以不得不开始学习一下Android。在这里不得不吐槽一下学校,悄悄的将我们选的嵌入式换成Android,而不通知我们。
先简单的介绍一下Android中UI组件的一些通用属性吧:
android:id 是指定控件的位置标识,在java程序中可以通过findViewById(“id”)来获取指定的android界面组件。
android:layout_width和android:layout_height用来指定界面组件的宽度和高度,如果这个属性值设置为fill_parent的话,也就是说明这个组件和其父组件具有相同的宽度,如果属性值设置为warp_content的话,说明这个组件的宽度或者高度刚刚能包裹他的内容。
android之所以采用XML文件来定义用户界面,我觉的就是为了解耦。使得java程序专门负责业务逻辑实现。
使用Eclipse开发Android应用比较简单,一般只需要做大体两件事情:使用main.xml定义用户界面,然后使用java编写业务逻辑实现。
下面大致说说几个主要目录的作用,如图:
|
AndroidManifest.xml文件是Android项目的系统清单文件,用来控制android应用的名称,图标,访问权限等的整体属性。 src目录是一个普通的用来保存java源文件的目录 res目录用来存放各种资源文件 比如layout存放布局文件values目录下存放各种XML格式的资源文件,例如字符串文件strings.XML。drawable-mdpi,drawable-ldpi,drawable-hdpi这3个目录是分别用来存放中,小,大三种图片文件。
|
下面来建立一个基本的例子来看看,首先使用eclipse建立一个android项目,然后修改main.xml文件内容如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas./apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/show"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="" />
<!-- 设置按钮的文本为“单击我” -->
<Button
android:id="@+id/ok"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="单击我" />
</LinearLayout>
然后设置HelloWorldActivity.java文件内容如下:
package hello.com;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.LinearLayout;
public class HelloWorldActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//设置使用main.xml文件定义的界面布局
setContentView(R.layout.main);
//获取UI界面中id为ok的按钮
Button button=(Button)findViewById(R.id.ok);
//为按钮绑定一个时间监听器
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//或许UI界面中id为show的文本框
final TextView show=(TextView)findViewById(R.id.show);
//改变文本框的内容
show.setText("Hello Android "+new java.util.Date());
}
});
}
}
好了,然后运行,结果如下图:
|