Activity是android重要组件,是一个视图组件,我们所熟知的android应用,一个应用屏幕显示就是一个Activity,Activity就像是人的一张脸,脸上的五官就相当于我们添加在Activity的组件如Button。Activity也如人一般,有生老病死,一个循环周期,Activity生命周期有七种状态,onCreate(),onStart(),onResume(),onPuause(),onStop(),onDestroy()。
Activity生命周期如图:
那么Activity与Intent是什么关系呢?Intent好比一个信使,两个Activity就像是现实中的情侣,他们远隔一方,难挨相思之苦,所以需要一个信使,来给他们送送信,送送东西什么的,这样就方便多了,不用自己来回跑,那么Activity怎样指使Intent送信呢?如果我们送信的话,需要在信封上面写地址吧,OK,Intent提供了这样一个方法,setClass(本地址,对方地址);,光有地址没内容,是不是很不爽?对了,如果你寄个空的信封,估计你女朋友要骂你了,OK,这个小意思,Intent会帮你搞定,Intent提供了这样的功能,putExtra(key,vaue);就会帮你传递你需要传递的信息,key可以说是你写信的标题,作为一个标识,value就是你信上的内容了,OK,这样算是把信写好了,但是还没完,如果你没有要求Intent送信,他也是不会送的,所以Activity有一个方法,startActivity(Intent),这样我们情书就发送到了下一个Activity,两个Activity从此解得相思苦。
主要代码:
- //绑定时间监听
- btn1.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- Intent _inIntent = new Intent(); //创建一个Intent对象
- _inIntent.putExtra("xiaozhu", "你好啊,我的朋友!"); //像Intent加入信息-键值对
- _inIntent.setClass(FirstActivity.this, SecondActivity.class); //设置目标Activity
- FirstActivity.this.startActivity(_intent); //启动跳转到下一个Activity
- }
- });
- btn3.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- Intent _intent = new Intent(); //创建一个Intent对象
- _intent.setAction(Intent.ACTION_DIAL); //设置Intent动作,就是需要Instent做出什么样的反应
- _intent.setData(Uri.parse("tel:13787669477")); //设置电话号码,参数
- FirstActivity.this.startActivity(_intent); //启动跳转,跳转到打电话界面
- }
- });
- protected void onSaveInstanceState(Bundle outState) {
- // TODO Auto-generated method stub
- //super.onSaveInstanceState(outState);
- String etString = et1.getText().toString(); //取得输入框中数据,et1为EditText
- outState.putString("byxiaozhu", etString); //将当前Activity的状态保存在outStat,参数是键值对
- }
- @Override
- protected void onRestoreInstanceState(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- //super.onRestoreInstanceState(savedInstanceState);
- String state = savedInstanceState.getString("byxiaozhu"); //取出Activity数据
- et1.setText(state); //将取出数据显示在输入框中
- }