/*
* 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" />
运行结果