智能手機應(yīng)用開發(fā)基礎(chǔ)ppt課件_第1頁
智能手機應(yīng)用開發(fā)基礎(chǔ)ppt課件_第2頁
智能手機應(yīng)用開發(fā)基礎(chǔ)ppt課件_第3頁
智能手機應(yīng)用開發(fā)基礎(chǔ)ppt課件_第4頁
智能手機應(yīng)用開發(fā)基礎(chǔ)ppt課件_第5頁
已閱讀5頁,還剩69頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、DSLab, Lanzhou University智能手機應(yīng)用開發(fā)基礎(chǔ)智能手機應(yīng)用開發(fā)基礎(chǔ)2011.11.主要內(nèi)容主要內(nèi)容 智能手機是什么智能手機是什么 智能手機有哪些智能手機有哪些 智能手機的操作系統(tǒng)智能手機的操作系統(tǒng) OHA Android Android 應(yīng)用編程實例應(yīng)用編程實例.智能手機(智能手機(Smartphone)n智能手機的特點智能手機的特點u具備普通手機的全部功能,如正常的通話、收發(fā)短信等具備普通手機的全部功能,如正常的通話、收發(fā)短信等u具備無線接入互聯(lián)網(wǎng)的能力,即支持具備無線接入互聯(lián)網(wǎng)的能力,即支持GPRS/CDMA1X/3G網(wǎng)絡(luò)網(wǎng)絡(luò) u具備具備PDA的功能,包括個人信息管

2、理、日程記事、多媒體應(yīng)用等的功能,包括個人信息管理、日程記事、多媒體應(yīng)用等u具備一個具有開放性的操作系統(tǒng),擴展性能強,可安裝更多的第三具備一個具有開放性的操作系統(tǒng),擴展性能強,可安裝更多的第三方應(yīng)用程序方應(yīng)用程序u具有人性化的一面,可根據(jù)個人需要定制機器功能具有人性化的一面,可根據(jù)個人需要定制機器功能.智能、非智能智能、非智能n具備中央處理器(具備中央處理器(CPU)的,未必就是智能手機)的,未必就是智能手機n聯(lián)發(fā)科聯(lián)發(fā)科 MTK6225:u內(nèi)核:內(nèi)核:ARM ARM7EJ-Su主頻:主頻:104MHznTI OMAP4430:u內(nèi)核:內(nèi)核:ARM Cortex-A9 MPCore + Pow

3、erVR SGX540 u主頻:主頻:1GHz.n安裝有操作系統(tǒng)(安裝有操作系統(tǒng)(OS)的,未必就是智能手機)的,未必就是智能手機nS40、Nucleus:u簡單易用簡單易用u幾乎沒有什么擴展能力幾乎沒有什么擴展能力nAndroid、iOS、Symbian、Windows Mobile:u可擴展、定制可擴展、定制u高功耗高功耗.n支持支持 3G 的手機,未必就是智能手機的手機,未必就是智能手機u3rd Generation,第三代數(shù)字通信,只是一種通信技術(shù)標(biāo)準(zhǔn),第三代數(shù)字通信,只是一種通信技術(shù)標(biāo)準(zhǔn)u符合符合 3G 標(biāo)準(zhǔn)就是標(biāo)準(zhǔn)就是 3G 手機,與智能與否無關(guān)手機,與智能與否無關(guān)n簡言之,智能手

4、機就是一臺可以隨意安裝和卸載應(yīng)簡言之,智能手機就是一臺可以隨意安裝和卸載應(yīng)用軟件的手機(專用計算機):用軟件的手機(專用計算機):u很容易就能夠從網(wǎng)絡(luò)上獲取第三方應(yīng)用軟件很容易就能夠從網(wǎng)絡(luò)上獲取第三方應(yīng)用軟件u檢索軟件的依據(jù)是手機操作系統(tǒng)而不是手機品牌型號檢索軟件的依據(jù)是手機操作系統(tǒng)而不是手機品牌型號u獲取軟件的網(wǎng)站是手機軟件市場而不是手機廠商網(wǎng)站獲取軟件的網(wǎng)站是手機軟件市場而不是手機廠商網(wǎng)站.品牌品牌地區(qū)地區(qū)主要支持操作系統(tǒng)主要支持操作系統(tǒng)主要機型主要機型Nokia芬蘭芬蘭Symbian,Meego, Windows PhoneN95,C7,N8,N9,E6Moto美國美國Android,L

5、inux+javaME811,V8,DroidApple美國美國iPhone OSiPhone 2G/3G /3GS/4/4sHTC中國中國臺灣臺灣Windows Mobile,Windows Phone,AndroidHTC G1,Wildfire,Desire,Sense RIM加拿大加拿大 BlackBerry9500,9800智能手機的主要品牌智能手機的主要品牌.智能手機的操作系統(tǒng)智能手機的操作系統(tǒng)nBlackBerryn郵件是特色,對輸入設(shè)備做過特別設(shè)計郵件是特色,對輸入設(shè)備做過特別設(shè)計niPhone OSnMac OS X 的衍生,類的衍生,類 Unix 系統(tǒng),系統(tǒng),Objecti

6、ve-CnWindows CEn微軟:微軟:“ Windows Mobile 將熟悉的將熟悉的 Windows 體驗擴展到體驗擴展到了移動環(huán)境中,所以您可以立即使用它投入工作。了移動環(huán)境中,所以您可以立即使用它投入工作?!眓Symbiann諾基亞為主,諾基亞為主,2010年年2月開放,以月開放,以 S60 為主流為主流nPalm OSn掌上電腦專用,節(jié)能、資源占用少、內(nèi)置數(shù)據(jù)庫掌上電腦專用,節(jié)能、資源占用少、內(nèi)置數(shù)據(jù)庫nMeeGon由英特爾和諾基亞整合由英特爾和諾基亞整合 Moblin 和和 Maemo 而來而來nAndroid、MontaVistan基于嵌入式基于嵌入式 Linux.Blac

7、kBerrynRIM 1984年成立,加拿大為數(shù)不年成立,加拿大為數(shù)不多的全球知名品牌之一多的全球知名品牌之一n特點:手機和電子郵件的融合,商特點:手機和電子郵件的融合,商務(wù)性能優(yōu)越務(wù)性能優(yōu)越n寬大的屏幕和便于輸入的寬大的屏幕和便于輸入的 QWERTY 鍵盤,為拇指輸入而優(yōu)化鍵盤,為拇指輸入而優(yōu)化n推送郵件服務(wù)(推送郵件服務(wù)(push email):):新郵件自動由新郵件自動由 RIM 服務(wù)器傳送到服務(wù)器傳送到手機服務(wù)運營商,然后直接推送到手機服務(wù)運營商,然后直接推送到黑莓終端上黑莓終端上nRIM 服務(wù)器的數(shù)量、分布、可靠性服務(wù)器的數(shù)量、分布、可靠性直接影響用戶的郵件應(yīng)用直接影響用戶的郵件應(yīng)用

8、n封閉源碼封閉源碼.iPhone OSn源自源自 Mac OS X,類類 Unix 系統(tǒng)系統(tǒng)niPhone、iPod Touch、iPad n特點:特點:u多點觸摸(多點觸摸(Multi-Touch)界面)界面 u對對 Java、Flash 的支持有限的支持有限u系統(tǒng)架構(gòu)分為四個層次系統(tǒng)架構(gòu)分為四個層次n內(nèi)核操作系統(tǒng)層(內(nèi)核操作系統(tǒng)層(the Core OS layer)n內(nèi)核服務(wù)層(內(nèi)核服務(wù)層(the Core Services layer)n媒體層(媒體層(the Media layer)n可輕觸層(可輕觸層(the Cocoa Touch layer)n封閉源碼封閉源碼 + 開放源碼組件

9、開放源碼組件.Windows CEnWindows CE:精簡的:精簡的 Windows95n類似的操作界面、類似的編程工具類似的操作界面、類似的編程工具n2009.2Windows Mobile 6.5n2010.10Windows Phone 7 n2011.2Nokia 加盟加盟n2011.9Windows Phone 7.5Pocket PCWindows MobileWindows Phone 7.nWinCE 的系統(tǒng)結(jié)構(gòu)、主要組成部件的系統(tǒng)結(jié)構(gòu)、主要組成部件.SymbiannSymbian 的的前身是前身是 Psion 公司的公司的 EPOC 系統(tǒng)系統(tǒng)n實時性、多任務(wù)的純實時性、多

10、任務(wù)的純32位操作系統(tǒng)位操作系統(tǒng)n搶占式的多任務(wù)調(diào)度和內(nèi)存保護搶占式的多任務(wù)調(diào)度和內(nèi)存保護n具有功耗低、內(nèi)存占用少等特點具有功耗低、內(nèi)存占用少等特點n三個系統(tǒng)設(shè)計原則三個系統(tǒng)設(shè)計原則n用戶數(shù)據(jù)的完整性和安全性至關(guān)重要用戶數(shù)據(jù)的完整性和安全性至關(guān)重要n不能浪費用戶的時間不能浪費用戶的時間n所有的資源都是稀少的所有的資源都是稀少的nSymbian OS 分類分類n按內(nèi)核版本分有按內(nèi)核版本分有v6.1,v7.0,v8.0,v8.1,v9.1,v9.2等等n按用戶平臺(按用戶平臺(UI)分有)分有S60,S80,S90,UIQ,MOAP等等.Symbiann1998年年6月,為了在智能移動終端領(lǐng)域?qū)?/p>

11、微軟、月,為了在智能移動終端領(lǐng)域?qū)刮④?、Palm,諾基亞、摩托羅拉、愛立信、三菱和寶意昂(諾基亞、摩托羅拉、愛立信、三菱和寶意昂(Psion)共同)共同成立成立 Symbian 公司公司n2003年,競爭加劇,年,競爭加劇,Symbian 陣營成員開始腳踏多只船,陣營成員開始腳踏多只船,摩托羅拉轉(zhuǎn)投摩托羅拉轉(zhuǎn)投 Windows Mobilen2004年年2月,諾基亞收購了月,諾基亞收購了 Psion 的的 Symbian 股權(quán),股權(quán),在在 Symbian 的股權(quán)達(dá)到的股權(quán)達(dá)到63.3%;10月月 Symbian 宣布與宣布與英特爾合作英特爾合作n風(fēng)光一時風(fēng)光一時.Symbian,Symbia

12、n.Symbiann由于對新興的社交網(wǎng)絡(luò)和由于對新興的社交網(wǎng)絡(luò)和 Web 2.0 支持欠佳,支持欠佳, Symbian 的市場占有率從的市場占有率從2006年三季度的年三季度的72.8%逐年下降至逐年下降至2010年年三季度的三季度的37.6%n自自2009年底開始,摩托羅拉、三星、年底開始,摩托羅拉、三星、LG、索愛等各大廠商、索愛等各大廠商紛紛轉(zhuǎn)投紛紛轉(zhuǎn)投 Android,而諾基亞則推出了面向高端市場的,而諾基亞則推出了面向高端市場的 Maemo 平臺平臺n2011年初,諾基亞宣布與微軟成立戰(zhàn)略聯(lián)盟,推出基于年初,諾基亞宣布與微軟成立戰(zhàn)略聯(lián)盟,推出基于Windows Phone 的智能手機

13、,并宣布的智能手機,并宣布 Symbian 系統(tǒng)不系統(tǒng)不再更新,僅對用戶界面再更新,僅對用戶界面 UI 進(jìn)行改進(jìn),進(jìn)行改進(jìn),Symbian 系統(tǒng)的生系統(tǒng)的生命周期終止命周期終止.Palm OSn一個開放式軟件架構(gòu),簡單高效一個開放式軟件架構(gòu),簡單高效n主要特點:主要特點:u良好的節(jié)能功能,極低功耗良好的節(jié)能功能,極低功耗u合理的內(nèi)存管理,內(nèi)存占用非常小合理的內(nèi)存管理,內(nèi)存占用非常小u以數(shù)據(jù)庫的形式存儲數(shù)據(jù)以數(shù)據(jù)庫的形式存儲數(shù)據(jù)n與與3Com公司幾經(jīng)離合,最終獨立公司幾經(jīng)離合,最終獨立n2009年年2月,月,Palm 公司宣布將公司宣布將專注于專注于 webOS 和和 Windows Mobil

14、e,終止,終止 Palm OS 的研的研發(fā)應(yīng)用發(fā)應(yīng)用 n2010年,與年,與3Com同時被同時被HP收購收購n2011年年8月,惠普放棄月,惠普放棄 webOS .MeegoNokia N9.Meegon2010年年2月,月,Intel 和和 Nokia 合作在合作在 MWC 發(fā)布發(fā)布 MeeGon整合了整合了 Intel 的的 Moblin 和和 Nokia 的的 Maemon2011年年9月,月,Nokia 首款首款 MeeGo 手機手機 N9 上市,也是最上市,也是最后一款后一款n2011年年4月,月, Nokia 宣布放棄開發(fā)宣布放棄開發(fā) Meego,轉(zhuǎn)向,轉(zhuǎn)向 Windwos Pho

15、ne 7;9月月28日,日,Intel 宣布將宣布將 MeeGo 與與 LiMo 合并成為合并成為 Tizenn2011年年10月官網(wǎng)公告:月官網(wǎng)公告:MeeGo is dead.Android.Droid.Nielsen、Beareyes.OHA 開放手機聯(lián)盟開放手機聯(lián)盟nOHA:Open Handset AllianceGoogle 公司于公司于2007年年11月發(fā)起的一個全球性的聯(lián)盟組織月發(fā)起的一個全球性的聯(lián)盟組織n聯(lián)盟目標(biāo)聯(lián)盟目標(biāo)n加速智能移動設(shè)備的發(fā)展加速智能移動設(shè)備的發(fā)展 n提供用戶更多更好更便宜的服務(wù)提供用戶更多更好更便宜的服務(wù)n聯(lián)盟支持聯(lián)盟支持 Google 可能發(fā)布的手機操作

16、系統(tǒng)或者應(yīng)用軟件,可能發(fā)布的手機操作系統(tǒng)或者應(yīng)用軟件,共同開發(fā)名為共同開發(fā)名為 Android 的開放源代碼的移動系統(tǒng)的開放源代碼的移動系統(tǒng).n聯(lián)盟創(chuàng)始成員聯(lián)盟創(chuàng)始成員nAplix、Ascender、Audience、Broadcom、中國移動、中國移動、eBay、Esmertec、谷歌、宏達(dá)電、英特爾、谷歌、宏達(dá)電、英特爾、KDDI、Living Image、LG、Marvell、摩托羅拉、摩托羅拉、NMS、NTT DoCoMo、Nuance、Nvidia、PacketVideo、高通、三星、高通、三星、SiRF、SkyPop、Sonic Network、Sprint Nextel、Syna

17、ptics、TAT、意大利電信、西班牙電信、德州儀器、意大利電信、西班牙電信、德州儀器、T-Mobile 和和 Wind Rivern至至2011年年5月,成員已達(dá)月,成員已達(dá) 80 家家n手機芯片商、手機制造商手機芯片商、手機制造商n移動運營商移動運營商n軟件開發(fā)商、軟件服務(wù)商軟件開發(fā)商、軟件服務(wù)商.AndroidnAndroid 是是 OHA 發(fā)布的開源手機操作系統(tǒng)發(fā)布的開源手機操作系統(tǒng)n第一個完整的、開放的、免費的智能移動開發(fā)平臺第一個完整的、開放的、免費的智能移動開發(fā)平臺n基于基于 Linux 2.6 內(nèi)核,使用內(nèi)核,使用 Java 進(jìn)行編程進(jìn)行編程nAndroid 包括操作系統(tǒng)、中間

18、件和一些關(guān)鍵應(yīng)用包括操作系統(tǒng)、中間件和一些關(guān)鍵應(yīng)用.Android 優(yōu)勢優(yōu)勢n平臺的開放性平臺的開放性n源代碼完全開放帶來更多的第三方應(yīng)用、更具差異性的源代碼完全開放帶來更多的第三方應(yīng)用、更具差異性的程序、更多的競爭程序、更多的競爭n不受限制的開發(fā)商不受限制的開發(fā)商n針對有限內(nèi)存、電池、針對有限內(nèi)存、電池、CPU 優(yōu)化的優(yōu)化的 Dalvik 虛擬機虛擬機nAndroid 源碼遵循源碼遵循 Apache V2 而不是而不是 GPL v2 n良好的盈利模式良好的盈利模式n 3-7 開的盈利模式極大的激發(fā)了軟件開發(fā)者的熱情開的盈利模式極大的激發(fā)了軟件開發(fā)者的熱情nGoogle 應(yīng)用的無縫結(jié)合應(yīng)用的無

19、縫結(jié)合n10 余年間,余年間,Google 已完成已完成全面的互聯(lián)網(wǎng)滲透全面的互聯(lián)網(wǎng)滲透n地圖、郵件、搜索等服務(wù)與手機的無縫結(jié)合地圖、郵件、搜索等服務(wù)與手機的無縫結(jié)合.Android 不足不足n由于采用了由于采用了 Java 作為應(yīng)用開發(fā)語言,目前可用的傳統(tǒng)第作為應(yīng)用開發(fā)語言,目前可用的傳統(tǒng)第三方應(yīng)用還很少三方應(yīng)用還很少nGoogle 僅提供了一套僅提供了一套 Java 核心包(核心包(J2SE 5,J2SE 6)的有限子集,可能會造成的有限子集,可能會造成 Java 陣營的進(jìn)一步分裂陣營的進(jìn)一步分裂n基于基于 QEMU 開發(fā)的模擬器調(diào)試手段不夠豐富,只支持通話、開發(fā)的模擬器調(diào)試手段不夠豐富,

20、只支持通話、SMS 等,運行速度慢等,運行速度慢n不具備不具備 Push Mail、Office 功能,對商業(yè)用戶支持尚弱功能,對商業(yè)用戶支持尚弱.Android 系統(tǒng)架構(gòu)系統(tǒng)架構(gòu)Linux 內(nèi)核內(nèi)核API 庫庫應(yīng)用程序框架應(yīng)用程序框架應(yīng)用程序應(yīng)用程序.Android 特點特點n應(yīng)用框架可以重復(fù)使用,其組件也可以更換應(yīng)用框架可以重復(fù)使用,其組件也可以更換nDalvik 虛擬機針對移動設(shè)備進(jìn)行了優(yōu)化虛擬機針對移動設(shè)備進(jìn)行了優(yōu)化n優(yōu)化的圖形能力支持優(yōu)化的圖形能力支持 2D/3D 圖形(圖形(OpenGL ES 1.0 )n集成了開源集成了開源 WebKit 引掣、引掣、SQLite 輕型數(shù)據(jù)庫等輕

21、型數(shù)據(jù)庫等n豐富的開發(fā)環(huán)境,包括模擬機、調(diào)試工具、內(nèi)存運行檢測,豐富的開發(fā)環(huán)境,包括模擬機、調(diào)試工具、內(nèi)存運行檢測,以及為以及為 Eclipse IDE 所寫的插件所寫的插件.n多媒體支持多種音頻、視頻格式多媒體支持多種音頻、視頻格式nGSM Telephony (hardware dependent)n支持藍(lán)牙支持藍(lán)牙 Bluetooth,3G 和和 WiFin支持照相機、支持照相機、GPS、指南針和加速度儀等傳感器硬件、指南針和加速度儀等傳感器硬件n應(yīng)該有的都有應(yīng)該有的都有.DVM vs. JVMnDVM(Google)n針對便攜設(shè)備有限的系統(tǒng)資源和供電進(jìn)行專門優(yōu)化針對便攜設(shè)備有限的系統(tǒng)資

22、源和供電進(jìn)行專門優(yōu)化nDalvik excutable bytecoden每個應(yīng)用程序在它自己的每個應(yīng)用程序在它自己的 Dalvik VM 實例中執(zhí)行優(yōu)實例中執(zhí)行優(yōu)化后的化后的 dex 代碼代碼nJVM(Sun)n跨平臺跨平臺nJava bytecoden唯一的唯一的 JVM 實例實例.最新消息最新消息n2011年年7月,國內(nèi)可直接訪問月,國內(nèi)可直接訪問 Android 開發(fā)者網(wǎng)站開發(fā)者網(wǎng)站 n2011年年8月,月,Google 以以 125 億美元收購摩托羅拉移動,億美元收購摩托羅拉移動,以應(yīng)對以應(yīng)對 Apple 和微軟針對和微軟針對 Android 設(shè)備制造商進(jìn)行的設(shè)備制造商進(jìn)行的專利訴訟

23、專利訴訟n2011年年10月,月,Google 發(fā)布發(fā)布 Android SDK 4.0,實現(xiàn),實現(xiàn)手機和平板電腦應(yīng)用開發(fā)平臺的統(tǒng)一手機和平板電腦應(yīng)用開發(fā)平臺的統(tǒng)一.Android 應(yīng)用編程應(yīng)用編程nAndroid SDK 所支持的操作系統(tǒng):所支持的操作系統(tǒng):nWindows XP(32 bit)or Vista(32/64 bit)nMac OS X 10.5.8 or later(x86 only)nLinux(tested on Linux Ubuntu Dapper Drake).開發(fā)環(huán)境開發(fā)環(huán)境nIDEEclipse for JavanEclipse plug-inADT(Andro

24、id Development Tools)nSoftware Development KitAndroid SDK.調(diào)試工具調(diào)試工具nAndroid EmulatorAVD(Android Virtual Device)nDebugerADB(Android Debug Bridge)DDMS(Dalvik Debug Monitor Service).開發(fā)環(huán)境建立開發(fā)環(huán)境建立n安裝配置順序安裝配置順序jdk eclipse sdk adt okn請參考請參考參考視頻:參考視頻:youku、tudou.獲取獲取 Android 資料的途徑資料的途徑n下載下載 sdk 等相關(guān)軟件等相關(guān)軟件n查看

25、文檔、在線幫助查看文檔、在線幫助n開發(fā)社區(qū)開發(fā)社區(qū)n國內(nèi)需要代理才能訪問國內(nèi)需要代理才能訪問nnews、sdk下載下載n開發(fā)開發(fā)FAQ、源碼下載、移植、源碼下載、移植.Say Hello to AndroidnAndroid Emulatorn可模擬電話本、通話等功能可模擬電話本、通話等功能n內(nèi)置的瀏覽器和內(nèi)置的瀏覽器和 Google Maps 都可以聯(lián)網(wǎng)都可以聯(lián)網(wǎng)n可以使用可以使用 PC 鍵盤輸入(不包括小鍵盤)鍵盤輸入(不包括小鍵盤)n可使用模擬器按鍵、鍵盤輸入可使用模擬器按鍵、鍵盤輸入n可以使用鼠標(biāo)單擊、拖拽屏幕進(jìn)行操作可以使用鼠標(biāo)單擊、拖拽屏幕進(jìn)行操作.nAndroid Emulato

26、r 和真機的不同和真機的不同n不支持呼叫和接聽實際來電,但可以通過控制臺模擬電話呼入和不支持呼叫和接聽實際來電,但可以通過控制臺模擬電話呼入和呼出呼出n不支持不支持USB連接連接n不支持相機、視頻捕捉不支持相機、視頻捕捉 n不支持音頻輸入,但支持輸出不支持音頻輸入,但支持輸出n不支持?jǐn)U展耳機不支持?jǐn)U展耳機n不能確定連接狀態(tài)不能確定連接狀態(tài) n不能確定電池電量水平和交流充電狀態(tài)不能確定電池電量水平和交流充電狀態(tài) n不能確定不能確定 SD 卡的插入卡的插入/彈出彈出n不支持藍(lán)牙不支持藍(lán)牙n模擬器在模擬器在 PC 機上產(chǎn)生的臨時文件需要手工清理機上產(chǎn)生的臨時文件需要手工清理.napk 文件:文件:A

27、ndroid 上的安裝文件上的安裝文件napk 是是 Android 安裝包的擴展名,安裝包內(nèi)包含安裝包的擴展名,安裝包內(nèi)包含了與該了與該 Android 應(yīng)用程序相關(guān)的所有文件應(yīng)用程序相關(guān)的所有文件nAndroid 將將 AndroidManifest.xml 文件、應(yīng)用文件、應(yīng)用程序代碼(程序代碼(.dex文件)、資源文件和其他文件打成一文件)、資源文件和其他文件打成一個壓縮包,即個壓縮包,即 .apknapk 文件的本質(zhì)是一個壓縮包文件的本質(zhì)是一個壓縮包.Activity 活動活動nAndroid 應(yīng)用程序中最基本的組件,應(yīng)用程序中應(yīng)用程序中最基本的組件,應(yīng)用程序中一個一個Activit

28、y 通常就是一個單獨的屏幕通常就是一個單獨的屏幕n每一個活動都被實現(xiàn)為一個獨立的類,并且從活每一個活動都被實現(xiàn)為一個獨立的類,并且從活動基類中繼承而來,活動類將會顯示由視圖控件動基類中繼承而來,活動類將會顯示由視圖控件組成的用戶接口,并對事件做出響應(yīng)組成的用戶接口,并對事件做出響應(yīng)n大多數(shù)的應(yīng)用是由多個屏幕顯示組成大多數(shù)的應(yīng)用是由多個屏幕顯示組成DSLab, Lanzhou University示例:示例:Hello worldon Android.Hello WorldnEclipse 下自動生成下自動生成 nnew android project HelloWorld.HelloWorld

29、.javanJava 程序程序package test.helloworld;import android.app.Activity;import android.os.Bundle;public class HelloWorld extends Activity /* Called when the activity is first created. */ Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.m

30、ain); 返回返回.R.javanJava 程序程序/* AUTO-GENERATED FILE. DO NOT MODIFY. */package test.helloworld;public final class R public static final class attr public static final class drawable public static final int icon=0 x7f020000; public static final class layout public static final int main=0 x7f030000; publ

31、ic static final class string public static final int app_name=0 x7f040001; public static final int hello=0 x7f040000; 返回返回.main.xmlnxml 文件文件Resources返回返回.strings.xmlnxml 文件文件 Hello World, HelloWorld! HelloWorld顯示內(nèi)容:顯示內(nèi)容:Hello World, HelloWorld!.AndroidManifest.xmlnxml 文件文件 返回返回.RUNRUN.模擬器運行模擬器運行顯示內(nèi)容

32、:顯示內(nèi)容:Hello World, HelloWorld!.屏幕分辨率屏幕分辨率n入門級的:入門級的:QVGA(320 x240)n主流的:主流的:HVGA(480 x320)n主流的:主流的:WVGA800(800 x480)nmoto特有的:特有的: WVGA854(854x480)n魅族魅族 M9:960 x640n三星三星 Galaxy Tab P1000:1024x600(7 寸屏)寸屏)n基準(zhǔn)分辨率:基準(zhǔn)分辨率: VGA(640 x480)nHVGA-L 或是或是 -P:橫屏、豎屏:橫屏、豎屏n模擬器的默認(rèn)分辨率依模擬器的默認(rèn)分辨率依 SDK 版本而不同版本而不同.(1)Emul

33、ator Control:(2)adb 命令:命令:sms send 10086 ? (3)模擬器之間互發(fā):)模擬器之間互發(fā):55545556(3)模擬器自發(fā)自收:)模擬器自發(fā)自收:55545554發(fā)送短信的方式發(fā)送短信的方式.Activity 的生命周期的生命周期nonCreate()nonStart()nonResume()nonPause()nonStop()nonRestart()nonDestroy()DSLab, Lanzhou University示例:示例:Activityon Android.nfindViewById 方法實現(xiàn)方法實現(xiàn) UI 組件的實例化組件的實例化n不同不

