www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀] 在初見 Intent一章中,我們已嘗試過使用 「startActivity」函式,傳入適當(dāng)?shù)摹窱ntent」,來呼叫瀏覽器的 Activity。到目前為止,我們可以由學(xué)習(xí) Android 應(yīng)用程式的經(jīng)驗中

 在初見 Intent一章中,我們已嘗試過使用 「startActivity」函式,傳入適當(dāng)?shù)摹窱ntent」,來呼叫瀏覽器的 Activity。

到目前為止,我們可以由學(xué)習(xí) Android 應(yīng)用程式的經(jīng)驗中歸納得出:所有 Android 程式的運作流程,都定義在 Activity 中。

Android 系統(tǒng)與其他系統(tǒng)很不一樣的地方是:它的應(yīng)用程式並不直接與底層系統(tǒng)緊密結(jié)合,而是跑在 Android 框架中。這意思是設(shè)計 Android 應(yīng)用程式時,我們並不需要關(guān)心實際上運作的機器是哪一牌的手機或是哪一種嵌入式系統(tǒng),或使用哪一種架構(gòu)(ARM、x86、MIPS)。我們要關(guān)心的只有Android 框架提供了那些功能,好讓我們能操作這臺設(shè)備。具體來說就是我們只要知道這臺機器的螢?zāi)淮笮?、有沒有鍵盤,有沒有支援 GPS 等等訊息,就知道我們寫的應(yīng)用程式是否能在這臺機器上順暢地運作。Android 框架與底層系統(tǒng)的整合的問題完全可以留給軔體工程師來操心。

在執(zhí)行「startActivity」函式時,應(yīng)用程式並不是直接呼叫另一個 Activity,而是將「Intent」(意圖)傳進(jìn) Android 框架中。 Android 框架會查看 「startActivity」 呼叫所傳入的動作與 Intent 內(nèi)容是否在註冊表中,如果符合,就啟動對應(yīng)的服務(wù)或 Activity。

Android 系統(tǒng)中的每一個應(yīng)用程式,在安裝的過程裡,都得事先在 Android 框架中註冊、登記這個應(yīng)用程式所建立的 Activity,並事先註明會使用到的服務(wù)。譬如當(dāng)我們在 Android 上安裝我們撰寫的 BMI 應(yīng)用程式時,BMI 應(yīng)用程式就會向 Android 框架登記相關(guān)資訊:BMI 應(yīng)用程式將會用到 「Bmi」這個 Activity。

這份訊息存在於每個 Android 應(yīng)用程式專案根目錄下的「AndroidManifest.xml」檔案中。如果我們在程式裡,要用到其他應(yīng)用程式或服務(wù)所提供的功能,也需一併在此列出。

在安裝應(yīng)用程式的時候,Android 框架會根據(jù)應(yīng)用程式提供的這份清單,將資訊註冊於 Android 框架的註冊表中。

備註:

這麼說其實是不太精確的。Android 應(yīng)用程式的運作流程,存在於四種載體中:

Activity (活動)

Broadcast Intent Receiver

Service

Content Provider

各種載體的相關(guān)內(nèi)容會在後續(xù)章節(jié)提到時作解說。

預(yù)設(shè)的 Activity 清單AndroidManifest.xml」檔案。切換到「AndroidManifest.xml」分頁標(biāo)籤,查看預(yù)設(shè)的 「BMI/AndroidManifest.xml」檔案原始碼:

我們使用 eclipse Android 開發(fā)工具打開「BMI/

1 2 6 7 8 9 10 11 12 13 14 15

我們分行講解如下:

....

「AndroidManifest.xml」這個檔案也是以 XML 格式描述,每個 Android 應(yīng)用程式都需要一個「AndroidManifest.xml」檔案,每份「AndroidManifest.xml」檔案的開頭都會出現(xiàn)這段敘述。而整個「AndroidManifest.xml」檔案的敘述,都包含在「manifest」(清單)這個主要標(biāo)籤中。

package="com.demo.android.bmi"

「package」 是「manifest」(清單)標(biāo)籤的一個特別屬性,範(fàn)例中的內(nèi)容可用來標(biāo)明,這個應(yīng)用程式的進(jìn)入點存在於「com.demo.android.bmi」這個名稱空間/路徑中。

android:versionCode="1"android:versionName="1.0"

「android:versionCode」和「android:versionName」是應(yīng)用程式版本號。 這兩個屬性是可選的(非必要)。 「android:versionName」是給使用者看的版本號,如「1.0」、「2.0」?!竌ndroid:versionCode」則是開發(fā)者用的內(nèi)部版本號,一般使用流水號。

...

