一、分析Activity的生命週期變化
- 使用右滑手勢(返回鍵)退出應用時,先後進入
onPause(),onStop(),onDestroy()
三個狀態,應用被摧毀。然後進入應用時先後進入onCreate(),onStart(),onResume()
三個狀態。應用重新進入運行狀態。 - 在記錄的時候屏幕熄滅,先後進入
onPause(),onStop(),
Activity進入後臺停止運行重新點亮屏後,先後進入onRestart(),onStart(),onResume()
狀態,Activity重新開始運行。 - home鍵退出應用時,應用先後進入
onPause(),onStop()
狀態,應用進入後臺停止運行重新進入應用,先後進入onRestart(),onStart(),onResume()
狀態,應用重新開始運行,與第二條記錄的狀態一致。 - home鍵退出後,應用先後進入
onPause(),onStop()
狀態,應用進入後臺停止運行,進入設置切換字體後進入應用,分別進入onDestroy(),onCreate(),onStart(),onResume()
狀態,應用繼續運行。 - 手機進行旋轉屏幕時,會先進入
onPause(),onStop(),onDestroy()
,然後進onCreate(),onStart(), onResume()
重新開始運行。
總結:通過這次簡單的測試,我更加深刻的瞭解了Activity的生命週期變化,前三種情況都在自己的預料之中,第四種進入destroy狀態查了一下資料知道了原因。第四種:修改字體後,應用切換到前臺時,系統會發送一個通知給應用,應用會通過異常的方式走onDestroy()…這幾個狀態來更新配置。第五種:這個動作的目的是擔心Activity的佈局和資源不適合橫豎屏切換,重新開啓應用使得程序能夠自己做一個適配。
二、AndroidManifest配置theme改變UI效果
- 通過修改<application標籤中的android:theme屬性爲所有的Activity設置屬性。
- 通過修改<activity標籤中的android:theme屬性爲當前的Activity設置屬性。
測試過程中出現異常:java.lang.IllegalStateException: You need to use a Theme.AppCompat theme
- 原因:
Activity
繼承自AppCompactActivity
,所以只能使用Theme.AppCompat
下的主題
解決方法:- 將
MainActivity
改爲繼承Activity
,但是這樣容易出現一些兼容性的問題。 - 使用
Theme.AppCompat
下的主題,或者自定義主題,然後繼承Theme.AppCompat
下的主題。
- 將
三、界面包括Button,EditText,TextView
四、輸入文字,顯示在TextView上
學會了給EditText添加簡單的監聽器,從而進行各種操作
五、點擊Button彈出對話框
通過AlertDialog進行簡單彈框的繪製,彈框類型有很多。
六、Button跳轉到其他Activity
//直接指定要跳轉的Activity,顯式跳轉
Intent intent = new Intent(MainActivity.this, NextActivity.class);
//給intent指定Action,然後讓系統自己去選擇相應的Activity
Intent intent = new Intent("Action");
//傳入數據,鍵值對形式
intent.putxxx(a,b);
//執行跳轉
startActivity(intent);