編輯:高級開發
android應用程序能夠將它們的數據保存到文件中、SQL數據庫中,甚至是任何有效的設備中,但前提是要深入理解到底什麼是Android應用程序,及android應用程序是怎麼運作的。
對於一個android應用程序來說,是由四種構造塊組織而成的,這四種構造塊如下:
◆Activity
◆Intent Receiver
◆Service
◆Content Provider
但是,並不是每一個android應用程序都需要這四種構造塊,這不是必須的,某些時候,我們只需要這四種中的幾種組合成我們的應用。
當我們明確了我們的應用需要哪些構造塊後,我們就需要在androidManifest.xml中登記這些構造塊的清單。這是一個XML配置文件。
這個配置文件用於定義我們的應用程序的組件、組件的功能及必要條件等。這個配置文件是每個android應用必需的。對於androidMainfest.XML的Schema,參考SDK包附帶的文檔。以下,我們對四種構造塊做一些說明:
1、Activity
Activity是android構造塊中最基本的一種,在應用中,一個activity通常就是一個單獨的屏幕。每一個activity都被實現為一個獨立的類。並且繼承於Activity這個基類。這個activity類將會顯示由幾個VIEws控件組成的用戶接口,並對事件做出響應。大部份的應用都會包含多個的屏幕。
例如,一個短消息應用程序將會有一個屏幕用於顯示聯系人列表,第二個屏幕用於寫短消息,同時還會有用於浏覽舊短消息及進行系統設置的屏幕。每一個這樣的屏幕,就是一個activity。從一個屏幕導航到另一個屏幕是很簡單的。在一些應用中,一個屏幕甚至會返回值給前一個屏幕。
當一個新的屏幕打開後,前一個屏幕將會暫停,並保存在歷史堆棧中。用戶可以返回到歷史堆棧中的前一個屏幕。當屏幕不再使用時,還可以從歷史堆棧中刪除。默認情況下。
android將會保留從主屏幕到每一個應用的運行屏幕。android使用了Intent這個特殊類,實現在屏幕與屏幕之間移動。Intent類用於描述一個應用將會做什麼事。在Intent的描述結構中。
有兩個最重要的部分:動作和動作對應的數據。典型的動作類型有:MAIN(activity的門戶)、VIEW、PICK、EDIT等。而動作對應的數據則以URI的形式進行表示。例如:要查看一個人的聯系方式。
你需要創建一個動作類型為VIEW的intent,以及一個表示這個人的URI。與之有關系的一個類叫IntentFilter。相對於intent是一個有效的做某事的請求,一個intent filter則用於描述一個activity(或者Intent Receiver)能夠操作哪些intent。
一個activity如果要顯示一個人的聯系方式時,需要聲明一個IntentFilter,這個IntentFilter要知道怎麼去處理VIEW動作和表示一個人的URI。IntentFilter需要在androidManifest.XML中定義。
通過解析各種intent,從一個屏幕導航到另一個屏幕是很簡單的。當向前導航時,activity將會調用startActivity(Intent myIntent)方法。然後,系統會在所有安裝的應用程序中定義的IntentFilter中查找,找到最匹配myIntent的Intent對應的activity。
新的activity接收到myIntent的通知後,開始運行。當startActivity方法被調用將觸發解析myIntent的動作,這個機制提供了兩個關鍵好處:
A、ActivitIEs能夠重復利用從其它組件中以Intent的形式產生的一個請求;
B、ActivitIEs可以在任何時候被一個具有相同IntentFilter的新的Activity取代。
/ul> Activity棧 上面提到開發者是無法控制Activity的狀態的,那Activity的狀態又是按照何種邏輯來運作的呢?這就要知道 Activit
lock; margin-left: auto; margin-right: auto; src=/School/UploadFiles_7810/201203/201
理解布局對於良好的android程序設計來說很重要。在這個教程中,你將學習到所有關於線性布局的東西,它在屏幕上垂直地或水平地組織用戶界面控件或者小工具。使用得當,線性布
從現實生活中理解廣播機制 一聽到廣播我們第一感覺就會聯想到小時候村裡面的廣播,每逢村裡有什麼活動都是通過廣播發送的。收聽收音機也是一種廣播,在收音機中有很多個廣播電台