Android連載28-複習以往內容(六)

1、 體驗生命週期

  • xml中TextView用於顯示一行文字
  • 加載佈局的函數setContentView()
  • 代碼requestWindowFeature(Window.FEATURE_NO_TITLE)用於將活動的標題隱藏。
  • 創建layout.xml,而後註冊到一個新建的活動類中,最後還得把活動類在AndroidManifest.xml註冊一下
<activity android:name=".NormalActivity">
</activity>
<activity android:name=".DialogActivity" android:theme="@android:style/Theme.Dialog" >
</activity>
  • 知識點:咱們的name使用一個.開頭既能夠避免寫包名.java

  • 知識點:DialogActivity活動有一個theme屬性,裏面的值是系統內置屬性,固然咱們也能夠自定義。android

  • 主layout文件定義兩個按鈕,分別用來觸發這個兩個活動。微信

  • 主活動中也註冊這兩個按鈕的點擊事件。ide

  • findViewById()函數用於綁定按鈕觸發後將會跳轉到哪一個layout函數

  • 設置兩個監聽器用於觸發點擊後的活動邏輯,有一個知識點就是使用了顯示intent用於傳遞參數。佈局

  • 最後主活動中定義onStart()\onResume()\onPause()\onStop()\onDestroy()\onRestart()方法。ui

  • 這個APP依次的活動是onCreat(),onStart(),onResume()
    28.1.net

  • 點擊第一個事件,log依次爲,onPause(),onStop()
    28.2code

  • 按下back鍵以後,Log依次爲onRestart(),onstart(),onResume,不會執行onCreat(),orm

  • 再點擊第二個按鈕,log依次爲onPause(),點擊一下back鍵,log爲onResume()
    28.3

  • 最後退出,log出現了onPause(),onStop(),onDestroy()

2、不想活動被回收

  • 提供一個onSaveInstanceState()方法,
@Override
protected void onSavedInstanceState(Bundle outState){
  super.onSaveInstanceState(outState);
  String tempData - "Something you just typed";
  outState.putString("data_key",tempData);
}
  • 該函數攜帶一個Bundle類型參數,提供了一些列方法來保存數據,putString,putInt等

2、源碼:

相關文章
相關標籤/搜索