()Android中的Activity建立與週期

老張啊發表於2021-01-04

引入

為了建立一個新的Activity我們可以直接通過目標包下,我們可以直接右鍵建立,這樣系統會自動幫助我們生成layout檔案,也會自動幫我們,將其在manifest中宣告。
在這裡插入圖片描述
在這裡插入圖片描述

實踐

接下來,我們自己動手自己建立Java類,自己將其宣告並填寫onCreate方法,首先,我們先建立Java類繼承自AppCompatActivity 類,然後在layout中建立activity_test.xml檔案,在這裡插入圖片描述
然後在AndroidManifest中宣告剛剛建立的TestActivity
在這裡插入圖片描述
最後建立onCreate方法

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

這樣便實現了,一個Activity的建立。

AndroidManifest中的一些屬性

android:label="我的第一個安卓程式"

在這裡插入圖片描述
執行結果為
在這裡插入圖片描述

android:theme="@style/Theme.AppCompat.NoActionBar"

在這裡插入圖片描述
執行結果為
在這裡插入圖片描述
我們可以看出上面的執行結果都是橫屏的,如何修改的呢

android:screenOrientation="portrait" //這個是預設的豎屏
android:screenOrientation="landscape" // 這樣就變為恆屏

執行結果為
在這裡插入圖片描述
在這裡插入圖片描述

<intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

這個作為啟動的開始。

生命週期

當使用者瀏覽、退出和返回到您的應用時,您應用中的 Activity 例項會在其生命週期的不同狀態間轉換。Activity 類會提供許多回撥,這些回撥會讓 Activity 知曉某個狀態已經更改:系統正在建立、停止或恢復某個 Activity,或者正在銷燬該 Activity 所在的程式。
在這裡插入圖片描述
在TestActivity.java中,編寫如下程式碼,測試生命週期過程

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_test);
    }
    protected void onStart() {
        super.onStart();
        Log.d("Lifestyle","onStart");
    }

    @Override
    protected void onResume() {
        super.onResume();
        Log.d("Lifestyle","onResume");
    }

    @Override
    protected void onPause() {
        super.onPause();
        Log.d("Lifestyle","onPause");
    }

    @Override
    protected void onStop() {
        super.onStop();
        Log.d("Lifestyle","onStop");
    }
    @Override
    protected void onRestart() {
        super.onRestart();
        Log.d("Lifestyle","onRestart");
    }
    @Override
    protected void onDestroy() {
        super.onDestroy();
        Log.d("Lifestyle","onDestroy");
    }

通過log可以檢視如下的執行順序
在這裡插入圖片描述

相關文章