Android四大組件詳解之Activity生命週期(初級)

Activity的生命週期:

Activity:是什麼? 通俗說就是一個人與軟件的交互頁面

  1. oncreat:創建Activity
  2. onstart:運行Activity
  3. onresume:獲取焦點,也就是可以點擊頁面上的控件
  4. onpause:失去焦點,Activity上面的控件不可點擊
  5. onstop:停止運行Activity
  6. onrestart:重新運行Activity
  7. ondestroy:銷燬Activity

項目名稱:Activity生命週期測試

打開Activity時
依次爲oncreat(第一個頁面創建)-onstart(第一個頁面運行)-onresume(第一個頁面獲取焦點)
在這裏插入圖片描述
點擊第一個按鈕時
依次爲onpause(第一個頁面失去焦點)-onstop(第一個頁面暫停)
在這裏插入圖片描述
點擊返回時
依次爲restart(返回第一個頁面運行)-start(第一個頁面運行)-resume(第一個頁面獲取焦點)
在這裏插入圖片描述
.點擊第二個按鈕
依次爲-onpause(第一個頁面時區焦點,但沒有暫停,因爲沒有完全覆蓋第一個頁面)
在這裏插入圖片描述
點擊空白處返回
依次爲-onpause(第三個頁面失去焦點)
在這裏插入圖片描述
退出程序時
依次爲-ondestroy(銷燬Activity)
在這裏插入圖片描述
activity_main.java

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        System.out.println("調用了oncreat");
    }
    public void click(View view){
        Intent intent = new Intent(this,Life_oneActivity.class);
        startActivity(intent);
    }
    public void click2(View view) {
        Intent intent = new Intent(this,DialogActivity.class);

        startActivity(intent);
    }

    @Override
    protected void onResume() {
        super.onResume();
        System.out.println("調用了onResume");
    }

    @Override
    protected void onStart() {
        super.onStart();
        System.out.println("調用了onStart");
    }

    @Override
    protected void onPause() {
        super.onPause();
        System.out.println("調用了onPause");
    }

    @Override
    protected void onStop() {
        super.onStop();
        System.out.println("調用了onStop");
    }

    @Override
    protected void onRestart() {
        System.out.println("調用了onRestart");
        super.onRestart();
    }
}

activity_life_one.java

package cn.experiment.lifeactivity;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class Life_oneActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_life_one);
    }
}

Dialog.java
在這裏插入圖片描述
MainActivity.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="cn.experiment.lifeactivity.MainActivity">

    <TextView
        android:id="@+id/tv_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="測試Activity生命週期:"
        android:layout_marginTop="20dp"
        android:layout_marginLeft="10dp"
        android:textSize="30dp"/>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/btn_one"
        android:onClick="click"
        android:layout_below="@+id/tv_title"
        android:text="跳轉到Activity_one"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="50dp" />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/btn_two"
        android:onClick="click2"
        android:layout_below="@+id/btn_one"
        android:text="跳轉到Activity_two"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="30dp" />
</RelativeLayout>

Life_oneActivity

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="cn.experiment.lifeactivity.Life_oneActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="這是第二個Activity交互界面"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:textSize="25dp"/>
</RelativeLayout>

清單文件配置

一定要有

在這裏插入圖片描述
【評論需要解決的問題或者文章中的不恰當的地方,接受改正】

發佈了34 篇原創文章 · 獲贊 41 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章