实例代码:
package com.hsj.example.activitylifecyclerdemo01;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
/**
* 自定义Activity的步骤:
* A:编写一个类继承Activity 或者它的子类并根据需要重写Activity 的生命周期函数,一般都重写onCreate()方法
* public class DetailActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.activity_detail);
}
}
* B:在功能清单文件中进行注册
* <activity android:name=".DetailActivity" android:label="我是详情Activity"></activity>
*
*/
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
System.out.println("====MainActivity.onCreate(Bundle savedInstanceState="+savedInstanceState+")====");
}
@Override
protected void onStart() {
super.onStart();
System.out.println("===MainActivity.onStart()===");
}
@Override
protected void onResume() {
super.onResume();
System.out.println("===MainActivity.onResume()===");
}
/**
* 以完全覆盖的形式打开详情Activity
*
*
* 当Activity正常启动(onCreate()===>onStart()===>onResume())后,如果此时已完全覆盖的形式启动详情
* Activity,则生命周期函数的执行顺序为:MainActivity.onPause()===>DetailActivity.onCreate()==>
* DetailActivity.onStart()===>DetailActivity.onResume()===>MainActivity.onStop()
*
*如果此时用户按手机上的Home 键则执行的生命周期函数为:DetailActivity.onPause()===>DetailActivity.onStop()
* 如果此时用户重新打开应用程序则执行的生命周期函数为:DetailActivity.onRestart()==>DetailActivity.onStart()===>DetailActivity.onResume()
* 如果此时用户按手机上的返回键则执行的生命周期函数为:DetailActivity.onPause()==>MainActivity.onRestart()==>
* MainActivity.onStart()===>MainActivity.onResume()===>DetailActivity.onStop()===>DetailActivity.onDestroy()
*
*
* @param view
*/
public void openDetail(View view){
//如果想在当前Activity 启动另外一个 Activity,可以使用意图(干什么)对象
//Intent intent=new Intent(源Activity, 目标Activity);
Intent intent=new Intent(this,DetailActivity.class);
startActivity(intent);
}
/**
* 以对话框的形式打开对话框Activity
*
* 当前Activity 启动后如果以对话框的形式启动DialogActivity 则函数的执行顺序为:MainActivity.onPause()===>DialogActivity.onCreate()===>DialogActivity.onStart()===>DialogActivity.onResume()
* 如果此时用户按手机上的Home 则执行的生命周期函数为:
* 如果用户重新打开应用程序则执行的生命周期函数为:
* 如果此时用户按手机上的返回键则执行的生命周期函数为:
* @param view
*/
public void openDialog(View view){
Intent intent=new Intent(this,DialogActivity.class);
startActivity(intent);
}
@Override
protected void onPause() {
super.onPause();
System.out.println("===MainActivity.onPause()===");
}
@Override
protected void onStop() {
super.onStop();
System.out.println("===MainActivity.onStop()===");
}
@Override
protected void onRestart() {
super.onRestart();
System.out.println("===MainActivity.onRestart()===");
}
@Override
protected void onDestroy() {
super.onDestroy();
System.out.println("===MainActivity.onDestroy()===");
}
}