freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于android的智能手機(jī)開發(fā)畢業(yè)設(shè)計(jì)(已改無(wú)錯(cuò)字)

2023-02-18 14:09:23 本頁(yè)面
  

【正文】 a語(yǔ)言。應(yīng)用程序框架是能夠讓開發(fā)者完全訪問(wèn)核心應(yīng)用程序所使用的API(Application Programming Interface,應(yīng)用程序編程接口),該框架能夠讓組件軟件重用的工做簡(jiǎn)單化。同時(shí)該框架中的任何一個(gè)功能模塊都是等價(jià)的,任何一個(gè)應(yīng)用程序都可以發(fā)布其功能模塊,該功能模塊可以替代當(dāng)前的任意一個(gè)功能模塊,但前提是必須遵循框架的安全限制[4],另外,其他的任意應(yīng)用程序能夠使用這個(gè)發(fā)布的功能模塊。這樣的設(shè)計(jì)就使Android的構(gòu)件重用率提高了。 在每一個(gè)應(yīng)用程序背后,應(yīng)用程序框架為其提供了一系列的服務(wù)。這些服務(wù)包括:①一個(gè)豐富并且可擴(kuò)展的視圖,通過(guò)這個(gè)視圖我們可以使用它提供的一些包括按鈕、文本框、列表、網(wǎng)格等甚至可嵌入的web瀏覽器的應(yīng)用程序來(lái)構(gòu)造我們的應(yīng)用程序。②內(nèi)容提供器(content providers),有了內(nèi)容提供器,一個(gè)應(yīng)用程序可以共享它自己的數(shù)據(jù)或者訪問(wèn)另外一個(gè)應(yīng)用程序中共享的數(shù)據(jù)。③資源管理器(resource manager),使用資源管理器,我們?cè)趹?yīng)用程序中能夠訪問(wèn)到一些如圖形、布局文件等一些非代碼資源。④通知管理器(notification manager),給程序員提供了一個(gè)可以在程序狀態(tài)欄中顯示自定義提示信息的管理器。⑤活動(dòng)管理器(activity manager),提供常用導(dǎo)航功能用來(lái)管理應(yīng)用程序生命周期的服務(wù)。通過(guò)這些應(yīng)用程序框架層提供的服務(wù)程序員能夠方便的開發(fā)一個(gè)界面優(yōu)秀功能強(qiáng)大易于共享的的應(yīng)用程序。 應(yīng)用程序?qū)?回到Android系統(tǒng)構(gòu)架圖中,應(yīng)用程序?qū)影巳缑芾?、Google maps、瀏覽器等本地應(yīng)用程序(native apps),如、MSN、QuickOffice等第三方應(yīng)用程序(third part apps),以及developer apps。同樣,該層的應(yīng)用程序也都使用Java語(yǔ)言進(jìn)行開發(fā)的。 Android的應(yīng)用 Android應(yīng)用的組成 任何一個(gè)Android應(yīng)用程序,都可由四個(gè)部分組成,這四個(gè)組成部分分別是①Activity;②Intent Receiver;③Service;④Content Provider[5]。對(duì)于一個(gè)應(yīng)用程序來(lái)說(shuō),不一定這四個(gè)部分都需要。其中,Activity、Intent Receiver和Service是Android最基本的三個(gè)組件。其實(shí),這四個(gè)部分全部或者其中幾個(gè)的相互協(xié)調(diào)工作組成了我們平時(shí)見(jiàn)到的應(yīng)用程序。 在Android中每個(gè)應(yīng)用程序都需要一個(gè)XML配置文件AndroidManifest.xml,該配置文件用于定義我們的應(yīng)用程序組件和組件的功能以及一些必要條件等。因此當(dāng)我們使用到任何一個(gè)組件時(shí)都需要在這個(gè)配置文件中進(jìn)行登記,否則就算是你在代碼中使用了這個(gè)組件,但是Android系統(tǒng)也是找不到該組件的。 Activity Activity是Android中最最基本的組件,實(shí)際應(yīng)用中,通常就是一個(gè)單獨(dú)的屏[6],也就是一個(gè)運(yùn)行在前臺(tái)程序在某一時(shí)刻在屏幕中所能展示的全部?jī)?nèi)容就是一個(gè)Activity。每一個(gè)Activity都是繼承于Activity基類的一個(gè)子類,并且該Activity類由幾個(gè)之前說(shuō)過(guò)的應(yīng)用程序框架提供的視圖組成用戶接口,實(shí)現(xiàn)對(duì)事件的響應(yīng)。絕大部分的應(yīng)用都會(huì)包含多個(gè)屏幕,例如名片管理的應(yīng)用,一個(gè)屏用于顯示所有的聯(lián)系人,另一個(gè)屏用于顯示其中某個(gè)聯(lián)系人的詳細(xì)信息,可能還會(huì)有用于分組信息或者用于系統(tǒng)設(shè)定的屏。對(duì)于這些,每一個(gè)屏都是一個(gè)Activity。當(dāng)一個(gè)新的Activity執(zhí)行以后,前一個(gè)Activity將暫停,并保存到系統(tǒng)歷史堆棧當(dāng)中,用戶可以返回到歷史堆棧中的上一個(gè)Activity。當(dāng)該Activity不用時(shí)可以從歷史堆棧中刪除。 Intent ReceiverIntent Receiver有的地方也叫做Broadcast Receiver。當(dāng)你希望你的應(yīng)用能夠捕獲一個(gè)外部事件并作出響應(yīng)時(shí),比如手機(jī)快沒(méi)電了,收到一條新的短信息等。這時(shí)你就可以使用一個(gè)Intent Receiver。因?yàn)镮ntent Receiver只是在一個(gè)你所關(guān)注的事件發(fā)生時(shí),會(huì)給那些關(guān)注該事件的應(yīng)用程序發(fā)送一個(gè)通知,所以它并不會(huì)生成一個(gè)UI。同樣的Intent 。當(dāng)一個(gè)你所關(guān)注的時(shí)間發(fā)生時(shí),我們的應(yīng)用不需要主動(dòng)去調(diào)用intent receiver,系統(tǒng)會(huì)在一個(gè)合適的時(shí)候去調(diào)用我們的程序的。 ServiceService是一段長(zhǎng)生命周期的,沒(méi)有用戶界面的程序。我們舉一個(gè)播放器的例子,來(lái)說(shuō)明Service程序。當(dāng)一個(gè)播放器在前臺(tái)運(yùn)行時(shí)我們會(huì)看到應(yīng)用程序提供的一個(gè)屏,也就是之前說(shuō)的Activity,這個(gè)Activity提供給用戶一些操作播放器如播放、停止、下一曲等操作以及顯示一些歌曲和播放列表信息的功能。但是當(dāng)播放器被切換到后臺(tái)以后,所有的Activity都放到歷史堆棧中了,而這時(shí)播放器任然繼續(xù)進(jìn)行播放,而當(dāng)一首歌曲播放完了以后,還會(huì)根據(jù)播放列表中的信息播放下一首歌曲。完成這些功能的組件就是Service。()方法啟動(dòng)一個(gè)Service后,這個(gè)播放器就能夠在后臺(tái)持續(xù)的播放音樂(lè)了。還有,對(duì)于一個(gè)Service組件,()連接到Service上,就能通過(guò)該Service提供的接口與之進(jìn)行通信。 Content ProviderContent Provider提供給你的應(yīng)用程序與其他應(yīng)用程序共享數(shù)據(jù)的一個(gè)功能。我們的應(yīng)用程序可以通過(guò)Content Provider提供的一些方法來(lái)處理或者保存其他應(yīng)用程序Content Provider中的數(shù)據(jù),這樣來(lái)達(dá)到數(shù)據(jù)的共享。 之前提到過(guò),它對(duì)應(yīng)了應(yīng)用程序的說(shuō)明,包括運(yùn)行權(quán)限,組件的注冊(cè)等。 ,但是VS的可視化的界面的緣故,只需進(jìn)行簡(jiǎn)單的設(shè)置,就能自動(dòng)生成該文件,所以不少的VS程序員會(huì)忽略掉該文件的存在。但是在Android應(yīng)用程序開發(fā)中,該文件是不可缺少的。,讓系統(tǒng)知道該應(yīng)用程序應(yīng)該如何配置。 Android應(yīng)用ActivityIntent ReceiverServiceContent Provider圖23 :01 ?xml version= encoding=utf8? 02manifest xmlns:android= 03 package=test. hello 04 android: versionCode=1 05 android: versionName= 06application android: icon=@drawable/icon 07activity android:name=.HelloAndroidandroid:label= @string/app_name 08 intentfilter 09 action android: name= / 10 category android: name= / 11 /intentfilter 12 /activity 13 /application 14 /manifest ,從這個(gè)配置文件中我們能夠知道,該應(yīng)用僅包含了一個(gè)Activity。下面將對(duì)這個(gè)配置文件做一個(gè)詳細(xì)的描述。 第1行是一般xml文件都有的頭部信息說(shuō)明,其中包括xml的版本和文件編碼方式。 第2行和第14行則是一對(duì)“manifest”標(biāo)簽,每一個(gè)AndroidManifest配置文件中必須有且只有一對(duì)“manifest”標(biāo)簽,所有AndroidManifest中的描述都應(yīng)該包含在這對(duì)標(biāo)簽中。 第3~5行是“manifest”標(biāo)簽的屬性,這個(gè)例子中的 。而“android:versionCode”和“android:versionName”兩個(gè)可選的屬性則是說(shuō)明應(yīng)用程序的版本號(hào),其中“android:versionName”是面向用戶的版本號(hào),而“android:versionCode”則是開發(fā)者使用的內(nèi)部版本號(hào)。 第6行和第13行是一對(duì)“application”標(biāo)簽,該標(biāo)簽中定義了所有應(yīng)用程序所使用的Activity、Intent Receiver、Service等。該標(biāo)簽的“android: icon”屬性定義了應(yīng)用程序顯示在Android主界面中的圖標(biāo)而@drawable/icon表示該應(yīng)用程序圖標(biāo)的路徑為/res/drawable/icon。 第7行和第12行是一對(duì)“activity”標(biāo)簽?!癮ctivity”標(biāo)簽,不然的話即使你定義了,但是Android應(yīng)用程序也找不到。在上面給出的例子中,僅僅有一組“activity”標(biāo)簽,這也說(shuō)明了給出的例子的應(yīng)用程序只有一個(gè)Activity。緊接其后的是“activity”標(biāo)簽的屬性,“android: name”屬性表示了Activity所對(duì)應(yīng)的類,上述例子中的類是HelloAndroid類,結(jié)合package的路徑。另外,在屬性中“android: name”的值可以直接寫為“HelloAndroid”?!癮ndroid:label”則指定了該Activity代號(hào)。 剩下的8~11行是一對(duì)定義了Activity性質(zhì)的“intentfilter”標(biāo)簽以及“intentfilter”包含的
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1