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

正文內(nèi)容

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

2025-02-14 16:06 本頁面
 

【文章內(nèi)容簡介】 種進(jìn)程時使用了一個系統(tǒng)值作為系統(tǒng)對進(jìn)程的一個評估,當(dāng)要結(jié)束一個進(jìn)程時該值的數(shù)值越大的進(jìn)程被系統(tǒng)選中并結(jié)束的概率越大。一般的,前臺進(jìn)程的值為0,這表明前臺進(jìn)程不可能被系統(tǒng)選中并結(jié)束。當(dāng)進(jìn)程進(jìn)入后臺以后,系統(tǒng)將會分配一個更高的值給該進(jìn)程。相對于Linux的最近最早未使用的調(diào)度策略,Android在其基礎(chǔ)上提供了一套獨特的進(jìn)程管理模塊,他能讓程序員使用腳本來對內(nèi)存管理進(jìn)行定制。比如當(dāng)內(nèi)存小于某個值時可以結(jié)束這個系統(tǒng)值大于另外一個值的進(jìn)程,還可以當(dāng)內(nèi)存小某個值時結(jié)束上面六類進(jìn)程中的一類(但順序必須是空進(jìn)程,內(nèi)容供應(yīng)節(jié)點,后臺進(jìn)程,次要服務(wù),可見進(jìn)程,最后才是前臺進(jìn)程)。根據(jù)這種特性 該系統(tǒng)值至少由兩部分組成,一個是基值,另一個根據(jù)LRU(最近最久未使用)調(diào)度算法產(chǎn)生的一個值。對于以上說的六種進(jìn)程應(yīng)該分別有一系統(tǒng)給其賦予的值,其大小順序應(yīng)該是空進(jìn)程大于內(nèi)容供應(yīng)節(jié)點大于后臺進(jìn)程大于次要服務(wù)大于可見進(jìn)程大于前臺進(jìn)程,而這個系統(tǒng)賦予的值則是基值。這樣就能保證一些這六種進(jìn)程總是當(dāng)一種進(jìn)程被結(jié)束完了以后另外一種進(jìn)程才會被結(jié)束,同時只需要根據(jù)這個系統(tǒng)值就能輕易做到對內(nèi)存管理的定制。 應(yīng)用程序框架層 在Android系統(tǒng)構(gòu)架圖中可以看到,應(yīng)用程序框架層是處于Android Runtime和庫函數(shù)層于應(yīng)用程序?qū)又g,之前的敘述中知道,該層使用開發(fā)語言的是Java語言。應(yīng)用程序框架是能夠讓開發(fā)者完全訪問核心應(yīng)用程序所使用的API(Application Programming Interface,應(yīng)用程序編程接口),該框架能夠讓組件軟件重用的工做簡單化。同時該框架中的任何一個功能模塊都是等價的,任何一個應(yīng)用程序都可以發(fā)布其功能模塊,該功能模塊可以替代當(dāng)前的任意一個功能模塊,但前提是必須遵循框架的安全限制[4],另外,其他的任意應(yīng)用程序能夠使用這個發(fā)布的功能模塊。這樣的設(shè)計就使Android的構(gòu)件重用率提高了。 在每一個應(yīng)用程序背后,應(yīng)用程序框架為其提供了一系列的服務(wù)。這些服務(wù)包括:①一個豐富并且可擴(kuò)展的視圖,通過這個視圖我們可以使用它提供的一些包括按鈕、文本框、列表、網(wǎng)格等甚至可嵌入的web瀏覽器的應(yīng)用程序來構(gòu)造我們的應(yīng)用程序。②內(nèi)容提供器(content providers),有了內(nèi)容提供器,一個應(yīng)用程序可以共享它自己的數(shù)據(jù)或者訪問另外一個應(yīng)用程序中共享的數(shù)據(jù)。③資源管理器(resource manager),使用資源管理器,我們在應(yīng)用程序中能夠訪問到一些如圖形、布局文件等一些非代碼資源。④通知管理器(notification manager),給程序員提供了一個可以在程序狀態(tài)欄中顯示自定義提示信息的管理器。⑤活動管理器(activity manager),提供常用導(dǎo)航功能用來管理應(yīng)用程序生命周期的服務(wù)。通過這些應(yīng)用程序框架層提供的服務(wù)程序員能夠方便的開發(fā)一個界面優(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語言進(jìn)行開發(fā)的。 Android的應(yīng)用 Android應(yīng)用的組成 任何一個Android應(yīng)用程序,都可由四個部分組成,這四個組成部分分別是①Activity;②Intent Receiver;③Service;④Content Provider[5]。對于一個應(yīng)用程序來說,不一定這四個部分都需要。其中,Activity、Intent Receiver和Service是Android最基本的三個組件。其實,這四個部分全部或者其中幾個的相互協(xié)調(diào)工作組成了我們平時見到的應(yīng)用程序。 在Android中每個應(yīng)用程序都需要一個XML配置文件AndroidManifest.xml,該配置文件用于定義我們的應(yīng)用程序組件和組件的功能以及一些必要條件等。因此當(dāng)我們使用到任何一個組件時都需要在這個配置文件中進(jìn)行登記,否則就算是你在代碼中使用了這個組件,但是Android系統(tǒng)也是找不到該組件的。 Activity Activity是Android中最最基本的組件,實際應(yīng)用中,通常就是一個單獨的屏[6],也就是一個運行在前臺程序在某一時刻在屏幕中所能展示的全部內(nèi)容就是一個Activity。每一個Activity都是繼承于Activity基類的一個子類,并且該Activity類由幾個之前說過的應(yīng)用程序框架提供的視圖組成用戶接口,實現(xiàn)對事件的響應(yīng)。絕大部分的應(yīng)用都會包含多個屏幕,例如名片管理的應(yīng)用,一個屏用于顯示所有的聯(lián)系人,另一個屏用于顯示其中某個聯(lián)系人的詳細(xì)信息,可能還會有用于分組信息或者用于系統(tǒng)設(shè)定的屏。對于這些,每一個屏都是一個Activity。當(dāng)一個新的Activity執(zhí)行以后,前一個Activity將暫停,并保存到系統(tǒng)歷史堆棧當(dāng)中,用戶可以返回到歷史堆棧中的上一個Activity。當(dāng)該Activity不用時可以從歷史堆棧中刪除。 Intent ReceiverIntent Receiver有的地方也叫做Broadcast Receiver。當(dāng)你希望你的應(yīng)用能夠捕獲一個外部事件并作出響應(yīng)時,比如手機(jī)快沒電了,收到一條新的短信息等。這時你就可以使用一個Intent Receiver。因為Intent Receiver只是在一個你所關(guān)注的事件發(fā)生時,會給那些關(guān)注該事件的應(yīng)用程序發(fā)送一個通知,所以它并不會生成一個UI。同樣的Intent 。當(dāng)一個你所關(guān)注的時間發(fā)生時,我們的應(yīng)用不需要主動去調(diào)用intent receiver,系統(tǒng)會在一個合適的時候去調(diào)用我們的程序的。 ServiceService是一段長生命周期的,沒有用戶界面的程序。我們舉一個播放器的例子,來說明Service程序。當(dāng)一個播放器在前臺運行時我們會看到應(yīng)用程序提供的一個屏,也就是之前說的Activity,這個Activity提供給用戶一些操作播放器如播放、停止、下一曲等操作以及顯示一些歌曲和播放列表信息的功能。但是當(dāng)播放器被切換到后臺以后,所有的Activity都放到歷史堆棧中了,而這時播放器任然繼續(xù)進(jìn)行播放,而當(dāng)一首歌曲播放完了以后,還會根據(jù)播放列表中的信息播放下一首歌曲。完成這些功能的組件就是Service。()方法啟動一個Service后,這個播放器就能夠在后臺持續(xù)的播放音樂了。還有,對于一個Service組件,()連接到Service上,就能通過該Service提供的接口與之進(jìn)行通信。 Content ProviderContent Provider提供給你的應(yīng)用程序與其他應(yīng)用程序共享數(shù)據(jù)的一個功能。我們的應(yīng)用程序可以通過Content Provider提供的一些方法來處理或者保存其他應(yīng)用程序Content Provider中的數(shù)據(jù),這樣來達(dá)到數(shù)據(jù)的共享。 之前提到過,它對應(yīng)了應(yīng)用程序的說明,包括運行權(quán)限,組件的注冊等。 ,但是VS的可視化的界面的緣故,只需進(jìn)行簡單的設(shè)置,就能自動生成該文件,所以不少的VS程序員會忽略掉該文件的存在。但是在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 ,從這個配置文件中我們能夠知道,該應(yīng)用僅包含了一個Activity。下面將對這個配置文件做一個詳細(xì)的描述。 第1行是一般xml文件都有的頭部信息說明,其中包括xml的版本和文件編碼方式。 第2行和第14行則是一對“manifest”標(biāo)簽,每一個AndroidManifest配置文件中必須有且只有一對“manifest”標(biāo)簽,所有AndroidManifest中的描述都應(yīng)該包含在這對標(biāo)簽中。 第3~5行是“manifest”標(biāo)簽的屬性,這個例子中的 。而“android:versionCode”和“android:versionName”兩個可選的屬性則是說明應(yīng)用程序的版本號,其中“android:versionName”是面向用戶的版本號,而“android:versionCode”則是開發(fā)者使用的內(nèi)部版本號。 第6行和第13行是一對“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行是一對“activity”標(biāo)簽?!癮ctivity”標(biāo)簽,不然的話即使你定義了,但是Android應(yīng)用程序也找不到。在上面給出的例子中,僅僅有一組“activity”標(biāo)簽,這也說明了給出的例子的應(yīng)用程序只有一個Activity。緊接其后的是“activity”標(biāo)簽的屬性,“android: name”屬性表示了Activity所對應(yīng)的類,上述例子中的類是HelloAndroid類,結(jié)合package的路徑。另外,在屬性中“android: name”的值可以直接寫為“HelloAndroid”。“android:label”則指定了該Activity代號。 剩下的8~11行是一對定義了Activity性質(zhì)的“intentfilter”標(biāo)簽以及“intentfilter”包含的另外兩個標(biāo)簽“action”和“category”標(biāo)簽之所以這幾個標(biāo)簽一同說是因為“intentfilter”標(biāo)簽的性質(zhì)是由“action”和“category”標(biāo)簽來說明的。也就是說AndroidManifest中上層的標(biāo)簽的性質(zhì)由下層標(biāo)簽來描述。應(yīng)用程序的組件為了告訴Android該組件能夠相應(yīng)和處理那些Intent請求可以使用一個或者多個的“intentfilter”的標(biāo)簽,同時一個“intentfilter”標(biāo)簽至少應(yīng)該包含一個“action”標(biāo)簽。我們再回到例子的這四行代碼中,“action”標(biāo)簽中的“android:name”,表明該Activity是這個應(yīng)用程序的進(jìn)入點,另外,“category”標(biāo)簽中的“android:name”,應(yīng)當(dāng)先執(zhí)行這個Activity?!皉eceiver”,“service”和“provider”標(biāo)簽,分別對應(yīng)了剩下的Intent Receiver、Service和Content Provider三個應(yīng)用的組成部分。同樣,每個Intent Receiver和Service以及Content 。 Android 文件系統(tǒng)當(dāng)Android系統(tǒng)部署到相應(yīng)的硬件平臺上以后,和Linux系統(tǒng)一樣,勢必有一個系統(tǒng)文件夾,用來存放一些系統(tǒng)程序和數(shù)據(jù)以及一些用戶數(shù)據(jù)。下面就將介紹一下Android的系統(tǒng)文件夾 系統(tǒng)文件夾分析①\system\app:這里存放的程序為系統(tǒng)默認(rèn)的組件自己安裝的引用程序一般不放在該文件夾下。同時可以看到,該文件夾下的文件都是APK格式的文件。②\system\bin:該目錄下都是系統(tǒng)的本地程序,主要為Linux系統(tǒng)自帶的組件。而從文件夾名字可以看出都是二進(jìn)制代碼程序。這個文件夾和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)架平臺。⑥\system\lib:用于存放系統(tǒng)底層庫。⑦\system\media:存放鈴聲的文件夾⑧\system\sounds:用于存放音樂文件。⑨\system\usr:用戶文件夾,如同Linux中的usr文件夾一樣,存放一些用戶信息,包含鍵盤布局,用戶命令,共享和時間區(qū)域信息文件。
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1