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

正文內(nèi)容

基于android的智能手機(jī)開發(fā)(編輯修改稿)

2025-02-14 16:06 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 種進(jìn)程時(shí)使用了一個(gè)系統(tǒng)值作為系統(tǒng)對(duì)進(jìn)程的一個(gè)評(píng)估,當(dāng)要結(jié)束一個(gè)進(jìn)程時(shí)該值的數(shù)值越大的進(jìn)程被系統(tǒng)選中并結(jié)束的概率越大。一般的,前臺(tái)進(jìn)程的值為0,這表明前臺(tái)進(jìn)程不可能被系統(tǒng)選中并結(jié)束。當(dāng)進(jìn)程進(jìn)入后臺(tái)以后,系統(tǒng)將會(huì)分配一個(gè)更高的值給該進(jìn)程。相對(duì)于Linux的最近最早未使用的調(diào)度策略,Android在其基礎(chǔ)上提供了一套獨(dú)特的進(jìn)程管理模塊,他能讓程序員使用腳本來對(duì)內(nèi)存管理進(jìn)行定制。比如當(dāng)內(nèi)存小于某個(gè)值時(shí)可以結(jié)束這個(gè)系統(tǒng)值大于另外一個(gè)值的進(jìn)程,還可以當(dāng)內(nèi)存小某個(gè)值時(shí)結(jié)束上面六類進(jìn)程中的一類(但順序必須是空進(jìn)程,內(nèi)容供應(yīng)節(jié)點(diǎn),后臺(tái)進(jìn)程,次要服務(wù),可見進(jìn)程,最后才是前臺(tái)進(jìn)程)。根據(jù)這種特性 該系統(tǒng)值至少由兩部分組成,一個(gè)是基值,另一個(gè)根據(jù)LRU(最近最久未使用)調(diào)度算法產(chǎn)生的一個(gè)值。對(duì)于以上說的六種進(jìn)程應(yīng)該分別有一系統(tǒng)給其賦予的值,其大小順序應(yīng)該是空進(jìn)程大于內(nèi)容供應(yīng)節(jié)點(diǎn)大于后臺(tái)進(jìn)程大于次要服務(wù)大于可見進(jìn)程大于前臺(tái)進(jìn)程,而這個(gè)系統(tǒng)賦予的值則是基值。這樣就能保證一些這六種進(jìn)程總是當(dāng)一種進(jìn)程被結(jié)束完了以后另外一種進(jìn)程才會(huì)被結(jié)束,同時(shí)只需要根據(jù)這個(gè)系統(tǒng)值就能輕易做到對(duì)內(nèi)存管理的定制。 應(yīng)用程序框架層 在Android系統(tǒng)構(gòu)架圖中可以看到,應(yīng)用程序框架層是處于Android Runtime和庫(kù)函數(shù)層于應(yīng)用程序?qū)又g,之前的敘述中知道,該層使用開發(fā)語(yǔ)言的是Java語(yǔ)言。應(yīng)用程序框架是能夠讓開發(fā)者完全訪問核心應(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ò)展的視圖,通過這個(gè)視圖我們可以使用它提供的一些包括按鈕、文本框、列表、網(wǎng)格等甚至可嵌入的web瀏覽器的應(yīng)用程序來構(gòu)造我們的應(yīng)用程序。②內(nèi)容提供器(content providers),有了內(nèi)容提供器,一個(gè)應(yīng)用程序可以共享它自己的數(shù)據(jù)或者訪問另外一個(gè)應(yīng)用程序中共享的數(shù)據(jù)。③資源管理器(resource manager),使用資源管理器,我們?cè)趹?yīng)用程序中能夠訪問到一些如圖形、布局文件等一些非代碼資源。④通知管理器(notification manager),給程序員提供了一個(gè)可以在程序狀態(tài)欄中顯示自定義提示信息的管理器。⑤活動(dòng)管理器(activity manager),提供常用導(dǎo)航功能用來管理應(yīng)用程序生命周期的服務(wù)。通過這些應(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)用程序來說,不一定這四個(gè)部分都需要。其中,Activity、Intent Receiver和Service是Android最基本的三個(gè)組件。其實(shí),這四個(gè)部分全部或者其中幾個(gè)的相互協(xié)調(diào)工作組成了我們平時(shí)見到的應(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è)之前說過的應(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ī)快沒電了,收到一條新的短信息等。這時(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)生命周期的,沒有用戶界面的程序。我們舉一個(gè)播放器的例子,來說明Service程序。當(dāng)一個(gè)播放器在前臺(tái)運(yùn)行時(shí)我們會(huì)看到應(yīng)用程序提供的一個(gè)屏,也就是之前說的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ù)的播放音樂了。還有,對(duì)于一個(gè)Service組件,()連接到Service上,就能通過該Service提供的接口與之進(jìn)行通信。 Content ProviderContent Provider提供給你的應(yīng)用程序與其他應(yīng)用程序共享數(shù)據(jù)的一個(gè)功能。我們的應(yīng)用程序可以通過Content Provider提供的一些方法來處理或者保存其他應(yīng)用程序Content Provider中的數(shù)據(jù),這樣來達(dá)到數(shù)據(jù)的共享。 之前提到過,它對(duì)應(yīng)了應(yīng)用程序的說明,包括運(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文件都有的頭部信息說明,其中包括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è)可選的屬性則是說明應(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)簽,這也說明了給出的例子的應(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”包含的另外兩個(gè)標(biāo)簽“action”和“category”標(biāo)簽之所以這幾個(gè)標(biāo)簽一同說是因?yàn)椤癷ntentfilter”標(biāo)簽的性質(zhì)是由“action”和“category”標(biāo)簽來說明的。也就是說AndroidManifest中上層的標(biāo)簽的性質(zhì)由下層標(biāo)簽來描述。應(yīng)用程序的組件為了告訴Android該組件能夠相應(yīng)和處理那些Intent請(qǐng)求可以使用一個(gè)或者多個(gè)的“intentfilter”的標(biāo)簽,同時(shí)一個(gè)“intentfilter”標(biāo)簽至少應(yīng)該包含一個(gè)“action”標(biāo)簽。我們?cè)倩氐嚼拥倪@四行代碼中,“action”標(biāo)簽中的“android:name”,表明該Activity是這個(gè)應(yīng)用程序的進(jìn)入點(diǎn),另外,“category”標(biāo)簽中的“android:name”,應(yīng)當(dāng)先執(zhí)行這個(gè)Activity。“receiver”,“service”和“provider”標(biāo)簽,分別對(duì)應(yīng)了剩下的Intent Receiver、Service和Content Provider三個(gè)應(yīng)用的組成部分。同樣,每個(gè)Intent Receiver和Service以及Content 。 Android 文件系統(tǒng)當(dāng)Android系統(tǒng)部署到相應(yīng)的硬件平臺(tái)上以后,和Linux系統(tǒng)一樣,勢(shì)必有一個(gè)系統(tǒng)文件夾,用來存放一些系統(tǒng)程序和數(shù)據(jù)以及一些用戶數(shù)據(jù)。下面就將介紹一下Android的系統(tǒng)文件夾 系統(tǒng)文件夾分析①\system\app:這里存放的程序?yàn)橄到y(tǒng)默認(rèn)的組件自己安裝的引用程序一般不放在該文件夾下。同時(shí)可以看到,該文件夾下的文件都是APK格式的文件。②\system\bin:該目錄下都是系統(tǒng)的本地程序,主要為L(zhǎng)inux系統(tǒng)自帶的組件。而從文件夾名字可以看出都是二進(jìn)制代碼程序。這個(gè)文件夾和Linux系統(tǒng)下的\system\bin文件夾沒多大區(qū)別。③\system\etc:與Linux系統(tǒng)下的\system\etc文件夾沒有本質(zhì)的區(qū)別,都用于保存系統(tǒng)的配置文件。④\system\fonts:從名字上可以看出用于存放字體的文件夾。⑤\system\framework:主要存放核心文件,其文件后綴名為jar,可以看出為系統(tǒng)構(gòu)架平臺(tái)。⑥\system\lib:用于存放系統(tǒng)底層庫(kù)。⑦\(yùn)system\media:存放鈴聲的文件夾⑧\system\sounds:用于存放音樂文件。⑨\system\usr:用戶文件夾,如同Linux中的usr文件夾一樣,存放一些用戶信息,包含鍵盤布局,用戶命令,共享和時(shí)間區(qū)域信息文件。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1