34、同 Activity 之間的切換之間的切換nActivity 在在 manifest.xml 文件中的注冊文件中的注冊nToast 的使用的使用.Intent:組件之間的使者:組件之間的使者nIntent:不同組件之間通信的:不同組件之間通信的“媒介媒介”,用于描,用于描述程序想要做什么述程序想要做什么nIntent 可以包括:可以包括:n動作動作 Actionn數(shù)據(jù)數(shù)據(jù) Data,以,以 URI 的形式表示的形式表示n分類分類 Categoryn類型類型 Typen組件組件 Componentn擴展信息擴展信息 Extran常用于啟動新的常用于啟動新的 Activty、Service 或是發(fā)

35、起或是發(fā)起新的新的 Broadcast 等等.n用于啟動一個新的用于啟動一個新的Activity,實現(xiàn)多個,實現(xiàn)多個Activity 間的切換間的切換n定義并實例化一個定義并實例化一個 Intentn調(diào)用調(diào)用 startActivity() 方法啟動新的方法啟動新的 Activitybutton0=(Button)findViewById(R.id.button0);button0.setOnClickListener(new View.OnClickListener() Override public void onClick(View v) / TODO Auto-generated me

36、thod stub Intent intent=new Intent(MainActivity.this, Common_Widget_Test.class); startActivity(intent); );DSLab, Lanzhou University示例:示例:IntentActionon Android.實例:實例:Test_of_Intent_Actionn使用系統(tǒng)提供的標(biāo)準(zhǔn)使用系統(tǒng)提供的標(biāo)準(zhǔn) Actionn不同的不同的 Action 執(zhí)行不同的動作執(zhí)行不同的動作.Service:后臺服務(wù):后臺服務(wù)n后臺運行,幾乎不與用戶交互,沒有可視化界面后臺運行,幾乎不與用戶交互,沒有可視

