实验2 Activity 和Intent
1. 实验目的
1. 掌握如何创建一个Activity
2. 掌握如何在Activity中添加控件并进行事件处理
3. 掌握如何通过Intent启动另外一个Activity
4. 掌握如何通过Intent在多个Activity之间传递数据
5. 掌握Activity的生命周期
2. 实验仪器
装有Android开发环境的计算机
3. 实验任务
任务1:打招呼
(1)运行效果图
(1)训练目标
1) EditText组件的使用
2) ImageButton组件的使用
3) Toast组件的使用
4) 掌握基本的事件处理方式
(2)核心代码MainActivity
方法一:内部类
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
eText=(EditText) findViewById(R.id.eText);
btn=(Button) findViewById(R.id.btn);
btn.setOnClickListener(new new ClickHandler());
}
class ClickHandler implements OnClickListener
{
@Override
public void onClick(View view)
{
String name=eText.getText().toString();
Toast.makeText(MainActivity.this, "你好"+name, Toast.LENGTH_LONG)
.show();
}
}
方法二:匿名内部类
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
eText=(EditText) findViewById(R.id.eText);
btn=(Button) findViewById(R.id.btn);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
String name= eText.getText().toString();
Toast.makeText(MainActivity.this, "你好"+name, Toast.LENGTH_LONG) .show();
}
});
}
方法三:在布局文件中设置与事件相关的属性
在Button布局中添加代码android:onClick="hello"
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn=(Button) findViewById(R.id.btn);
eText=(EditText) findViewById(R.id.eText);
public void hello(View view){
String name=eText.getText().toString();
Toast.makeText(MainActivity.this, "你好"+name, Toast.LENGTH_LONG) .show();
}
(4)问题与反思
1)在编写Toast.makeText(MainActivity.this, "你好"+name, Toast.LENGTH_LONG).show();的时候,如果不添加“show()”,toast则无法显示。
2)关于输入文本框的白色背景:
android:background="@android:drawable/edit_text"
关于输入框左侧小图片:
android:drawableLeft="@drawable/name"
参照: EditText
http://www.cnblogs.com/over140/archive/2010/09/02/1815439.html
http://androiddoc.qiniudn.com/reference/android/widget/EditText.html
http://flysnow.iteye.com/blog/828415/
ImageButton
http://www.cnblogs.com/over140/archive/2010/09/20/1831459.html
Toast
http://androiddoc.qiniudn.com/reference/android/widget/Toast.html