HelloAndroid

  四大组件:Activity,Broadcast,Service和ContentProvider。

  1.Activity是最基本的Android应用程序组件,应用程序中,一个Activity通常就是一个单独的屏幕。每个Activity都被实现为一个独立的类,并且从Activity基类继承而来,Activity类会显示视图控制组件,并对事件作出响应,大多数应用程序都是有多个Activity组成的。
  2.BroadcastAndroid系统中常用的一种机制,让应用对一个外部的事件作出响应。
  3.Service一个服务是具有一个较长生命周期且没有用户界面的程序。
  4.ContentProvider应用程序能够将它们的数据保存到文件、SQLite数据库中,甚至是任何有效的设备中。当需要将应用数据与其他的应用共享时,内容提供者类实现了一组标准的方法,从而能够让其他的应用保存或读取此内容提供器处理的各种数据类型。

事件:是指在什么情况下所发生的事情。

事件源:指在什么地方发生的事件,(例如:在本次案例中所指的点击事件)。

在此次编程中,一直出现下面这样的情况,那应该如何解决呢?

 E/AndroidRuntime(983): Caused by: java.lang.ClassCastException: android.widget.EditText cannot be cast to android.widget.Button

之所以出现错误,原因其实很简单,组件类型不一致。

在xml中


    helloAndroid
    Settings
    请输入你的姓名
    btn_Click">请点击我

在 MainActivity中

public class MainActivity extends Activity {
	public static final String TAG="MainActivity";
	private EditText etName;
    private Button btnClick;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //获取事件源
        btnClick=(Button) findViewById(R.id.btnClick);
        etName =(EditText) findViewById(R.id.etName);
        btnClick.setOnClickListener(new OnClickListener(){

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				String name = etName.getText().toString();
				Log.d(TAG,"name="+name);
				Toast.makeText(MainActivity.this,"hello,"+name,Toast.LENGTH_LONG).show();
			}
        	
        });
    }
}
HelloAndroid_第1张图片 HelloAndroid_第2张图片 HelloAndroid_第3张图片


 
  



你可能感兴趣的:(HelloAndroid)