37、化界面n與與 Activity 一樣,同屬一樣,同屬 Android 基本組件基本組件n同樣需要在同樣需要在 AndroidManifest.xml 中注冊中注冊.Service:后臺服務(wù):后臺服務(wù)n每一個服務(wù)均繼承自父類每一個服務(wù)均繼承自父類 Servicen同樣以同樣以 startService() 方法啟動服務(wù)方法啟動服務(wù)button1=(Button)findViewById(R.id.button1);button1.setOnClickListener(new View.OnClickListener() public void onClick(View v) Intent int

38、ent1=new Intent(Runnable_Service_Test.this, Runnable_Service.class); intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startService(intent1); );DSLab, Lanzhou University示例:示例:Serviceon Android.實例:實例:Test_of_Serviceprivate Runnable task1 = new Runnable() public void run() intCounter+; Log.i(test, int

39、Counter: +Integer.toString(intCounter); Toast.makeText(getApplicationContext(), Integer.toString(intCounter), Toast.LENGTH_SHORT) .show(); handler1.postDelayed(task1, 1000*second); ;nRunnable:n允許服務(wù)持續(xù)運行,即使啟動服務(wù)的應(yīng)用退出允許服務(wù)持續(xù)運行,即使啟動服務(wù)的應(yīng)用退出n類似于類似于 定時器中斷的中斷服務(wù)程序定時器中斷的中斷服務(wù)程序.nBroadcast Receiver:系統(tǒng)級別的事件處理機制:系統(tǒng)級別的事件處理機制UI的事件處理機制:程序、組件級別的的事件處理機制:程序、組件級別的nsendBroadcast(Intent intent)方法方法發(fā)送廣播發(fā)送廣播nBroadcastReceiver.onReceive()方法方法接收廣播并做相應(yīng)處理接收廣

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論