編輯:高級開發
android基本組件在日常生活中的應用還是很普遍的,但是要熟練的使用Android基本組件的前提是先要了解下什麼是Android基本組件?以及android基本組件的組成部分。
Intent包含6中基本信息,分別為:目標組件名稱,Action(動作),Data(數據),Category(類別),Extra(額外信息),Flag(標志)。Intent分為顯示Intent和隱式Intent。顯示Intent是在目標組件名稱中指定目標組件的包名和類名,Intent請求會直接發送給這個組件。
由於不可能知道其他應用的類名及包名,所以顯示Intent不可能用於不同應用程序,它只能在一個應用程序中傳遞消息。隱式Intent查找目標組件的方法是根據IntentFilter。每個android基本組件(Activity,Service,BroadcastReceiver)都需要在androidManifest.XML中聲明自己的IntentFilter。
以描述這個組件可以接受的Intent請求。android系統會根據Intent中的信息查找IntentFilter,看是否匹配,以確定接受Intent請求的組件。影響android匹配的因素是Intent中的Action、Data、Category。
隱式Intent不需要目標組件的名稱來激活該組件,這樣可以應用於在不同應用程序之間傳遞消息。下面是我對於Intent機制的一種理解,不知猜的對不對。 在android中,系統維護一個數據結構,用於描述每種Intent可以匹配的組件。可以采用Hashtable<key Intent類型(Action), value 可以匹配的組件的列表>
這樣就可以把不同類型的Intent映射為可以處理該Intent的組件。在每個應用程序安裝時,系統搜索androidManifest.XML。根據每個組件的IntentFilter信息,調用Hashtable.put(IntentFilter.Action, 組件)把每個組件注冊到系統中。
android基本組件就可以輕松的維護每個組件可以處理的Intent信息。當某個組件發出一個Intent請求時android系統會根據Intent的信息調用Hashtable.get(Intent.Action)得到所有與之匹配的組件列表,從而找到可以響應該Intent的組件。
正是由於隱式Intent的存在,才可以實現不同應用程序可以共享彼此的功能組件這是優勢。一個應用程序要啟動其他應用程序的一個組件時只要傳遞正確的Intent即可,從這一點上看android系統是一個組件的集合,它的運行的基本單位是組件,而不是一個應用程序。
白色版HTC G1android平台的研發隊伍陣容強大,包括摩托羅拉、Google、HTC(宏達電)、PHILIPS、T-Mobile、高通、魅族、三星、LG以及中國移動在內的34家企業,都將基於該平台開發手機的新型業務,應用之間的通用性和互聯性將在最大程度上得到保持。
“開放手機聯盟”表示,android平台可以促使移動設備的創新,讓用戶體驗到最優越的移動服務,同時,開發商也將得到一個新的開放級別,更方便的進行協同合作,從而保障新型移動設備的研發速度。
34家企業的加盟,也將大大降低新型手機設備的研發成本,完全整合的“全移動功能性產品”成為“開放手機聯盟”的最終目標。這34家企業中並不包含把持SymBian的諾基亞,以及憑借著iPhone風光正在的蘋果公司,美國運營商AT&T和Verizon,當然微軟沒有加入,獨樹一幟的加拿大RIM和他們的Blackberry也被擋在門外。
上周,谷歌宣布將不會把android 3.0發布到開源社區,而android 3.1計劃很可能在今年造成轟動。android 3.1 Steve Jobs(史蒂夫·喬布
Google通過與運營商、設備制造商、開發商和其他有關各方結成深層次的合作伙伴關系,希望借助建立標准化、開放式的移動電話軟件平台,android手機系統在同行業真的可以
隨著Google的android手機和蘋果的iPhone手機的逐漸普及,越來越多開發者加入到移動應用開發的大軍當中。目前移動終端中的冠亞軍android,應用是基於Ja
android智能手機上市等因素的影響下,全球移動上網用戶和使用量正快速增長。與此同時,android的移動網絡流量市場份額也是節節攀升,iPhone占全球移動網絡流量