android activity

是最为常见用的四大组件(activity,service服务,Content Provider内容提供者,broadcastReceiver广播接收器)之一。

简单地说:activity就是布满整个窗口或者悬浮于其他窗口上的交互界面。

当程序是由多个activity构成,但只有一个主的activity,这个activity可以通过启动其他的activity进行相关操作。当启动其他的activity时这个当前的activity将会停止,新的activity将会压入栈中,同时获取用户焦点,这时就可在这个activity上操作了,都知道栈是先进后出的原则,那么当用户按Back键时,当前的这个activity销毁,前一个Activity重新恢复。

activity的生命周期:

如何启动一个新的activity?

1.普通的启动方式:

      Intent intent = new Intent(this,当前类名);

      startActivity(intent);

2.从当前的Activity中传递数据到新的Activity?

      Intent intent = new Intent(this,当前类名);

      Bundle bundle = new Bundle();

      bundle.putBoolean("bool_key",true);

      intent.putExtras(bundle);

      startActivity(intent);

3.启动一个带返回值的Activity,简单地说就是需要新的activity返回时将值传递给启动它的Activity。

      Intent intent = new Intent(ActivityLifeDemo.this,RevalueActivity.class);  (启动RevalueActivity)

      startActivityForResult(intent, 0x1001);  (注意跟之前的不一样哈)

在RevalueActivity中设置返回值

      Intent intent = new Intent();

      intent.putExtra("revalue_key","haha-revalueActivity");

      setResult(0x1001,intent);

在ActivityLifeDemo中得到返回值

      必须重写onActivityResult方法,通过判断requestCode来确定

       if(requestCode==0x1001){

            String str = data.getStringExtra("revalue_key");

       }

完全退出程序

    Intent Intent = new Intent();

    intent.setClass(context,MainActivity.class); (主程序)

    intent.setFlags(Intent.FLAG_ACTIVITY_ClEAR_TOP);

    intent.putExtra("flag",EXIT_APPLICATION);

    context.startActivity(intent);

 

       

    

猜你喜欢

转载自hansha2.iteye.com/blog/2155937