Google Android 應用程式結構

2021-08-29 13:20:07 字數 1656 閱讀 4531

原文出處:

對進行了翻譯

在乙個android 應用中有如下的四種元件:

* activity 活動元件

* intent receiver 接受處理元件

* service 服務元件

* content provider 內容提供元件

乙個android 應用並不需要同時具有這四個元件,應用可以組合這些元件。

在應用中一旦決定使用了哪些元件,就需要在androidmanifest.xml檔案中列舉出來。可以參考android manifest file documentation

開啟新的頁面時,前乙個頁面將會暫停,放置到乙個歷史堆疊中,使用者可以使用後退鍵瀏覽前面的頁面,頁面也可以從堆疊中刪除。android會為每乙個從主頁面home screen(idle介面?)啟動的應用維護乙個歷史堆疊列表。

intent and intent filters

android使用乙個叫intent的類從乙個頁面移動到另外乙個頁面。乙個intent描述了應用將要做的事情,就是一種動作行為。最重要的有兩點: 動作的型別和動作所捎帶的引數(資料),典型的動作型別為main(activity的正門),view, pick, edit等等。引數資料以uri形式來表示。例如,為了檢視乙個人的聯絡資訊,需要建立乙個intent,動作型別為view,人名為引數資料(需要格式 化為uri)。

乙個activity為了表明能夠處理某些intent,android設計了乙個相關的類intentfilter,activity在 intentfilter中決定它能夠處理的intent動作型別,intentfilter需要在androidmanifest.xml檔案中進行聲 明。

從乙個頁面到另外乙個頁面跳轉的依據在於發出的intent,為了向前瀏覽,activity呼叫startactivity(myintent). android系統在所有安裝的應用程式中查詢intent filters,找出最能夠匹配myintent的activity。新的activity將被啟動,intent被傳入。有如下兩個關鍵點:

* activities 能夠重新被使用

* activities 在任何時候都可以被替換,只要乙個activity設定了相同的intentfilter

intent receiver

在應用程式中,針對外部事件需要執行一些動作來反饋,可以使用intentreceiver類。例如:來了乙個**,或者資料通道可用,或者晚上到了。 intent receiver沒有ui的顯示,儘管可以通過notificationmanager 通知使用者某些有趣的事情發生了。intent receivers也需要在androidmanifest.xml中進行宣告,當然也可以在程式中呼叫 context.registerreceiver()介面動態宣告。同時在應用程式沒有跑起來的時候也能夠呼叫intent receivers,當乙個intent receivers被觸發時,android系統將會啟動這個應用程式。應用程式也能夠通過context.broadcastintent()廣播他們 的intent。

應用程式可以在檔案中,資料庫或者其他裝置儲存他們的資料。content provider用於將各個應用程式的資料進行共享,content provider是乙個類,執行一套標準的方法,讓其他的應用程式儲存和獲取content provider所處理的資料。更多的內容可以參考

accessing content providers.

Google Android開發精華教程

乙個demo讓你掌握android的各種service android開發教程專題 android 動畫效果專題研究 盤點android 所有dialog大合集 乙個帖子學會android開發四大元件 近百個android開源專案,覆蓋android每個領域 android例項 基本控制項及基本動畫...

Google Android創贏路線與產品開發實戰

本文選自 it s android time google android創贏路線與產品開發實戰 一書 創作者談 清晰記得2009年10月的時候,電子工業出版社編輯張春雨找到我討論這樣一本書,那時候,我們就已經可以想到市場上android技術書籍將很快氾濫,且都會陷入細枝末節的套路中,無法從更好的層...

Google Android創贏路線與產品開發實戰

本文選自 it s android time google android創贏路線與產品開發實戰 一書 創作者談 清晰記得2009年10月的時候,電子工業出版社編輯張春雨找到我討論這樣一本書,那時候,我們就已經可以想到市場上android技術書籍將很快氾濫,且都會陷入細枝末節的套路中,無法從更好的層...