999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

深入剖析Android Activity

2011-11-09 00:44:38段琳
中國新技術新產品 2011年16期
關鍵詞:用戶活動方法

段琳

(安徽理工大學計算機科學與工程學院,安徽 淮南 232001)

引言

活動是最基本的android應用程序組件,應用程序中,一個活動通常是一個單獨的屏幕,Activity代表一個用戶所能看到的屏幕,Activity主要處理一個應用的整體性工作,對其概念及生命周期進行剖析可加深對其了解,加強對其靈活應用。

1 Android應用程序的組成

Android系統是Google公司開發的基于Linux平臺的開源手機操作系統,該平臺由操作系統、中間件、用戶界面和應用軟件組成,是首個為移動終端打造的開放和完整的移動軟件。一個通過Android框架所創建的Android應用程序,有四種基本類型。

(1)Activities。Activities類似于桌面系統下的獨立應用程序,例如:office辦公軟件。Activities是由許多需要及時運行的可執行代碼組成,用戶或者操作系統都可以通過實例化,運行Activities。Activities可以與用戶機型交互,并且可以通過使用query或Intent對象向其他的Activities或服務請求數據或服務。

許多Android可執行代碼將在Activity的環境下執行。Activities通常相當于一個顯示器:每個Activity都有一個界面提供給用戶。當一個Activity當前不再運行時,操作系統將其殺死以保護內存。

(2)Services。Services類似于桌面操作系統和服務器操作系統的服務或守護程序。Services是由一些可執行代碼組成,通過實例化運行在后臺,并且直到手持設備關閉后才結束。Services一般沒有用戶界面。

(3)Broadcast and Intent Receivers。這些接收器是對其他應用程序的服務請求作出響應。一個廣播信息接收器是在系統做大規模廣播事件時作出響應。這個廣播信息可以來自Android系統自身或者來自運行在該系統上的一些程序。一個Activity或者Service給其他應用提供了執行一個Intent接收器來訪問自己功能的途徑,該Intent接收器是由一段可以向其他Activities請求數據或服務的可執行代碼組成。請求Activity創建一個Intent,并由Android框架通過分析作出決定是哪個應用程序接收并應用它。Intents在Android中是一個關鍵結構元素,可以使從已存在的應用中創建新的應用,在你的應用程序中,你可以通過使用Intent對象與那些可以提供你所需要的信息的其他應用程序和服務相互配合。

(4)Content providers。Content提供器是用來創建與其他Activity和Service共享數據的對象。一個Content Provider使用一個用URI組成的標準接口來實現向其他應用程序請求數據,即使那些應用程序可能不知道使用的是哪個Content Provider。例如:當一個應用程序執行一個Query對象來查找數據,它所執行的URI結構如下:

content://contacts/people

操作系統依靠觀察哪個應用程序將自己作為一個Content Provider來提供URI,并且發送請求給對應的應用程序。如果不止一個Content Provider注冊提供URI,操作系統將詢問用戶將使用哪個。一個應用程序沒有要求必須使用所有的Android組件,但是一個優秀的應用程序將使用其提供的構建機制,這樣就不會出現代碼重復或者引用其他應用程序很困難的情況。URI和Intent一起為用戶提供了靈活的Android環境。你可以很簡單的添加、刪除和取代一個應用程序,并且在Intent和URI的松耦合配合下,可以保證所有的事情一起進行。

2.Activity相關概念

一個Activity相當于手機的一屏,它能夠獲得焦點,用戶一般都在它上面操作。幾乎所有的activity都跟用戶打交道,所以Activity類主要負責創建一個窗口,可以通過調用setContentView(View)方法在Activity上放置UI組件。Activity除了通常作為一個全屏的窗口呈現給用戶之外,它們還有其他的使用方法:

(1)作為一個浮動窗口,這可以通過設置theme屬性windowIsFloatting來實現;

(2)嵌入其他的Activity,這使用Activity-Group來實現。

Activity的子類通常要實現如下兩個方法,也就是說,當你要自己創建一個activity的時候,一般需要實現的:

(1)onCreate(Bundle)。我們可以在該方法里初始化Activity。通常,我們在這個方法里調用setContentView(int)來設置Activity的內容,這個方法的int類型的形參是一個布局資源的ID,我們在這個布局中就設計好了Activity的內容了。此外,使用findViewById(int)方法檢索到我們要進行交互的widgets組件。

(2)onPause()。當用戶離開當前activity的時候,我們就在這個方法里面處理,一般來說,就是處理用戶所作的改變,譬如用戶填寫了一些數據,我們就在這個方法里提交這些數據進行保存,通常是保存到Content Providers。

3.Android活動Activity的生命周期

Android是圍繞移動應用的唯一需求進行設計的。在特定情況下,Android可以識別移動設備上受限制的資源(如內存和電量),以及提供相應的機制保護這些資源。這些機制在Android的Activity生命周期體現得很明顯,定義了Activity從創建到銷毀的過程狀態和事件。

Android活動Activity是一個非常著名的生命周期,每個Android應用程序的活動都有幾個狀態,如圖1所示,但開發者是不需要關心應用程序是什么狀態,這全部由Android操作系統負責管理。開發者可以通過調用相關的方法獲知到應用程序活動狀態即將改變。

圖1 Activity生命周期

開發者只需要在Activity類中重載圖1中的相應方法,以便在狀態發生變化時做一些需要的控制:

