自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

深度剖析Android應用程序的四種構造塊

移動開發(fā) Android
下文講述Android應用程序的四種構造塊,它們分別是:Activity、Intent 、ReceiverService、Content Provider 。

Android應用程序能夠將它們的數(shù)據(jù)保存到文件中、SQL數(shù)據(jù)庫中,甚至是任何有效的設備中,但前提是要深入理解到底什么是Android應用程序,及Android應用程序是怎么運作的。

對于一個Android應用程序來說,是由四種構造塊組織而成的,這四種構造塊如下:
◆Activity
◆Intent Receiver
◆Service
◆Content Provider

但是,并不是每一個Android應用程序都需要這四種構造塊,這不是必須的,某些時候,我們只需要這四種中的幾種組合成我們的應用。

當我們明確了我們的應用需要哪些構造塊后,我們就需要在AndroidManifest.xml中登記這些構造塊的清單。這是一個XML配置文件。

這個配置文件用于定義我們的應用程序的組件、組件的功能及必要條件等。這個配置文件是每個Android應用必需的。對于AndroidMainfest.xml的Schema,參考SDK包附帶的文檔。以下,我們對四種構造塊做一些說明:

1、Activity

Activity是Android構造塊中最基本的一種,在應用中,一個activity通常就是一個單獨的屏幕。每一個activity都被實現(xiàn)為一個獨立的類。并且繼承于Activity這個基類。這個activity類將會顯示由幾個Views控件組成的用戶接口,并對事件做出響應。大部份的應用都會包含多個的屏幕。

例如,一個短消息應用程序將會有一個屏幕用于顯示聯(lián)系人列表,第二個屏幕用于寫短消息,同時還會有用于瀏覽舊短消息及進行系統(tǒng)設置的屏幕。每一個這樣的屏幕,就是一個activity。從一個屏幕導航到另一個屏幕是很簡單的。在一些應用中,一個屏幕甚至會返回值給前一個屏幕。

當一個新的屏幕打開后,前一個屏幕將會暫停,并保存在歷史堆棧中。用戶可以返回到歷史堆棧中的前一個屏幕。當屏幕不再使用時,還可以從歷史堆棧中刪除。默認情況下。

Android將會保留從主屏幕到每一個應用的運行屏幕。Android使用了Intent這個特殊類,實現(xiàn)在屏幕與屏幕之間移動。Intent類用于描述一個應用將會做什么事。在Intent的描述結構中。

有兩個最重要的部分:動作和動作對應的數(shù)據(jù)。典型的動作類型有:MAIN(activity的門戶)、VIEW、PICK、EDIT等。而動作對應的數(shù)據(jù)則以URI的形式進行表示。例如:要查看一個人的聯(lián)系方式。

你需要創(chuàng)建一個動作類型為VIEW的intent,以及一個表示這個人的URI。與之有關系的一個類叫IntentFilter。相對于intent是一個有效的做某事的請求,一個intent filter則用于描述一個activity(或者Intent Receiver)能夠操作哪些intent。

一個activity如果要顯示一個人的聯(lián)系方式時,需要聲明一個IntentFilter,這個IntentFilter要知道怎么去處理VIEW動作和表示一個人的URI。IntentFilter需要在AndroidManifest.xml中定義。

通過解析各種intent,從一個屏幕導航到另一個屏幕是很簡單的。當向前導航時,activity將會調(diào)用startActivity(Intent myIntent)方法。然后,系統(tǒng)會在所有安裝的應用程序中定義的IntentFilter中查找,找到最匹配myIntent的Intent對應的activity。

新的activity接收到myIntent的通知后,開始運行。當startActivity方法被調(diào)用將觸發(fā)解析myIntent的動作,這個機制提供了兩個關鍵好處:
A、Activities能夠重復利用從其它組件中以Intent的形式產(chǎn)生的一個請求;
B、Activities可以在任何時候被一個具有相同IntentFilter的新的Activity取代。

【編輯推薦】

  1. Android應用程序組建原理深入剖析
  2. Android SMS短信服務相關概念簡述
  3. PythonAndroid數(shù)據(jù)庫相關代碼解讀
  4. PythonAndroid安裝卸載程序具體操作方法解析
  5. Android應用程序的四個關鍵點
責任編輯:chenqingxiang 來源: NET130
相關推薦

2010-03-04 10:11:17

Android手機系統(tǒng)

2010-02-01 14:05:03

2010-01-26 17:16:33

C++應用程序

2014-09-22 13:30:09

Docker云計算

2009-03-11 13:38:37

構造塊ActivityIntent Rece

2010-03-04 16:21:15

Android Mar

2010-01-25 17:14:44

Android應用程序

2010-06-09 09:41:33

UML類圖

2010-01-25 10:57:57

Android系統(tǒng)應用

2010-02-04 09:41:03

Android應用程序

2022-09-27 15:16:42

開發(fā)Android應用程序

2023-10-21 21:13:00

索引SQL工具

2011-06-01 17:35:35

Android Activity

2017-04-17 19:31:03

Android多線程

2013-06-14 15:24:57

Android開發(fā)移動開發(fā)數(shù)據(jù)存儲方式

2013-06-28 10:17:04

2022-10-27 09:50:41

數(shù)據(jù)倉開發(fā)

2014-12-25 09:41:15

Android加載方式

2010-07-09 13:55:53

UML面向對象建模

2010-02-22 15:49:35

Python應用程序
點贊
收藏

51CTO技術棧公眾號