「manifest」標(biāo)籤中主要包含一個「application」標(biāo)籤(備註1)?!竌pplication」標(biāo)籤裡面,定義了所有這個應(yīng)用程式用到的 Activity、服務(wù)等資訊?!竌pplication」標(biāo)籤中的「android:icon」屬性,定義了這個應(yīng)用程式將顯示在 Android 主畫面中的應(yīng)用程式圖示。「android:icon="@drawable/icon"」表示應(yīng)用程式圖示的資源檔存在於 「res/drawable/icon」 中。圖示的大小必須超過 64x64 像素(Pixel)?!竌pplication」標(biāo)籤中的「android:label」屬性可用來指定應(yīng)用程式將顯示在 Home 主畫面上的名稱。也就是預(yù)設(shè)剛開好機時,可以從桌面下方拉出的應(yīng)用程式列表。

...

「application」標(biāo)籤中所有用到的 Activity ,都要包含在一個個「activity」標(biāo)籤中(備註2)。 Activity 是 Android 應(yīng)用程式與使用者互動的主要元素,當(dāng)使用者開啟一個應(yīng)用程式,第一個看到的畫面就是一個 Activity。若是一個應(yīng)用程式中包含多個畫面時,會定義多個不同的 Activity,我們也必須在「application」標(biāo)籤中,使用多個「activity」標(biāo)籤,為不同的 Activity 添加描述。如果我們已經(jīng)在程式碼中定義好了 Activity ,卻忘了在「AndroidManifest.xml」檔案中加入對應(yīng)的「activity」標(biāo)籤,那麼在執(zhí)行中呼叫到這個 Activity 的時候,將無法開啟這個 Activity。

「activity」標(biāo)籤的「android:name」屬性,指出了這個 Activity 所對應(yīng)的類別(class)?!竌ctivity」標(biāo)籤中的「android:label」屬性可用來指定應(yīng)用程式將顯示在 Activity 畫面上方的名稱。也可以在程式碼中透過「setTitle(“名稱”)」來動態(tài)修改。[!--empirenews.page--]

因為在上一層「Manifest」標(biāo)籤屬性中已經(jīng)定義了「package="com.demo.android.bmi"」,因此在「activity」標(biāo)籤的 「android:name」屬性中,「.Bmi」代表著「com.demo.android.bmi.Bmi」的簡寫。也可以寫成「Bmi」,一樣是代表「com.demo.android.bmi.Bmi」這個類別。

「intent-filter」標(biāo)籤定義了這個「activity」的性質(zhì)。 「intent-filter」中主要包含了兩個標(biāo)籤:「action」跟「category」標(biāo)籤。 「action」標(biāo)籤中的「android:name」屬性,其內(nèi)容「android.intent.action.MAIN」表示:這個 Activity 是此應(yīng)用程式的進(jìn)入點(就像程式中常見的 main 主程式),開啟這個應(yīng)用程式時,應(yīng)先執(zhí)行這個 Activity。 。常見的還有「android.intent.action.EDIT」等標(biāo)籤,會在之後章節(jié)用上的時候講解?!竎ategory」標(biāo)籤中的「android:name」屬性,其內(nèi)容「android.intent.category.LAUNCHER」表示:這個 Activity 將顯示在 Launcher 的應(yīng)用程式列表中。

我們把整個檔案合到一起看,可以總結(jié)出這個檔案所傳達(dá)的訊息:在「com.demo.android.bmi」路徑下的「Bmi.java」這個檔案中,已定義了一個主要的 Activity; 當(dāng)我們打開 Android 的時候,顯示的是位於「res/drawable/icon」的圖示。一旦我們按下圖示來啟動這個應(yīng)用程式,Android 應(yīng)用程式框架會去尋找到定義了「android.intent.action.MAIN」內(nèi)容的 「.Bmi」activity,並呼叫執(zhí)行。

Android SDK 1.1 版之後引入了這條敘述。透過指定這個參數(shù),系統(tǒng)可以依此辨別應(yīng)用程式是否使用相容的 SDK 版本,好決定能否在這臺機器上安裝執(zhí)行?!?」代表 Android SDK 1.0,「2」代表 SDK 1.1,「3」代表 SDK 1.5。這也是一個可選填的選項。但如果我們的應(yīng)用程式要發(fā)佈出去,一些強勢的通路如 Google Android Market 已規(guī)定所有新發(fā)佈的應(yīng)用程式必須指定「android:minSdkVersion」這個參數(shù)。

備註1

除了「application」標(biāo)籤外,還有「uses-permission」(例如允不允許存取SMS、能否存取聯(lián)絡(luò)簿、相機功能)、「permission」、「instrumentation」等主要標(biāo)籤。相關(guān)的內(nèi)容在後續(xù)章節(jié)用到時再一併解說。

備註2

除了「activity」標(biāo)籤外,對應(yīng)於 Android 應(yīng)用程式的運作流程,還有「service」、「receiver」、「provider」等主要元件。相關(guān)內(nèi)容會在後續(xù)章節(jié)提到時作解說。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