Android應(yīng)用程序的構(gòu)成.ppt
《Android應(yīng)用程序的構(gòu)成.ppt》由會員分享,可在線閱讀,更多相關(guān)《Android應(yīng)用程序的構(gòu)成.ppt(30頁珍藏版)》請在裝配圖網(wǎng)上搜索。
Android應(yīng)用程序的構(gòu)成,趙宏,2,第2章Android應(yīng)用程序的構(gòu)成,本課要點:Android工程目錄分析資源的管理與使用Android基本組件重點與難點:Android基本組件,3,第2章Android應(yīng)用程序的構(gòu)成,教學(xué)目標(biāo):了解android應(yīng)用程序的基本框架了解android各個組件的運行機制,4,第2章Android應(yīng)用程序的構(gòu)成,Android應(yīng)用程序的重要組成部分,包括活動(Activity)、廣播接收器(BroadcastReceiver)、服務(wù)(Service)、內(nèi)容提供者(ContentProvider)。一個Android應(yīng)用必定包含至少一個Activity,其他的3個組成部分為可選部分。,5,1.Android工程目錄分析,6,2.Android資源文件,Android資源文件主要包含字體、顏色、尺寸、圖片、主題樣式、菜單等等。,7,2.Android資源文件,res目錄是資源目錄,有三個子目錄用來保存Android程序所有資源drawable目錄用來保存圖像文件layout目錄用來保存與用戶界面相關(guān)的布局文件valuse目錄保存文件顏色、風(fēng)格、主題和字符串等在HelloAndroid工程中,ADT在drawable目錄中自動引入了icon.png文件,作為HelloAndroid程序的圖標(biāo)文件;在layout目錄生成了mail.xml文件,用于描述用戶界面,8,2.Android資源文件,Android圖片資源,Android中對圖片資源的存儲使用了分離的管理方式。圖片資源的存儲位于工程目錄下的res-drawable文件夾下,同時按照不同的顯示分辨率進(jìn)行區(qū)分。,9,2.Android資源文件,Android中的常量資源使用String.xml的形式進(jìn)行保存,該文件位于工程目錄下res-values文件夾中。這種設(shè)計方便項目中的常量數(shù)據(jù)的維護(hù)、修改和Android國家化的使用。在res-values目錄下還能夠創(chuàng)建colors.xml、arrays.xml、styles.xml等文件。,Android常量資源-String.xml,10,2.Android資源文件,11,2.Android資源文件,Android布局文件是對界面組件進(jìn)行設(shè)計,并最終加載顯示在手機屏幕中,整個界面中的布局設(shè)計都可以通過布局文件進(jìn)行實現(xiàn)。該文件位于工程目錄下res-layout文件夾下,布局文件中包括多種不同的布局方式,將在后期的專題中進(jìn)行介紹。,Android布局文件,12,2.Android資源文件,13,2.Android資源文件,Android會為每一種資源在R類中生成一個唯一的ID,這個ID是int類型的值。在一般情況下,開發(fā)人員并不需要管這個類,更不需要修改這個類,只需要直接使用R類中的ID即可。為了更好地理解使用資源的過程,先看一下一個例子中生成的R類的源代碼。,資源的基本使用方法,14,2.Android資源文件,15,2.Android資源文件,從R類中很容易看出,ADT為res目錄中每一個子目錄或標(biāo)簽(例如,標(biāo)簽)都生成了一個靜態(tài)的子類,不僅如此,還為XML布局文件中的每一個指定id屬性的組件生成了唯一的ID,并封裝在id子類中。這就意味著在Android應(yīng)用程序中可以通過ID使用這些組件。R類雖然也屬于com.cstp.android包,但在Eclipse工程中為了將R類與其他的Java類區(qū)分開,將R類放在gen目錄中。,16,2.Android資源文件,既可以在程序中引用資源,也可以在XML文件中引用資源。例如,在應(yīng)用程序中獲得btnShowDate按鈕對象的代碼如下:ButtonbtnShowDate=(Button)findViewById(R.id.btnShowDate);可以看到,在使用資源時直接引用了R.id.btnShowDate這個ID值,當(dāng)然,直接使用0 x7f050000也可以,不過為了使程序更容易維護(hù),一般會直接使用在R的內(nèi)嵌類中定義的變量名。,17,2.Android資源文件,AndroidSDK中的很多方法都支持直接使用ID值來引用資源。例如,android.app.Activity類的setTitle方法除了支持以字符串方式設(shè)置Activity的標(biāo)題外,還支持以字符串資源ID的方式設(shè)置Activity的標(biāo)簽。例如,下面的代碼使用字符串資源重新設(shè)置了Activity的標(biāo)題。setTitle(R.string.hello);,18,2.Android資源文件,除了可以使用Java代碼來訪問資源外,在XML文件中也可以使用這些資源。例如,引用圖像資源可以使用如下格式:@drawable/icon其中icon就是res\drawable目錄中的一個圖像文件的文件名。這個圖像文件可以是任何Android支持的圖像類型,例如,gif、jpg等。因此,在drawable目錄中不能存在同名的圖像文件,例如,icon.gif和icon.jpg不能同時放在drawable目錄中,這是因為在生成資源ID時并沒有考慮文件的擴展名,所以會在同一個類中生成兩個同名的變量,從而造成Java編譯器無法成功編譯R.java文件。,19,2.Android資源文件,,20,3.權(quán)限控制,AndroidManifest.xml文件的結(jié)構(gòu),每一個Android應(yīng)用程序必須有一個AndroidManifest.xml文件(不能改成其他的文件名),而且該文件必須在應(yīng)用程序的根目錄中。在這個文件中定義了應(yīng)用程序的基本信息,在運行Android應(yīng)用程序之前必須設(shè)置這些信息。下面是AndroidManifest.xml文件在Android應(yīng)用程序中所起的作用。,21,3.權(quán)限控制,在默認(rèn)情況下,Android系統(tǒng)會限制使用某些API,因此,需要在AndroidManifest.xml文件中為這些API授權(quán)后才可以使用它們。可以為授權(quán)應(yīng)用程序與其他的應(yīng)用程序進(jìn)行交互??梢栽贏ndroidManifest.xml文件中配置一些特殊的類,這些類可以在應(yīng)用程序運行時提供調(diào)試及其他的信息。但這些類只在開發(fā)和測試時使用,當(dāng)應(yīng)用程序發(fā)布時這些配置將被刪除。,22,3.權(quán)限控制,AndroidManifest.xml,23,3.權(quán)限控制,24,4.Android組件,在開發(fā)應(yīng)用時都是通過框架來和Android底層進(jìn)行交互,接觸較多的就是應(yīng)用框架。在AndroidSDK中內(nèi)置了一些對象,其中最重要的一些組件:ActivityServiceBroadcastreceiverContentProvider,25,4.Android組件,什么是Activity?,Android應(yīng)用程序中最令人振奮的特性是可以利用其他Android應(yīng)用程序中的資源(當(dāng)然,需要這些應(yīng)用程序進(jìn)行授權(quán))。例如,如果應(yīng)用程序恰好需要一個顯示圖像列表的功能,而另一個應(yīng)用程序正好有這個功能,只需要調(diào)用這個應(yīng)用程序中的圖像列表功能即可。在這一點,比iphone的應(yīng)用要靈活很多。在Android程序中沒有入口點(即Main函數(shù)),取而代之的是一系列的組件,這些組件都可以單獨實例化。本節(jié)課將介紹Android支持的4種組件的基本概念。應(yīng)用程序向外共享功能一般也是通過這4種應(yīng)用程序組件實現(xiàn)的。,26,4.Android組件,活動(Activity)組件,Activity是Android的核心類,該類的全名是android.app.Activity。Activity相當(dāng)于C/S程序中的窗體(Form)或Web程序的頁面。每一個Activity提供了一個可視化的區(qū)域。在這個區(qū)域可以放置各種Android組件,例如,按鈕、圖像、文本框等。在Activity類中有一個onCreate事件方法,一般在該方法中對Activity進(jìn)行初始化。通過setContentView方法可以設(shè)置在Activity上顯示的視圖組件,setContentView方法的參數(shù)一般為XML布局文件的資源ID。,27,4.Android組件,一個帶界面的Android應(yīng)用程序可以由一個或多個Activity組成。至于這些Activity如何工作,或者它們之間有什么依賴關(guān)系,則完全取決于應(yīng)用程序的業(yè)務(wù)邏輯。例如,一種典型的設(shè)計方案是使用一個Activity作為主Activity(相當(dāng)于主窗體,程序啟動時會首先啟動這個Activity)。在這個Activity中通過菜單、按鈕等方式啟動其他的Activity。在Android自帶的程序中有很多都是這種類型的。每一個Activity都會有一個窗口,在默認(rèn)情況下,這個窗口是充滿整個屏幕的,也可以將窗口變得比手機屏幕小,或者懸浮在其他的窗口上面。Activity窗口中的可視化組件由View及其子類組成,這些組件按著XML布局文件中指定的位置在窗口上進(jìn)行擺放。,28,4.Android組件,服務(wù)(Service)組件,服務(wù)沒有可視化接口,但可以在后臺運行。例如,當(dāng)用戶進(jìn)行其他操作時,可以利用服務(wù)在后臺播放音樂,或者當(dāng)來電時,可以利用服務(wù)同時進(jìn)行其他操作,甚至阻止接聽指定的電話。每一個服務(wù)是一個android.app.Service的子類。除此之外,其他的程序還可以與服務(wù)進(jìn)行通信。當(dāng)與服務(wù)連接成功后,就可以利用服務(wù)中共享出來的接口與服務(wù)進(jìn)行通信了。例如,控制音樂播放的服務(wù)允許用戶暫停、重放、停止音樂的播放。,29,4.Android組件,廣播接收者組件(Broadcastreceiver),廣播接收者組件的唯一功能就是接收廣播消息,以及對廣播消息做出響應(yīng)。有很多時候,廣播消息是由系統(tǒng)發(fā)出的,例如,時區(qū)的變化、電池的電量不足、收到短信等。除此之外,應(yīng)用程序還可以發(fā)送廣播消息,例如,通知其他的程序數(shù)據(jù)已經(jīng)下載完畢,并且這些數(shù)據(jù)已經(jīng)可以使用了。一個應(yīng)用程序可以有多個廣播接收者,所有的廣播接收者類都需要繼承android.content.Broadcast-Receiver類。廣播接收者與服務(wù)一樣,都沒有用戶接口,但在廣播接收者中可以啟動一個Activity來響應(yīng)廣播消息,例如,通過顯示一個Activity對用戶進(jìn)行提醒。當(dāng)然,也可以采用其他的方法或幾種方法的組合來提醒用戶,例如,閃屏、震動、響鈴、播放音樂等。,30,4.Android組件,內(nèi)容提供者組件(Contentprovider),內(nèi)容提供者可以為其他應(yīng)用程序提供數(shù)據(jù)。這些數(shù)據(jù)可以保存在文件系統(tǒng)中,例如,SQLite數(shù)據(jù)庫或任何其他格式的文件。每一個內(nèi)容提供者是一個類,這些類都需要從android.content.ContentProvider類繼承。在ContentProvider類中定義了一系列的方法,通過這些方法可以使其他的應(yīng)用程序獲得和存儲內(nèi)容提供者所支持的數(shù)據(jù)。但在應(yīng)用程序中不能直接調(diào)用這些方法,而需要通過android.content.ContentResolver類的方法來調(diào)用內(nèi)容提供者類中提供的方法。,- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- Android 應(yīng)用程序 構(gòu)成
鏈接地址:http://m.zhongcaozhi.com.cn/p-3386155.html