Android基本程序单元Activity总结
1、什么是Activity?
在Android當中,Activity提供可視化的用戶界面,一個Android應用通常由多個Activity組成。多個Activity組成了Activity棧(Stack),當前活動的Activity處于棧頂。Activity有自己的生命周期,由Android系統來控制。在Activity中包含一個window對象,在window當中通常包含一個布局容器對象(如LinearLayout布局對象),在布局對象中包含了我們之前講解的各種UI組件。和HTML DOM一樣,Android的Activity也是一個具有嚴格層次結構的,類似于樹形的對象結構。
2、回調
C、C++、Java Script中的回調是通過指針來實現的;但是Java中不允許直接操作指針,回調是通過接口來實現的。接口(系統框架)是系統提供的,接口的實現使用戶實現的。系統通過在不同的狀態“回調”我們的實現類來達到接口和實現的分類。(Activity接口)
3、如何創建自己的Activity?(三步走)
MyActivity.java → activity_my .xml → 在AndroidManifest.xml中的相應注冊 或者 new→Android Activity
第一步:在相應的布局文件中定義顯示布局;
第二步:定義Activity類是,繼承Activity,并求重寫onCreate()方法
- 找到對應的xml布局文件:setContentView(R.layout.main)
- 通過findViewById找到相應控件對象:btn = (Button)this.findViewById(R.id.button01);
第三部:在AndroidManifest.xml中注冊。
補充:
1 )、每一個Activity 都必須繼承自 Activity類;
2 )、必須實現Activity類的 onCreate()方法(應用程序在初始化 Activity時,調用的其中的一個回調方法,在該方法中定義如何展示自己創建的 Activity,即Activity 里面有什么內容);
3 )、每一個Activity 的信息都必須配置到項目中一個核心的配置文件 (AndroidManifest.xml)中的Application 結點下;當我們把自己創建的 Activity注冊到AndroidManifest.xml 配置文件中時,系統就可以通過該配置文件找到相應的 Activity;配置項如下:
實例:(點擊button按鈕,從SecondActivity跳轉到FirstActivity)
6、Activity之間傳遞數據
(后面的文章會給出一個關于Activity之間傳遞數據的具體應用實例:在注冊一個系統會員的時候經常需要多個步驟,我們經常使用“上一步”,“下一步”來完成,那么當用戶在返回“上一步”時應如何保存信息呢?)
1 )、傳遞簡單數據可以只用Intent;
2)、傳遞數據包時就要用到Bundle和Intent了; 使用對象Bundle,將要傳遞的信息封裝到對象Bundle中,并通過Intent對象傳遞到另一個Intent中。
3 )、傳遞自定義值對象:如傳遞一個自定義的User,要用到序列化的類Serializable或Parcelable。
實例:(在MainActivity中要求輸入用戶名稱,通過用戶名稱查詢用戶聯系方式信息,并在ResultActivity中顯示。)
MainActivity.java
ResultActivity.java
7、Activity的生命周期
1).啟動Activity:系統會先調用onCreate方法,然后調用onStart方法,最后調用onResume,Activity進入運行狀態。
2).當前Activity被其他Activity覆蓋其上或被鎖屏:系統會調用onPause方法,暫停當前Activity的執行。(onPause方法用來持久保存數據)
3).當前Activity由被覆蓋狀態回到前臺或解鎖屏:系統會調用onResume方法,再次進入運行狀態。
4).當前Activity轉到新的Activity界面或按Home鍵回到主屏,自身退居后臺:系統會先調用onPause方法,然后調用onStop方法,進入停滯狀態。
5).用戶后退回到此Activity:系統會先調用onRestart方法,然后調用onStart方法,最后調用onResume方法,再次進入運行狀態。
6).當前Activity處于被覆蓋狀態或者后臺不可見狀態,即第2步和第4步,系統內存不足,殺死當前Activity,而后用戶退回當前Activity:再次調用onCreate方法、onStart方法、onResume方法,進入運行狀態。
7).用戶退出當前Activity:系統先調用onPause方法,然后調用onStop方法,最后調用onDestory方法,結束當前Activity。
我們可以自己定義當處于什么狀態的時候做什么事件。
在Activity跳轉過程中發生的生命周期變化(點擊A中的按鈕跳到B):
1、B為一個Activity時
A onCreate→A onStart→A onResume→(點擊按鈕進入B界面)→A onPause→B onCreate→B onStart→B onResume→A onStop;
2、B為一個對話框(dialog)時
A onCreate→A onStart→A onResume→(點擊按鈕進入B對話框)→A onPause→B onCreate→B onStart→B onResume→(點擊空白處回到A界面)→B onPause→A onResume→B onStop→B onDestory;
總結
以上是生活随笔為你收集整理的Android基本程序单元Activity总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android项目开发实战—倒计时[Ha
- 下一篇: Android注册会员系统返回上一步时如