在客户的"突然袭击"下,我只好放下Java的学习计划,直接来学Android了,虽然这样不是很好的学习顺序,但实际情况往往快过计划,any way,这样也没关系,相信我能应付得来
下面是学习写的第一个Android程序,搭建开发环境什么的就不写了,每本书,每个电子文档上都少不了的,写上来没什么意义。第一次玩Android虚拟手机,感觉很有意思,和真实的手机运行一样,有一种新奇的感觉。
下面发上来我写的第一个Android程序,在Android世界里面,界面全部是用xml文件来写的,可以很好的跟代码文件隔离开。
下面这个文件在创建Android项目时就会自动创建,路径为res->layout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns: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="@string/hello" />
<Button
android:id="@+id/ok"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="单击我" />
</LinearLayout>
现在不需要搞懂每一个东西的意思和用法,看懂主要的内容,LineLayOut是线性布局,具体有什么意义和用法,以后再说
fill_parent这个属性指和父容器有一样的宽度或高度,wrap_content是该组件的高度或宽度取决于它的内容,很好懂。
下面的代码 文件位于路径src之下,路径再往下会以命名空间,包名加以区分
package WangLi.HelloWorld.Space;
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;
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为R.id.ok的按钮
Button bn = (Button)findViewById(R.id.ok);
//为按钮绑定一个单击事件的监听器
bn.setOnClickListener(new OnClickListener(){
public void onClick(View v)
{
//获取UI界面中ID为R.id.show的文本框
final TextView show = (TextView)findViewById(R.id.show);
//改变文本框的文本内容
show.setText("Hello Android ~" + new java.util.Date());
}
});
}
}
上面的如 R.id.ok 这些看不太明白的地方,特别是为什么有个R,之后再解释弄明白