久久无码高潮喷水抽搐,极品馒头泬19p,久久人人爽精品玩人妻av,精品国产成人国产在线视,精品视频一区二区三区在线观看

最新更新最新專題

您的位置:首頁(yè) > ppt下載 > PPT課件 > 課件PPT > android開發(fā)教程ppt模板

android開發(fā)教程ppt模板下載

素材大小:
1 MB
素材授權(quán):
免費(fèi)下載
素材格式:
.ppt
素材上傳:
lipeier
上傳時(shí)間:
2020-01-22
素材編號(hào):
250607
素材類別:
課件PPT

素材預(yù)覽

android開發(fā)教程ppt模板

這是android開發(fā)教程ppt模板,包括了項(xiàng)目任務(wù),項(xiàng)目要求,Android的發(fā)展及歷史,第一個(gè)應(yīng)用程序,項(xiàng)目框架分析,Android四大組件介紹等內(nèi)容,歡迎點(diǎn)擊下載。

android開發(fā)教程ppt模板是由紅軟PPT免費(fèi)下載網(wǎng)推薦的一款課件PPT類型的PowerPoint.

第1章 Android開發(fā)入門 1 項(xiàng)目任務(wù): 通過學(xué)習(xí)Android相關(guān)歷史及開發(fā)環(huán)境的搭建,完成第一個(gè)簡(jiǎn)單應(yīng)用程序的設(shè)計(jì)與開發(fā),并理解Android項(xiàng)目中各個(gè)文件及目錄的功能。 2 項(xiàng)目要求: 掌握Android開發(fā)環(huán)境的搭建方法。 在Eclipse軟件上設(shè)計(jì)并運(yùn)行自己的第一個(gè)程序。 了解Android項(xiàng)目的結(jié)構(gòu)及各個(gè)文件的功能。 掌握Android系統(tǒng)四大組件的基本功能。 1.1 Android的發(fā)展及歷史 1.1.1 Android系統(tǒng)簡(jiǎn)介 Android是一種以Linux為基礎(chǔ)的開放源碼操作系統(tǒng),它主要應(yīng)用于便攜設(shè)備。Android股份有限公司于2003年在美國(guó)加州成立,在2005年被Google收購(gòu)。2012年的數(shù)據(jù)顯示,僅正式推出四年操作系統(tǒng)的Android已經(jīng)超越稱霸十年的諾基亞Symbian系統(tǒng),2011年后已經(jīng)和蘋果IOS系統(tǒng)一起,躍居成為全球最受歡迎的智能手機(jī)平臺(tái)之一。 1.1 Android的發(fā)展及歷史 Android一詞最早出現(xiàn)于法國(guó)作家利爾亞當(dāng)(Auguste Villiers de l"Isle-Adam)在1886年發(fā)表的科幻小說《未來(lái)夏娃》(L"ève future)中。他將外表像人的機(jī)器起名為Android,于是就有了這個(gè)可愛的小機(jī)器人。 1.1 Android的發(fā)展及歷史 Android 1.1 是在2008年9月發(fā)布的第一款A(yù)ndroid系統(tǒng),2008年9月22日,美國(guó)運(yùn)營(yíng)商德國(guó)T-Mobile在紐約正式發(fā)布第一款A(yù)ndroid手機(jī)——T-Mobile G1。該款手機(jī)為臺(tái)灣宏達(dá)電(HTC)代工制造,是世界上第一部使用Android操作系統(tǒng)的手機(jī),支持WCDMA/HSPA網(wǎng)絡(luò),理論下載速率7.2Mbit/s ,并支持Wi-Fi。 Android 1.5操作系統(tǒng)代號(hào)Cupcake(紙杯蛋糕),發(fā)布時(shí)間為2009年4月30日,以甜品命名的系統(tǒng)是從Android 1.5開始,該系統(tǒng)主要的更新在于采用了WebKit技術(shù)的瀏覽器,它支持在頁(yè)面中進(jìn)行復(fù)制/粘貼以及搜索等功能;系統(tǒng)還支持立體藍(lán)牙耳機(jī)連接,改善了自動(dòng)配備的性能,使其更加穩(wěn)定。 1.1 Android的發(fā)展及歷史 Android 1.6操作系統(tǒng)發(fā)布時(shí)間為2009年9月15日,該系統(tǒng)代號(hào)Donut(甜甜圈),主要更新是支持更高的屏幕分辨率,支持OpenCore2引擎;支持CDMA網(wǎng)絡(luò)以及優(yōu)化拍照程序。 Android 2.0系統(tǒng)發(fā)布時(shí)間為2009年10月26日,隨后的升級(jí)版Android 2.0.1、Android 2.1均稱為Eclair(松餅),該系統(tǒng)優(yōu)化了硬件支持,支持更高的屏幕分辨率;系統(tǒng)界面也發(fā)生了變化,運(yùn)行更流暢;支持HTML5。 1.1 Android的發(fā)展及歷史 Android 2.2操作系統(tǒng)發(fā)布時(shí)間為2010年5月20日,與隨后的升級(jí)版Android 2.2.1統(tǒng)稱為Froyo(凍酸奶)。該系統(tǒng)主要是對(duì)系統(tǒng)進(jìn)行優(yōu)化,增加了App2Sd功能。 Android 2.3操作系統(tǒng)發(fā)布時(shí)間為2010年12月7日,該系統(tǒng)代號(hào)為Gingerbread(姜餅),這也是目前國(guó)內(nèi)市場(chǎng)占有率最高的系統(tǒng)。該系統(tǒng)優(yōu)化了系統(tǒng)界面,使其操作更加流暢;加入復(fù)制/粘貼功能;支持前置攝像頭以及NFC技術(shù)。 1.1 Android的發(fā)展及歷史 Android3.0/3.1/3.2操作系統(tǒng)是谷歌在2011年中發(fā)布的,3.X系列的版本統(tǒng)稱為Honeycomb(蜂巢)。這一系列的更新主要是針對(duì)平板設(shè)備,讓Android系統(tǒng)可以更好的支持平板。 在2011年10月19日,Google發(fā)布了全新的Android4.0操作系統(tǒng),系統(tǒng)代號(hào)為Ice Cream Sandwich(冰激凌三明治),該系統(tǒng)將手機(jī)與平板設(shè)備進(jìn)行整合,擁有全新的UI界面以及Linus內(nèi)核,支持虛擬按鍵。 Android 4.1操作系統(tǒng)發(fā)布時(shí)間為2012年6月28日,系統(tǒng)代號(hào)為Jelly Bean(果凍豆),Android4.1操作系統(tǒng)引入了三重緩沖顯示技術(shù),讓界面更加流暢,功能方面也有增加。 1.1 Android的發(fā)展及歷史 1.1.3 Android系統(tǒng)框架架構(gòu) 1. Linux 內(nèi)核(Kernel) Android 的核心系統(tǒng)服務(wù)依賴于 Linux 2.6 內(nèi)核,如安全性,內(nèi)存管理,進(jìn)程管理, 網(wǎng)絡(luò)協(xié)議棧和驅(qū)動(dòng)模型。 Linux 內(nèi)核也同時(shí)作為硬件和軟件棧之間的抽象層。 1.1 Android的發(fā)展及歷史 2. 系統(tǒng)運(yùn)行庫(kù)(Libraries) 程序庫(kù) Android 包含一些C/C++庫(kù),這些庫(kù)能被Android系統(tǒng)中不同的組件使用。它們通過 Android 應(yīng)用程序框架為開發(fā)者提供服務(wù)。以下是一些核心庫(kù):媒體庫(kù)、Surface Manager 、LibWebCore、SGL 、3D libraries、FreeType 、SQLite 1.1 Android的發(fā)展及歷史   Android 運(yùn)行庫(kù) Android 包括了一個(gè)核心庫(kù),該核心庫(kù)提供了Java編程語(yǔ)言核心庫(kù)的大多數(shù)功能。 每一個(gè)Android應(yīng)用程序都在它自己的進(jìn)程中運(yùn)行,都擁有一個(gè)獨(dú)立的Dalvik虛擬機(jī)實(shí)例。Dalvik被設(shè)計(jì)成一個(gè)設(shè)備可以同時(shí)高效地運(yùn)行多個(gè)虛擬系統(tǒng)。 Dalvik虛擬機(jī)執(zhí)行.dex的Dalvik可執(zhí)行文件,該格式文件針對(duì)小內(nèi)存使用做了優(yōu)化。同時(shí)虛擬機(jī)是基于寄存器的,所有的類都經(jīng)由Java編譯器編譯,然后通過SDK中 的 “dx”工具轉(zhuǎn)化成.dex格式,并由虛擬機(jī)執(zhí)行。Dalvik虛擬機(jī)依賴于Linux內(nèi)核的一些功能,比如線程機(jī)制和底層內(nèi)存管理機(jī)制。 1.1 Android的發(fā)展及歷史 3. 應(yīng)用程序框架(Application Framework) 開發(fā)人員也完全可以訪問核心應(yīng)用程序所使用的API框架。該應(yīng)用程序的架構(gòu)設(shè)計(jì)簡(jiǎn)化了組件的重用;任何一個(gè)應(yīng)用程序都可以發(fā)布它的功能塊,并且任何其它的應(yīng)用程序都可以使用其所發(fā)布的功能塊(不過得遵循框架的安全性限制)。同樣,該應(yīng)用程序重用機(jī)制也使用戶可以方便的替換程序組件。 1.1 Android的發(fā)展及歷史 隱藏在每個(gè)應(yīng)用程序后面的是一系列的服務(wù)和系統(tǒng),其中包括: 視圖(Views) 內(nèi)容提供器(Content Providers) 資源管理器(Resource Manager) 通知管理器 (Notification Manager) 活動(dòng)管理器( Activity Manager) 1.1 Android的發(fā)展及歷史 4. 應(yīng)用程序(Applications) Android系統(tǒng)會(huì)和一個(gè)核心應(yīng)用程序包一起發(fā)布,該應(yīng)用程序包包括 Email 客戶端、SMS 短消息程序、日歷、地圖、瀏覽器、聯(lián)系人管理程序等。所有的應(yīng)用程序都是用Java編寫的,另外我們從網(wǎng)絡(luò)下載的,或者我們自己開發(fā)的應(yīng)用程序也都屬于這一部分。 1.2 Android開發(fā)環(huán)境搭建 1.2.1 Android開發(fā)簡(jiǎn)介 Android (安卓)是Google 開發(fā)的基于Linux 平臺(tái)的開源手機(jī)操作系統(tǒng)。Android的應(yīng)用程序一般使用Java語(yǔ)言編寫,當(dāng)然也有NDK的開發(fā)方式,會(huì)涉及C/C++。在開發(fā)過程中,有眾多的樣本應(yīng)用和開源應(yīng)用提供下載,并且IDE(集成開發(fā)環(huán)境)使用Eclipse,這種集成開發(fā)環(huán)境有豐富的源代碼模板,用戶可以在源碼的基礎(chǔ)上進(jìn)行程序的編寫,這使得程序開發(fā)的難度大為降低。 1.2 Android開發(fā)環(huán)境搭建 1.2.2 安裝JDK 進(jìn)入網(wǎng)址http://www.oracle.com/technetwork/java/javase/downloads/index.html ,如圖所示: 1.2 Android開發(fā)環(huán)境搭建 作為開發(fā)人員,這里選擇JDK而不是JRE,因此當(dāng)單擊JDK的圖標(biāo)并選擇相應(yīng)版本后,JDK就開始下載了。32位的Windows系統(tǒng)用戶點(diǎn)擊jdk-7u7-windows-i586.exe,64位的Windows系統(tǒng)用戶點(diǎn)擊jdk-7u7-windows-x64.exe。 下載后可以得到.exe的可執(zhí)行程序,這是一個(gè)安裝程序,用戶只需要運(yùn)行該程序就可以完成JDK的安裝。當(dāng)然用戶在安裝過程中可以指定安裝的路徑,但是一般推薦使用默認(rèn)路徑(一直單擊下一步)安裝即可,最后檢查是否安裝成功。 1.2 Android開發(fā)環(huán)境搭建 單擊計(jì)算機(jī)的“開始”,選擇“運(yùn)行”,在出現(xiàn)的對(duì)話框中輸入“CMD”命令,打開CMD窗口,在CMD窗口中輸入“ java –version”,如圖所示,如果屏幕出現(xiàn)下面的代碼信息,說明JDK已經(jīng)安裝成功了。如果不成功,通常是環(huán)境變量設(shè)置不正確,現(xiàn)在Windows平臺(tái)的JDK都是做好的安裝包,一般正常安裝后都沒有問題。 1.2 Android開發(fā)環(huán)境搭建 1.2.3 安裝Eclipse 第一次安裝Android開發(fā)平臺(tái),現(xiàn)有一個(gè)非常方便的方法,在android開發(fā)網(wǎng)站(http://developer.android.com/sdk/index.html)上直接下載一個(gè)ADT綜合包文件(adt-bundle-windows-x86-20130219.zip),這個(gè)包文件內(nèi)有必要的Android SDK的組件和一個(gè)內(nèi)置了ADT(Android Development Tools )插件的新版本Eclipse 。下載完成后,解壓縮到一個(gè)目錄下,打開其中的Eclipse目錄,找到eclipse.exe這個(gè)文件發(fā)送到桌面后,就可以直接開發(fā)程序了(可以省略下面的Eclipse安裝、SDK下載和配置以及ADT安裝三個(gè)步驟)。 1.2 Android開發(fā)環(huán)境搭建 如果你已經(jīng)安裝了部分開發(fā)工具,或者你想一步一步的進(jìn)行安裝配置,具體的方法如下面所述。Eclipse下載的主頁(yè)面為:http://www.eclipse.org/downloads/,如圖所示,Eclipse的頁(yè)面默認(rèn)版本為Windows平臺(tái),如果想選擇其他平臺(tái)例如Linux平臺(tái),鼠標(biāo)點(diǎn)擊右上角的下拉框進(jìn)行選擇(共三種平臺(tái)Windows、Linux和Mac OS X)。默認(rèn)版本為當(dāng)前正式最新發(fā)布的正式版本3.7.2,代號(hào)Indigo。如果想下載以前的老版本,可以鼠標(biāo)點(diǎn)擊左上方的Older Versions鏈接去下載老版本。這里列表列出了多個(gè)版本,是因?yàn)镋clipse具有良好的擴(kuò)展性,因此很多可用于Eclipse的應(yīng)用插件被開發(fā)出來(lái),為了節(jié)省用戶下載相關(guān)插件的工作量,所以對(duì)目前常用的幾類開發(fā)插件進(jìn)行了打包處理。 1.2 Android開發(fā)環(huán)境搭建 這里稍微介紹一下:Eclipse Classic是標(biāo)準(zhǔn)的Eclipse版本,只包括基本的插件,不包括相關(guān)的特殊插件,通常稱之為最干凈的Eclipse版本,一般建議下載并安裝此版本。下載時(shí),仍需注意Windows的版本問題,建議和JDK版本相匹配。 下載后的文件是zip壓縮格式,解壓縮后就可以直接運(yùn)行eclipse.exe這個(gè)可執(zhí)行文件,因?yàn)樗?jīng)常使用,所以建議在桌面上建立一個(gè)Eclipse快捷方式。 1.2 Android開發(fā)環(huán)境搭建 1.2.4 配置Android開發(fā)環(huán)境 在Eclipse中配置Android開發(fā)環(huán)境主要包括ADT(Android Development Tools)和Android SDK(Android Development Kit)兩部分。 首先進(jìn)行Android SDK的下載,下載網(wǎng)址是http://developer.android.com/sdk/index.html 。如圖所示,進(jìn)行下載的設(shè)置。 1.2 Android開發(fā)環(huán)境搭建 點(diǎn)擊“Download the SDK for Windows”按鈕進(jìn)行下載,得到installer_r20.0.3-windows.exe安裝程序。下載后按步驟進(jìn)行安裝,選擇合適的目錄。安裝結(jié)束后,會(huì)出現(xiàn)SDK更新頁(yè)面,建議選擇SDK4.1(API 16)版本和SDK2.3.3(API10)的相關(guān)目錄進(jìn)行更新,建議Android 開發(fā)文檔(Documentation for Android )和例程(Sample for SDK)一定要安裝,這些內(nèi)容可以為用戶提供很多參考。這個(gè)更新界面也可以在Eclipse中安裝好ADT插件后,利用打開SDK管理器的方法打開, 安裝完SDK后,我們必須要把SDK關(guān)聯(lián)到Eclipse開發(fā)環(huán)境中去,也就是讓在Eclipse中開發(fā)的項(xiàng)目能找到所用的SDK相關(guān)文件。 1.2 Android開發(fā)環(huán)境搭建 從Eclipse的菜單欄中選擇“Window”→“Preferences”命令,打開“Preferences”窗口,如圖1-7所示。單擊左邊的“Android”,然后再單擊“Browse”按鈕設(shè)置Android SDK的位置,即前面所提到的Android SDK安裝后的位置,如圖所示,即完成了SDK的路徑設(shè)置過程,即關(guān)聯(lián)過程。 1.2 Android開發(fā)環(huán)境搭建 這里有個(gè)小經(jīng)驗(yàn),建議大家把Eclipse文件夾和 SDK文件夾都放到D盤的同一個(gè)目錄(比如取名為android)下,如圖所示。另外,路徑名稱(包括項(xiàng)目名、開發(fā)所涉及的文件夾名等)中不建議出現(xiàn)中文字符,避免開發(fā)時(shí)發(fā)生意想不到的錯(cuò)誤。 1.2 Android開發(fā)環(huán)境搭建 然后進(jìn)行ADT安裝:在http://developer.android.com/sdk/eclipse-adt.html#installing中給出了如何安裝的詳細(xì)說明,其實(shí)核心思想就是一個(gè)如何設(shè)置ADT的安裝鏈接。ADT的安裝有離線下載安裝和在線安裝兩種方法,這里介紹在線安裝的方法。 1.2 Android開發(fā)環(huán)境搭建 在Eclipse的菜單中選擇“Help”->“Install New Software”命令,如圖1-8所示,單擊右上方的“Add”按鈕,在Location欄目中加入ADT的下載地址:http://dl-ssl.google.com/android/eclipse/ ,Location上方的Name欄中可以填寫android。然后點(diǎn)擊“OK”按鈕。如圖所示: 1.2 Android開發(fā)環(huán)境搭建 如果成功訪問Google的相關(guān)服務(wù)器,則會(huì)顯示獲取的ADT插件信息,使用鼠標(biāo)選中其中的復(fù)選框,建議全部進(jìn)行選擇。 鼠標(biāo)點(diǎn)擊“Next”按鈕,會(huì)顯示ADT的詳細(xì)情況,繼續(xù)用鼠標(biāo)點(diǎn)擊“Next”按鈕,會(huì)出現(xiàn)詢問用戶是否同意使用License,缺省的情況是不同意,此時(shí)下邊的“Finish”按鈕為灰;如果用戶同意使用License,則選中同意License選項(xiàng),然后點(diǎn)擊 “Finish”按鈕,就進(jìn)入下載安裝狀態(tài)。 1.2 Android開發(fā)環(huán)境搭建 下載安裝成功后會(huì)提示重啟Eclipse,點(diǎn)擊“Restart Now”按鈕即可重啟Eclipse。重新啟動(dòng)Eclipse后,狀態(tài)欄上會(huì)增加兩個(gè)圖標(biāo),一個(gè)是SDK管理器,一個(gè)是AVD管理器,這兩個(gè)圖標(biāo)和Windows菜單中的兩個(gè)子菜單功能完全系統(tǒng),如圖所示,至此,Android開發(fā)環(huán)境搭建工作就全部完成了。 1.2 Android開發(fā)環(huán)境搭建 1.2.5 創(chuàng)建AVD 當(dāng)用戶在開發(fā)Android程序,或者在完成一個(gè)Android程序之后,一般需要檢測(cè)一下程序運(yùn)行的結(jié)果,如果用戶沒有支持Android平臺(tái)的3G 手機(jī),該如何測(cè)試呢?SDK為我們解決了這一問題,在SDK中集成了Android 虛擬設(shè)備AVD(Android Virtual Device),利用AVD管理器,用戶可以創(chuàng)建各種模擬器(Emulator),并利用模擬器獲得跟真實(shí)手機(jī)基本相同的體驗(yàn)。但是在涉及一些手機(jī)硬件開發(fā)(如藍(lán)牙、GPS、相機(jī)、NFC等)時(shí),模擬器就無(wú)法實(shí)現(xiàn)相關(guān)的硬件模擬功能,所以此時(shí)程序員必須配備具有對(duì)應(yīng)硬件功能的Android手機(jī),才能完成開發(fā)任務(wù)。 1.2 Android開發(fā)環(huán)境搭建 在Eclipse中創(chuàng)建AVD時(shí),首先需要利用AVD 管理工具來(lái)創(chuàng)建一個(gè)AVD,點(diǎn)擊Eclipse 工具欄上的AVD Manager圖標(biāo),彈出如圖所示的對(duì)話框。 1.2 Android開發(fā)環(huán)境搭建 這里顯示已經(jīng)有4個(gè)AVD模擬器,它們是作者平時(shí)使用的模擬器。用戶可根據(jù)項(xiàng)目需求選定目標(biāo)AVD,然后點(diǎn)擊start按鈕,就開始啟動(dòng)選定的AVD。如果用戶需要建立一個(gè)新的AVD,首先點(diǎn)擊New按鈕,進(jìn)入創(chuàng)建界面如圖所示,輸入名稱“newavd”, Target選擇Android4.1,同時(shí)輸入模擬器SD的容量:256,注意單位為兆(MiB),SD的容量不建議給太大,如1G、2G等,因?yàn)槊看味嘟ㄒ粋(gè)AVD,AVD安裝時(shí)所在的盤的剩余容量就會(huì)做相應(yīng)的減少,在一般的應(yīng)用開發(fā)中,256M就足夠了。 1.2 Android開發(fā)環(huán)境搭建 上圖中的Hardware選項(xiàng),是對(duì)模擬器硬件方面的支持,可以增加一些設(shè)置,這里增加一個(gè)鍵盤支持的設(shè)置,即將來(lái)可以利用PC機(jī)的鍵盤來(lái)實(shí)現(xiàn)模擬器AVD鍵盤的輸入,方便程序員的調(diào)試。如圖所示,點(diǎn)擊“New”按鈕,在Property下拉列表框中選擇KeyBoard support選項(xiàng),單擊“OK”按鈕,在Keyboard support的值(Value)選項(xiàng)把no改為yes,如圖所示,即完成了對(duì)鍵盤支持的設(shè)置工作。 1.2 Android開發(fā)環(huán)境搭建 完成以上步驟后,點(diǎn)擊對(duì)話框下方的Create AVD 按鈕,就完成了AVD的創(chuàng)建工作。從圖中可以看出,增加了一個(gè)名稱為newavd的模擬器AVD。選中newavd 后,單擊Start按鈕,即可啟動(dòng)最新創(chuàng)建完成的模擬器AVD。 1.2 Android開發(fā)環(huán)境搭建 第一次啟動(dòng)AVD會(huì)需要較長(zhǎng)的時(shí)間,實(shí)際開發(fā)時(shí),建議大家不要頻繁關(guān)閉和重啟AVD。啟動(dòng)后的AVD如圖所示。在模擬器界面的左上角,有5554:newavd這個(gè)內(nèi)容,它所代表的含義是什么呢?每個(gè)模擬器都被綁定到“127.0.0.1”這個(gè)IP 地址上,而5554 代表該模擬器所綁定的端口號(hào),也就是說,該模擬器的唯一標(biāo)識(shí)地址是“127.0.0.1:5554”。同一臺(tái)PC中啟動(dòng)第二個(gè)模擬器所綁定的端口號(hào)是5556,端口號(hào)可以作為模擬器的手機(jī)號(hào)使用,在兩個(gè)或多個(gè)模擬器之間可以通過端口號(hào)進(jìn)行通信,如撥打電話,發(fā)送短信等等。 1.2 Android開發(fā)環(huán)境搭建 Android手機(jī)由于品牌、型號(hào)眾多,所以屏幕的尺寸也有很多。屏幕尺寸越大,可視范圍就越大,同時(shí)由于所有Android手機(jī)均為可觸摸屏幕,可觸摸區(qū)域即為操作區(qū)域,所以屏幕越大,可操作區(qū)域也越大。在使用手機(jī)玩游戲和觀看視頻等方面,大尺寸手機(jī)優(yōu)勢(shì)明顯。此表給出了當(dāng)前流行的一些手機(jī)屏幕的分辨率。 1.2 Android開發(fā)環(huán)境搭建 模擬器左側(cè)的部分為手機(jī)桌面,每次啟動(dòng)模擬,手機(jī)都是處于鎖定狀態(tài)的,通過單擊鼠標(biāo)圖標(biāo)并拖動(dòng)即可解鎖。模擬手機(jī)的默認(rèn)語(yǔ)言是英語(yǔ),如果希望在手機(jī)上顯示中文等語(yǔ)言,需要對(duì)模擬器的語(yǔ)言設(shè)置進(jìn)行修改。另外時(shí)間是國(guó)際標(biāo)準(zhǔn)時(shí)間,和北京時(shí)間有8個(gè)小時(shí)的時(shí)差,如果需要修改成北京時(shí)間,則可以在模擬器設(shè)置選項(xiàng)中進(jìn)行系統(tǒng)的語(yǔ)言及時(shí)間設(shè)置,由于這些設(shè)置和真實(shí)手機(jī)完全相同,這里就不多介紹了,同學(xué)們可以自己摸索。 1.3 第一個(gè)應(yīng)用程序 1.3.1 創(chuàng)建第一個(gè)應(yīng)用程序項(xiàng)目Project 搭建好開發(fā)環(huán)境后,下面在Android 平臺(tái)上開發(fā)并運(yùn)行第一個(gè)項(xiàng)目HelloAndroid。首先啟動(dòng)Eclipse,打開新建項(xiàng)目的向?qū),一種方式是“File”->“New”->“Project”…|“Android”-> “Android Application Project”,另一種方式是“File”->“New”->“Android Application Project”,執(zhí)行結(jié)果都是相同的,如圖所示: 1.3 第一個(gè)應(yīng)用程序 當(dāng)打開新建項(xiàng)目向?qū)Ш,出現(xiàn)對(duì)話框如圖所示,首先需要確定應(yīng)用名稱Application Name、項(xiàng)目名稱Project Name、包名Package Name以及最低支持版本等信息。 1.3 第一個(gè)應(yīng)用程序 應(yīng)用名稱是Android程序在手機(jī)中顯示的名稱,這里采用HelloAndroid作為名稱,當(dāng)然也可以使用如“我的第一個(gè)Android應(yīng)用程序”這樣包含中文的應(yīng)用名稱。工程名和包名必須唯一,不能與已有工程的工程名和包名重名。包名是包的命名空間,需要遵循Java中包的命名規(guī)則。包名由2個(gè)或多個(gè)標(biāo)識(shí)符組成,中間用點(diǎn)隔開。Java包的名字都是由小寫單詞組成,每一名Java程序員都可以編寫屬于自己的Java包。為了保障每個(gè)Java包命名的唯一性,在最新的Java編程規(guī)范中,要求程序員在自己定義的包名之前加上唯一的前綴,由于互聯(lián)網(wǎng)上的域名是不會(huì)重復(fù)的,所以程序員一般采用自己在互聯(lián)網(wǎng)上的域名作為自己程序包的唯一前綴。例如:cn.edu.siso.hello,一般公司命名則會(huì)以“com.公司名.項(xiàng)目名”的方式命名。 Build sdk 是目前開發(fā)項(xiàng)目所選用的SDK版本,它默認(rèn)是Android4.1 (API 16),mini SDK則是程序開發(fā)后所支持的最低版本,當(dāng)前選擇為API 9:Android 2.3。 1.3 第一個(gè)應(yīng)用程序 設(shè)置好以上信息后,單擊“Next”按鈕,進(jìn)入啟動(dòng)圖標(biāo)的設(shè)置界面,這里可以設(shè)置啟動(dòng)圖標(biāo)的顯示圖片及顏色,本例題均采用默認(rèn)值,然后直接單擊“Next”按鈕,進(jìn)入創(chuàng)建Activity的對(duì)話框。在Activity界面仍舊采用默認(rèn)值,單擊“Next”按鈕后進(jìn)入創(chuàng)建新的空白Activity的對(duì)話框。在這個(gè)對(duì)話框中需要設(shè)置Activity Name和Layout Name。Activity Name就是項(xiàng)目中Java源代碼的文件名,也就是類名,Activity Name的命名必須遵循Java類名的命名規(guī)則。Layout Name就是項(xiàng)目中布局文件的名稱,注意不能有大寫字母出現(xiàn)。本頁(yè)也可以采用默認(rèn)值,直接點(diǎn)擊Finish按鈕后結(jié)束項(xiàng)目的創(chuàng)建。 1.3 第一個(gè)應(yīng)用程序 項(xiàng)目向?qū)ё詣?dòng)創(chuàng)建完成了項(xiàng)目所需要的基礎(chǔ)文件及目錄結(jié)構(gòu),用戶能看到如圖所示的內(nèi)容。單擊“run”圖標(biāo)按鈕,運(yùn)行此程序,選擇Run as:Android Application后,啟動(dòng)選定的AVD,第一次啟動(dòng)AVD時(shí)間稍長(zhǎng),啟動(dòng)后模擬器進(jìn)入的是鎖定狀態(tài),必須解鎖后才能運(yùn)行程序,第一個(gè)新建項(xiàng)目的界面如圖所示。 1.3 第一個(gè)應(yīng)用程序 1.3.2 修改顯示內(nèi)容 打開項(xiàng)目中res->values->strings.xml文件,如圖所示,對(duì)其中的name=“hello_world”所對(duì)應(yīng)的內(nèi)容部分進(jìn)行修改,修改為“這是我的第一個(gè)Android應(yīng)用程序”,保存后再次運(yùn)行程序,即可看到了如圖所示的界面。 1.4 項(xiàng)目框架分析 1.4.1 HelloAndroid項(xiàng)目結(jié)構(gòu) 在建立HelloAndroid程序的過程中,Android系統(tǒng)在Eclipse中會(huì)自動(dòng)建立一些目錄和文件,一個(gè)項(xiàng)目的框架如圖所示。其中有些文件有著固定的作用,有的允許修改,有的不允許修改。了解這些文件及目錄的作用,對(duì)Android應(yīng)用程序開發(fā)有著非常重要的作用,下面對(duì)這些文件分別進(jìn)行介紹。 1.4 項(xiàng)目框架分析 src/ 是用于存放開發(fā)人員自己編寫的Java 源代碼的包。 gen/ 該目錄不需要開發(fā)人員維護(hù),但它又是非常重要的目錄。該目錄用來(lái)存放由Android 開發(fā)工具所生成的目錄。該目錄下的所有文件都不是用戶創(chuàng)建的,而是由ADT 自動(dòng)生成的。該目錄下的R.java 文件非常重要,后面會(huì)詳細(xì)的介紹。 android 4.1/ 存放Android 自身的jar 包。 1.4 項(xiàng)目框架分析 Android Dependencies/ 是android開發(fā)過程中一些依賴的包,它也是新版本的ADT才增加的目錄。它修改了第三方j(luò)ar的導(dǎo)入方式,之前可以在工程里面做關(guān)聯(lián),并在工程上自動(dòng)添加ReferenceLibrary。在新版本的ADT環(huán)境下,只需要在工程目錄下新建libs文件夾(注意是libs不是lib),然后將第三方的jar復(fù)制進(jìn)去,Eclipse就會(huì)自動(dòng)將這個(gè)jar添加到Android Dependencies文件夾下,而不必再通過BuildPath去修改,也不需要Reference Library。另外,如果多個(gè)工程有關(guān)聯(lián)的話,比如A工程設(shè)置為IsLibaray,B工程要引入A工程的時(shí)候,也會(huì)自動(dòng)將A工程編譯生成的jar放到Android Dependencies文件夾下。 1.4 項(xiàng)目框架分析 assets/ 該目錄用來(lái)存放應(yīng)用中用到的類似于視頻文件、MP3等一些媒體文件,此目錄中的資源不能夠被R.java文件索引,一般為空。 res/ res是resource 的縮寫。我們稱該目錄為資源目錄。該目錄可以存放一些圖標(biāo)、界面文件、應(yīng)用中用到的文字信息等內(nèi)容。 AndroidManifest.xml文件是功能清單文件,該文件列出了應(yīng)用中所使用的所有組件,如“activity”,以及后面要學(xué)習(xí)的廣播接收者、服務(wù)等組件。 default.properties文件一般也不需要手工更改。該文件存放了項(xiàng)目對(duì)應(yīng)的一些環(huán)境配置,如應(yīng)用要求運(yùn)行的最低Android 版本。 1.4 項(xiàng)目框架分析 1.4.2 資源res目錄 資源是Android 應(yīng)用程序不可或缺的部分。資源中存放了會(huì)被應(yīng)用到程序里面的一些外部元素,比如圖片、音頻、視頻、文本字符串、布局、主題等。每個(gè)Android應(yīng)用程序包含一個(gè)資源目錄(res/)和資產(chǎn)目錄(assets/),但資產(chǎn)不經(jīng)常被使用,因?yàn)樗鼈兊膽?yīng)用很少,僅在需要讀取原始字節(jié)流時(shí)才需要保存數(shù)據(jù)在assets/目錄。Res/和assets/目錄均在Android 項(xiàng)目樹的頂端,和源代碼目錄(src/)處在同一級(jí)上。資源和資產(chǎn)從表面上看沒多大區(qū)別,不過總體上來(lái)說,在存儲(chǔ)外部?jī)?nèi)容時(shí)資源用得更多。他們之間真正的區(qū)別在于任何放置在資源目錄里的內(nèi)容都可以通過應(yīng)用程序的R 類訪問,這是被Android 編譯過的。而任何存放在資產(chǎn)目錄里的內(nèi)容都將保持它的原始文件格式,為了讀取它,必須使用AssetManager以字節(jié)流的方式進(jìn)行讀取。所以保持文件和數(shù)據(jù)在資源中(res/)中會(huì)更方便訪問。 1.4 項(xiàng)目框架分析 資源將最終被編譯到APK 文件里,Android 創(chuàng)建了一個(gè)被稱為R 的類,因此在Java代碼中可以通過它關(guān)聯(lián)到對(duì)應(yīng)的資源文件。R 類中所包含的子類的命名由res/目錄下的文件夾名稱所決定。 res/目錄下有4個(gè)dawable文件夾——drawable-*dpi,它們的區(qū)別只是將圖標(biāo)按分辨率高低來(lái)放入不同的目錄。drawable-hdpi用來(lái)存放高分辨率的圖標(biāo),drawable-mdpi用來(lái)存放中等分辨率的圖標(biāo),drawable-ldpi用來(lái)存放低分辨率的圖標(biāo)。程序運(yùn)行時(shí)可以根據(jù)手機(jī)分辨率的高低選取相應(yīng)目錄下的圖片。如果開發(fā)程序時(shí)不準(zhǔn)備使用過多圖片,那么也可以只準(zhǔn)備一張圖片將其放入四個(gè)目錄的任何一個(gè)中去。 1.4 項(xiàng)目框架分析 res/目錄下有1個(gè)layout文件夾,里面存放的是項(xiàng)目涉及的布局文件,本例中的布局文件是ADT 默認(rèn)自動(dòng)創(chuàng)建的activity_main.xml文件,布局文件利用XML語(yǔ)言來(lái)描述用戶界面。代碼的第8行說明在界面中使用TextView控件,TextView控件主要用來(lái)顯示字符串文本。代碼的第8行到14行分別對(duì)此文本控件的長(zhǎng)、寬、顯示位置以及顯示內(nèi)容等做了描述。第13行中@string/hello_world是對(duì)資源的引用,在上一個(gè)小節(jié)中,曾經(jīng)嘗試修改了這個(gè)字符串的內(nèi)容,使界面中顯示的內(nèi)容發(fā)生了變化,現(xiàn)在可以再次體會(huì)一下這個(gè)操作。 1.4 項(xiàng)目框架分析 在Eclipse 中,雙擊“activity_main.xml”文件,在編輯區(qū)出現(xiàn)如圖所示的界面,其中顯示的是Graphical Layout圖形界面的預(yù)覽效果。可以點(diǎn)擊Layout 選項(xiàng)卡旁邊的activity_main.xml,切換到代碼編輯模式。 1.4 項(xiàng)目框架分析 res/目錄下有1個(gè)values文件夾,里面存放的strings.xml文件用來(lái)定義字符串和數(shù)值,在Activity 中使用getResources().getString(resourceId)或getResources().getText(resourceId)取得資源。 如strings.xml文件代碼所示,它一共聲明了4個(gè)string標(biāo)簽,每個(gè)string 標(biāo)簽對(duì)應(yīng)聲明一個(gè)字符串,如“name="hello_world">這是我的第一個(gè)Android程序”中name屬性指定其引用名,在程序中調(diào)用此引用名(hello_word)就可以使用后面的值(實(shí)際的字符串:這是我的第一個(gè)Android程序)。 1 2 HelloAndroid 3 這是我的第一個(gè)Android程序 4 Settings 5 MainActivity 6 1.4 項(xiàng)目框架分析 1.4.3 gen/目錄下的R.java 文件 R.java 文件中默認(rèn)有attr、drawable、layout、string 等多個(gè)靜態(tài)內(nèi)部類,每個(gè)靜態(tài)內(nèi)部類分別對(duì)應(yīng)一種資源,如layout 靜態(tài)內(nèi)部類對(duì)應(yīng)layout 中的界面文件,其中每個(gè)靜態(tài)內(nèi)部類中的靜態(tài)常量分別定義一條資源標(biāo)識(shí)符,如“ public static final int main=0x7f030000”對(duì)應(yīng)的是layout 目錄下的main.xml 文件。具體的對(duì)應(yīng)關(guān)系如圖所示。 1.4 項(xiàng)目框架分析 1.4.3 gen/目錄下的R.java 文件 1.4 項(xiàng)目框架分析 在已經(jīng)理解了R.java 文件中內(nèi)容的來(lái)源,也就是當(dāng)開發(fā)者在res/目錄的任何一個(gè)子目錄中添加相應(yīng)類型的文件之后,ADT 會(huì)在R.java 文件中相應(yīng)的匿名內(nèi)部類中自動(dòng)生成一條靜態(tài)int類型的常量,對(duì)添加的文件進(jìn)行索引。如果在layout 目錄下再添加一個(gè)新的界面,那么在public static final class layout中也會(huì)添加相應(yīng)的一個(gè)靜態(tài)int常量。相反,當(dāng)我們?cè)賠es 目錄下刪除任何一個(gè)文件,其在R.java中對(duì)應(yīng)的記錄會(huì)被ADT自動(dòng)刪除。再例如,在strings.xml添加一條記錄,那么在R.java的string內(nèi)部類中也會(huì)自動(dòng)增加一條記錄。如果發(fā)現(xiàn)R.java沒有及時(shí)主動(dòng)更新,可以點(diǎn)擊保存按鈕,然后選中R.java文件,單擊右鍵,選擇refresh進(jìn)行刷新,或者刪除R.java文件,并且refresh刷新,由系統(tǒng)自動(dòng)生成一個(gè)更新后的R.java文件。 1.4 項(xiàng)目框架分析 R.java文件會(huì)給開發(fā)程序帶來(lái)很大的方便,比如在程序代碼中使用“public static final int icon=0x7f020000”可以找到對(duì)應(yīng)的icon.png這幅圖片,資源名稱一般與資源文件名相同(不包含擴(kuò)展名)。通過在代碼中使用資源ID可以實(shí)現(xiàn)在程序中引用資源。實(shí)現(xiàn)資源的引用有兩種方式,一種是在代碼中引用資源,通過[R.type.resource_name]方式,其中type代表資源類型,也就是R文件中的內(nèi)部類名稱,resource_name代表資源名稱。第二種方式是在資源文件XML中引用資源,此時(shí)一般使用格式@[package:]type/name。 1.4 項(xiàng)目框架分析 R.java 文件除了有自動(dòng)標(biāo)識(shí)資源的“索引”功能之外,還有另一個(gè)主要的功能,當(dāng)res目錄中的某個(gè)資源在應(yīng)用程序中沒有被使用到,在該應(yīng)用程序被編譯的時(shí)候系統(tǒng)就不會(huì)把對(duì)應(yīng)的資源編譯到這個(gè)應(yīng)用程序的APK 包中,這樣可以節(jié)省Android 手機(jī)的資源。 1.4 項(xiàng)目框架分析 1.4.4 Android Manifest.xml 介紹 在根目錄中的每個(gè)應(yīng)用程序都有一個(gè)功能清單文件AndroidManifest.xml(一定是這個(gè)名字)。這個(gè)清單文件為Android 系統(tǒng)提供了關(guān)于這個(gè)應(yīng)用程序的基本信息,系統(tǒng)在運(yùn)行任何程序代碼之前必須知道這些信息。其中包括了package中暴露的組件(activities、services等等),它們各自的實(shí)現(xiàn)類,以及各種能被處理的數(shù)據(jù)和啟動(dòng)位置。 1.4 項(xiàng)目框架分析 AndroidManifest.xml 主要包含以下功能: 命名應(yīng)用程序的Java應(yīng)用包,這個(gè)包名用來(lái)唯一標(biāo)識(shí)應(yīng)用程序; 描述應(yīng)用程序的組件——活動(dòng)、服務(wù)、廣播接收者、內(nèi)容提供者;對(duì)實(shí)現(xiàn)每個(gè)組件和公布其功能(比如能處理哪些意圖消息)的類進(jìn)行命名。這些聲明使得Android系統(tǒng)了解這些組件以及它們?cè)谑裁礂l件下可以被啟動(dòng); 決定應(yīng)用程序組件運(yùn)行在哪個(gè)進(jìn)程里面; 1.4 項(xiàng)目框架分析 聲明應(yīng)用程序所必須具備的權(quán)限,用以訪問受保護(hù)的部分API,以及和其它應(yīng)用程序交互; 聲明應(yīng)用程序其它的必備權(quán)限,用以組件之間的交互; 列舉測(cè)試設(shè)備Instrumentation類,用來(lái)提供應(yīng)用程序運(yùn)行時(shí)所需的環(huán)境配置及其它信息,這些聲明只在程序開發(fā)和測(cè)試階段存在,發(fā)布前將被刪除; 聲明應(yīng)用程序所要求的Android API的最低版本級(jí)別; 列舉application所需要鏈接的庫(kù); 1.4 項(xiàng)目框架分析 程序中使用的所有組件都會(huì)在功能清單文件中被列出來(lái),所以程序員必須對(duì)此文件非常了解,并能夠進(jìn)行準(zhǔn)確的修改。 AndroidManifest.xml是每個(gè)android程序中必須具備的文件。它位于整個(gè)項(xiàng)目的根目錄,描述了package中暴露的組件(activities, services, 等等),他們各自的實(shí)現(xiàn)類,各種能被處理的數(shù)據(jù)和啟動(dòng)位置。 除了能聲明程序中的Activities、ContentProviders、Services和Intent Receivers以外,還能指定permissions和instrumentation(安全控制和測(cè)試) 下面進(jìn)行對(duì)AndroidManifest.xml文件進(jìn)行具體的分析,manifest是根目錄,屬于第一層。 1.4 項(xiàng)目框架分析 1 5 8 第9行代碼android:icon用來(lái)聲明整個(gè)APP的圖標(biāo),圖片一般都放在drawable文件夾下,使用資源引用的方式。 第10行代碼android:label用來(lái)聲明整個(gè)APP的應(yīng)用程序名稱,字符串一般都放在strings文件中,使用資源引用的方式。 第11行代碼android:theme定義資源的風(fēng)格,它定義了一個(gè)默認(rèn)的主題風(fēng)格給所有的activity,當(dāng)然也可以在自己的theme里面去設(shè)置它,有點(diǎn)類似style。 1.4 項(xiàng)目框架分析 12 15 // 第四層次,聲明此activity的filter特性 16 17 18 // 第四層次聲明結(jié)束 19 // 第三層次Activity的聲明結(jié)束 20 // 第二層次Application的聲明結(jié)束 21 //第一層次聲明結(jié)束 1.4 項(xiàng)目框架分析 第12行到第19行是對(duì)這個(gè)應(yīng)用程序中的一個(gè)Activity的聲明,屬于第三層。由于本應(yīng)用中只有一個(gè)Activity,所以這里只需要聲明一個(gè)Activity,如果有多個(gè)Activity或Service等程序員自己開發(fā)的組件,則必須在這里進(jìn)行添加聲明。 第13行代碼android:name是一個(gè)前面省略了包名的類名,在android:name=".MainActivity"中一定要注意前面有個(gè)點(diǎn),這個(gè)類名也是在src根目錄下,以包命名的文件夾中對(duì)應(yīng)的java文件名,大小寫也要完全對(duì)應(yīng)。 第15行到第18行是對(duì)這個(gè)Activity的過濾器filter的聲明,屬于第四層。Intent filter內(nèi)會(huì)設(shè)定的資料包括action、data與category三種。也就是說filter只會(huì)與intent里的這三種資料作對(duì)比動(dòng)作。 1.4 項(xiàng)目框架分析 首先介紹action屬性:action很簡(jiǎn)單,它只有android:name這個(gè)屬性。常見的android:name值為android.intent.action.MAIN,表明此activity是作為應(yīng)用程序的入口。起到的功能和C語(yǔ)言程序中的main()函數(shù)相同,所以Action:MAIN的這個(gè)屬性能且只能賦給一個(gè)Activity。 其次介紹category屬性:category也只有android:name屬性。常見的android:name值為android.intent.category.LAUNCHER,它用來(lái)決定應(yīng)用程序是否顯示在程序列表里。 最后介紹data屬性:每個(gè)data元素指定一個(gè)URI和數(shù)據(jù)類型(MIME類型)。它有四個(gè)屬性scheme、host、port、path,它們分別對(duì)應(yīng)URI( scheme://host:port/path)的每個(gè)部分,本段代碼中沒有涉及到data屬性。 1.4 項(xiàng)目框架分析 這里需要補(bǔ)充一個(gè)非常重要的權(quán)限許可的問題。Android系統(tǒng)采用不聲明不能使用的原則,如果程序需訪問內(nèi)部的使用通訊錄、Internet、GPS、藍(lán)牙等功能,都必須在manifest文件中進(jìn)行許可聲明,否則程序?qū)⒊鲥e(cuò)。 1.4 項(xiàng)目框架分析 Android的manifest文件中有四個(gè)標(biāo)簽與permission有關(guān),它們分別是 、 、 。其中最常用的是 ,如果需要獲取某個(gè)權(quán)限的時(shí)候,就必須在manifest文件中聲明。 同層次,一般就插入在application標(biāo)簽后面,如 這句代碼表示當(dāng)前的應(yīng)用程序具有從內(nèi)部的通訊錄聯(lián)系人中讀出名字和號(hào)碼的權(quán)限。 1.4 項(xiàng)目框架分析 在AndroidManifest.xml文件中必須注意它所包含的intent-filters,即“意圖過濾器”。應(yīng)用程序的核心組件(活動(dòng)、服務(wù)和廣播接收器)通過意圖被激活,意圖代表的是你要做的一件事情,代表你的目的,Android 尋找一個(gè)合適的組件來(lái)響應(yīng)這個(gè)意圖,如果需要啟動(dòng)這個(gè)組件的一個(gè)新的實(shí)例,并將這個(gè)實(shí)例傳遞給這個(gè)意圖對(duì)象。這時(shí)需要filters描述activity啟動(dòng)的位置和時(shí)間。每當(dāng)一個(gè)activity(或者操作系統(tǒng))要執(zhí)行一個(gè)操作時(shí),例如:打開網(wǎng)頁(yè)或聯(lián)系簿時(shí),它創(chuàng)建出一個(gè)intent的對(duì)象,這個(gè)對(duì)象將承載一些信息用于描述你想做什么,你想處理什么數(shù)據(jù),數(shù)據(jù)的類型以及其它一些信息。Android比較intent對(duì)象和每個(gè)application所暴露的intent-filter中的信息,以找到最合適的activity來(lái)處理調(diào)用者所指定的數(shù)據(jù)和操作。 1.5 Android 四大組件介紹 Android四大基本組件分別是Activity、Service服務(wù)、Content Provider內(nèi)容提供者,BroadcastReceiver廣播接收器,下面分別進(jìn)行介紹。 Activity 應(yīng)用程序中,一個(gè)Activity通常是一個(gè)單獨(dú)的屏幕,它上面可以顯示一些控件,也可以監(jiān)聽并對(duì)用戶的事件做出響應(yīng)。Activity之間通過Intent進(jìn)行通信,在Intent 的描述結(jié)構(gòu)中,有兩個(gè)最重要的部分:動(dòng)作和動(dòng)作對(duì)應(yīng)的數(shù)據(jù)。 典型的動(dòng)作類型有:M AIN(activity的入口)、VIEW、PICK、EDIT 等。而動(dòng)作對(duì)應(yīng)的數(shù)據(jù)則以URI 的形式進(jìn)行表示。例如:要查看一個(gè)人的聯(lián)系方式,你需要?jiǎng)?chuàng)建一個(gè)動(dòng)作類型為VIEW 的Intent,以及一個(gè)表示這個(gè)人的URI。 1.5 Android 四大組件介紹 BroadcastReceive廣播接收器 開發(fā)的應(yīng)用程序可以使用BroadcastReceiver對(duì)外部事件進(jìn)行過濾,使之只對(duì)感興趣的外部事件(如當(dāng)電話呼入時(shí),或者數(shù)據(jù)網(wǎng)絡(luò)可用時(shí))進(jìn)行接收并做出響應(yīng)。廣播接收器沒有用戶界面。但是它們可以啟動(dòng)一個(gè)activity或service 來(lái)響應(yīng)它們收到的信息,或者用NotificationManager 來(lái)通知用戶。通知的方式有很多種──閃動(dòng)背燈、震動(dòng)、播放聲音等,一般來(lái)說可以在狀態(tài)欄上放一個(gè)持久的圖標(biāo),用戶打開它即可獲取消息。 Android系統(tǒng)已經(jīng)提供了很多廣播,系統(tǒng)常見的廣播Intent有開機(jī)啟動(dòng)、電池電量變化、時(shí)間改變、短信、電話到達(dá)通知等廣播,用戶可以根據(jù)需要進(jìn)行接收使用。 1.5 Android 四大組件介紹 Service 服務(wù) 一個(gè)Service 是一段具有長(zhǎng)生命周期,沒有用戶界面的程序。它可以用來(lái)開發(fā)監(jiān)控類程序。 所用一個(gè)媒體播放器的例子來(lái)說明Service的作用,在一個(gè)媒體播放器的應(yīng)用程序中有多個(gè)Activity,它們可以讓使用者選擇歌曲并播放歌曲。然而,音樂播放這個(gè)功能并沒有對(duì)應(yīng)的Activity,因?yàn)槭褂谜哒J(rèn)為在導(dǎo)航到其它屏幕(如看電子書)時(shí),音樂應(yīng)該還在播放,在這個(gè)例子中,此時(shí)系統(tǒng)前臺(tái)是電子書的界面,但媒體播放器會(huì)使用Context.startService()來(lái)啟動(dòng)一個(gè)事先定義好的具有歌曲播放功能的Service,從而可以實(shí)現(xiàn)在后臺(tái)保持音樂的播放。同時(shí),系統(tǒng)也將保持這個(gè)Service 一直執(zhí)行下去,直到這個(gè)Service 運(yùn)行結(jié)束。另外還可以通過使用Context.bindService()方法,連接到一個(gè)Service 上(如果這個(gè)Service 還沒有運(yùn)行,則將它啟動(dòng)),當(dāng)連接到一個(gè)Service 之后,可以用Service 提供的接口與它進(jìn)行通訊。 1.5 Android 四大組件介紹 Content Provider內(nèi)容提供者 Android平臺(tái)提供了Content Provider這個(gè)功能,它可以使一個(gè)應(yīng)用程序的指定數(shù)據(jù)集提供給其他應(yīng)用程序,屬于應(yīng)用程序之間的數(shù)據(jù)交換。這些數(shù)據(jù)可以存儲(chǔ)在文件系統(tǒng)中、SQLite數(shù)據(jù)庫(kù)等位置,其他應(yīng)用程序也可以通過ContentResolver類,從內(nèi)容提供者中獲取或存入相關(guān)數(shù)據(jù),只有在多個(gè)應(yīng)用程序間共享數(shù)據(jù)時(shí),才需要內(nèi)容提供者。例如,通訊錄的數(shù)據(jù)可能需要被多個(gè)應(yīng)用程序所使用,但這些數(shù)據(jù)只存儲(chǔ)在一個(gè)內(nèi)容提供者中,它的優(yōu)點(diǎn)非常明顯,就是統(tǒng)一數(shù)據(jù)訪問方式。 LTB紅軟基地

android播放ppt模板:這是android播放ppt模板,包括了項(xiàng)目團(tuán)隊(duì)成員,項(xiàng)目背景,開發(fā)流程介紹,項(xiàng)目完成情況,項(xiàng)目成果展示等內(nèi)容,歡迎點(diǎn)擊下載。

android開發(fā)培訓(xùn)ppt:這是android開發(fā)培訓(xùn)ppt,包括了Android開發(fā)簡(jiǎn)介,Android開發(fā)環(huán)境搭建,Android程序設(shè)計(jì)基礎(chǔ),Android用戶界面開發(fā)等內(nèi)容,歡迎點(diǎn)擊下載。

android課件ppt:這是android課件ppt,包括了什么是Android,Android的歷史以及其發(fā)展趨勢(shì),為什么Android能這么火等內(nèi)容,歡迎點(diǎn)擊下載。

PPT分類Classification

Copyright:2009-2024 紅軟網(wǎng) rsdown.cn 聯(lián)系郵箱:rsdown@163.com

湘ICP備2024053236號(hào)-1