Activity的生命周期

/*
* onCreate:第一次被創建時執行
* onStart:當Activity被我們看見時執行
* onRestart:當Activity被Stopped后,在此期間又被啟動時執行
* onResume:能獲得用戶焦點時執行
* onPause:Activity處於暫停狀態時執行
* onStop:當Activity處於不可見狀態時執行,如果另外一個Activity是以對話框的形式顯示出來,并沒有把當前的
*        Activity完全遮擋住,這該事件不會執行
* onDestory:Activity被銷毀時執行(比如:調動finish方法,系統資源不足...)
*
* ***:下面的程式輸出的語句可以通過LogCat查看,單擊"+"按鈕可以查看內容進行過濾
*/
1.FirstActivity.java的内容如下:

public class FirstActivity extends Activity {
    /** Called when the activity is first created. */
 private Button myButton;
    @Override
    public void onCreate(Bundle savedInstanceState) {
     System.out.println("FirstActivity --->onCreate");
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        myButton=(Button)this.findViewById(R.id.myButton);
        myButton.setText("启动第二个Activity");
       myButton.setOnClickListener(new ButtonOnClickListener());
    }
 @Override
 protected void onStart() {
  // TODO Auto-generated method stub
     System.out.println("FirstActivity --->onStart");
  super.onStart();
 }
 
 @Override
 protected void onRestart() {
  // TODO Auto-generated method stub
  System.out.println("FirstActivity --->onRestart");
  super.onRestart();
 }
 @Override
 protected void onResume() {
  // TODO Auto-generated method stub
     System.out.println("FirstActivity --->onResume");
  super.onResume();
 }

 @Override
 protected void onPause() {
  // TODO Auto-generated method stub
     System.out.println("FirstActivity --->onPause");
  super.onPause();
 }
 @Override
 protected void onStop() {
  // TODO Auto-generated method stub
     System.out.println("FirstActivity --->onStop");
  super.onStop();
 }

    @Override
 protected void onDestroy() {
  // TODO Auto-generated method stub
     System.out.println("FirstActivity --->onDestroy");
  super.onDestroy();
 }


 class ButtonOnClickListener implements OnClickListener
 {
  public void onClick(View v) {
   // TODO Auto-generated method stub
   //通過Intent對象跳轉到SecondActivity
   Intent intent=new Intent();
   intent.setClass(FirstActivity.this,SecondActivity.class);
   FirstActivity.this.startActivity(intent);
  }
 }
}

2.SecondActivity.java

public class SecondActivity extends Activity {
    /** Called when the activity is first created. */
 private TextView myTextView;
    @Override
    public void onCreate(Bundle savedInstanceState) {
     System.out.println("SecondActivity --->onCreate");
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second);
        myTextView=(TextView)this.findViewById(R.id.myTextView);
        myTextView.setText("SecondActivity");
    }
 @Override
 protected void onStart() {
  // TODO Auto-generated method stub
     System.out.println("SecondActivity --->onStart");
  super.onStart();
 }
 
 @Override
 protected void onRestart() {
  // TODO Auto-generated method stub
  System.out.println("SecondActivity --->onRestart");
  super.onRestart();
 }
 @Override
 protected void onResume() {
  // TODO Auto-generated method stub
     System.out.println("SecondActivity --->onResume");
  super.onResume();
 }
 @Override
 protected void onPause() {
  // TODO Auto-generated method stub
     System.out.println("SecondActivity --->onPause");
  super.onPause();
 }
 @Override
 protected void onStop() {
  // TODO Auto-generated method stub
     System.out.println("SecondActivity --->onStop");
  super.onStop();
 }
    @Override
 protected void onDestroy() {
  // TODO Auto-generated method stub
     System.out.println("SecondActivity --->onDestroy");
  super.onDestroy();
 }
}


 1.Task的基本概念

 2.Activity和Task之间的关系

   a.应用程序启动之后,运行第一个Activity之后,改Activity对象被压入到Stack当中

   b.点击按钮后启动第二个Activity,改Activity对象被压入到Stack当中

   c点击第三个Activity的按钮之后,启动第四个Activity(发送短消息,代码如下:)

 public void onClick(View v) {
			 Uri uri=Uri.parse("smsto://0800000123");
			 Intent intent=new Intent(Intent.ACTION_SENDTO, uri);
			 intent.putExtra("sms_body", "The SMS text");
			 startActivity(intent);
		}

   d.点击Back按钮,这时SMS Activity对象在栈当中被弹出(如果调用了finsh()方法,再按Back按钮,则不会回到第三个Activity)

 3.对话框风格Activity的使用方法

   在需要在AndroidManifest.xml中进行如下配置:

  <activity
            android:name=".SecondActivity"
            android:label="secondActivity" android:theme="@android:style/Theme.Dialog" />

  运行结果

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值