天天看點

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(第一個頁面擷取焦點)

Android四大元件詳解之Activity生命周期(初級)

點選第一個按鈕時

依次為onpause(第一個頁面失去焦點)-onstop(第一個頁面暫停)

Android四大元件詳解之Activity生命周期(初級)

點選傳回時

依次為restart(傳回第一個頁面運作)-start(第一個頁面運作)-resume(第一個頁面擷取焦點)

Android四大元件詳解之Activity生命周期(初級)

.點選第二個按鈕

依次為-onpause(第一個頁面時區焦點,但沒有暫停,因為沒有完全覆寫第一個頁面)

Android四大元件詳解之Activity生命周期(初級)

點選空白處傳回

依次為-onpause(第三個頁面失去焦點)

Android四大元件詳解之Activity生命周期(初級)

退出程式時

依次為-ondestroy(銷毀Activity)

Android四大元件詳解之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

Android四大元件詳解之Activity生命周期(初級)

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>
           

清單檔案配置

一定要有

Android四大元件詳解之Activity生命周期(初級)

【評論需要解決的問題或者文章中的不恰當的地方,接受改正】

繼續閱讀