onCreate(Bundle):活動activity在第一次被創建時調用該方法,開發者可以在該方法中做一些初始化工作,比如創建用戶界面,創建你的視圖和打開Activity需要用到的所有數據文件。onCreate允許一個null參數,或者是一個由on-SaveInstanceState()方法保存下的狀態作為參數。onStart():表示該活動將要顯示給用戶。

onResume():當活動可以與用戶交互時調用該方法。在此開發播放動畫和音樂是一個很不錯的時機。

onPause():當活動將要被放置到后臺(background)運行時調用該方法,通常另一個活動被激活或啟動到前段(foreground)時,在此時可以保存應用程序的狀態。

onStop():當活動Activity在一段時間里用戶不可見和需要時,將調用該方法。如果設備內存緊張時,可能不會調用這個方法,此時操作系統只簡單的終端進行。

onRestart():當該方法調用時,標志該活動將重新從停止狀態顯示到前端。

onDestroy():當活動被銷毀時調用該方法。當內存緊張時,系統不一定會調用onDestroy()這個方法。

onSaveInstanceState(Bundle):Android 調用這個方法保存活動的先前狀態,比如光標在文本編輯框中的位置,一般來說,我們是不需要重載這個方法的,因為系統缺省是自動保存用戶界面所有的狀態的。

那些沒有運行在前端的活動可能會被停止,或者被Linux進程管理殺死進行,以為新的活動騰出更多的資源,這個經常發生的情況,因此開發者在設計程序之初就要重新考慮這個問題。在大多數情況下,onPause()是活動中最后調用的方法,因此可以在這個方法里保存數據。

4.結束語

本文重點描述了Android中的Activity生命周期,在Activity的生命周期中,只要離開了可見狀態,或者說失去了焦點,activity就很可能被進行終止。隨著Google公司大力推廣Android平臺和Android智能手機,相信人們會越來越重視Android的相關知識,針對Activity生命周期的研究也會越來越深入。

[1]Mark L.Murphy.Beginning Android 2[M].A-press,2010.

[2]蓋索林.Google Android 開發入門指南[M].北京:人民郵電出版社,2009.

[3]郭宏志.Android 應用開發詳解[M].北京:電子工業出版社,2010.

[4]韓超.Android 系統原理及開發要點詳解[M].北京:電子工業出版社,2010.

[5][美]Sayed Y.Hashimi,[印]Satyo Komatineni,[美]Dave MacLean.精通 Android 2[M].楊越,譯.北京:人民郵電出版社,2010.

猜你喜歡
用戶活動方法
“六小”活動
少先隊活動(2022年5期)2022-06-06 03:45:04
“活動隨手拍”
行動不便者,也要多活動
中老年保健(2021年2期)2021-08-22 07:31:10
三八節,省婦聯推出十大系列活動
海峽姐妹(2018年3期)2018-05-09 08:20:40
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
主站蜘蛛池模板: 国产精品久久国产精麻豆99网站| 国产在线观看第二页| 久久精品视频一| 亚洲av日韩av制服丝袜| 日韩无码视频专区| 91丝袜在线观看| 亚洲AV一二三区无码AV蜜桃| 国产97公开成人免费视频| 国产99精品视频| 亚洲色图欧美激情| 婷婷六月综合| 真人高潮娇喘嗯啊在线观看 | 国产一级毛片高清完整视频版| 亚洲天堂网在线观看视频| 亚洲成人在线免费| 久久频这里精品99香蕉久网址| 在线观看国产黄色| 亚洲天堂日韩av电影| 91久久性奴调教国产免费| 国产视频你懂得| 中文字幕天无码久久精品视频免费| 国产精品久久自在自线观看| 国产精品不卡片视频免费观看| 欧美A级V片在线观看| 欧美另类视频一区二区三区| 欧美日韩精品综合在线一区| 日韩精品久久久久久久电影蜜臀| 国产成人福利在线| 免费一级毛片不卡在线播放| 国产成人综合亚洲网址| 日韩亚洲高清一区二区| 国产人人乐人人爱| 试看120秒男女啪啪免费| 国内精品小视频福利网址| 国产三级视频网站| 在线欧美日韩| 日韩欧美91| 天天色综网| 国产香蕉在线视频| 国产欧美精品一区aⅴ影院| 无码高清专区| 亚洲中文字幕23页在线| 青青草原国产精品啪啪视频| 久久青草精品一区二区三区| 国产欧美网站| 国产永久无码观看在线| 最新亚洲人成网站在线观看| 免费毛片a| 热思思久久免费视频| 人妻丰满熟妇αv无码| 久青草网站| 色视频久久| 啊嗯不日本网站| 日本高清免费一本在线观看| 欧美精品影院| 亚洲人免费视频| 国产sm重味一区二区三区| 狂欢视频在线观看不卡| 综合久久久久久久综合网| 中文字幕第4页| 免费AV在线播放观看18禁强制| 国产麻豆91网在线看| 91免费在线看| 国产精品美人久久久久久AV| 久久免费精品琪琪| 国内精品视频| 美女免费黄网站| 自偷自拍三级全三级视频| 国产美女在线观看| 超碰91免费人妻| 精品少妇人妻av无码久久| 福利在线免费视频| 四虎成人在线视频| 欧美无遮挡国产欧美另类| 久操线在视频在线观看| 99国产在线视频| 四虎精品黑人视频| 国产成人久久综合777777麻豆| 久久女人网| 在线中文字幕网| 欧美日韩成人| 日本精品一在线观看视频|