編輯:關於Android編程
面向組件思想是在軟件規模擴大,復雜度上升的背景下,以面向對象為基礎而提出的一種軟件設計思想。可以把它理解為一種更粗粒度的面向對象,其粒度一般大於對象,但具體要到什麼程度,又可以根據實際情況來決定。這種思想以組件為基礎,強調“服務”的概念。
面向組件具有以下特點:
低耦合性:組件之間一般互不依賴,一個組件只需要知道另一個組件的“名字”就可以訪問它;
高重用性:系統級的重用;
高互操作性:不同的開發商開發出來的組件只要定義好了接口就可以互相訪問;
進程的透明性:組件可以工作在同一個進程也可以工作在不同的進程;
語言和開發環境的獨立性:組件只需要定義好服務接口,內部實現可以采用任何語言。
面向組件的框架已經有很多了,如JavaBean、EJB、COM等。Android系統並沒有聲稱自己是面向組件的,但從其設計思想來看,Android一開始的設計考慮就是要采用一種“無邊界”的設計方式,要實現系統內資源高度的重用。
事實上,Android完全符合面向組件的特征。首先,Android提供了Activity、Service、BroadcastReceiver和ContentProvider四大組件。這四大組件之間的協作是通過Binder機制和來協作的,其中ServiceManager與ActivityManagerService是保證組件間協同工作的最重要的基礎,同時它們本身也是一種組件。ServiceManager是Binder的守護進程,用來管理各種服務,並向調用這些服務的客戶提供查詢遠程接口的功能。而ActivityManagerService負責所有Activity和Service的啟動,另外還負責系統中所有廣播的注冊和發布以及把廣播發送給接收者。
有了這個機制,Android各個組件之間實現了低耦合,Activity與Activity、Activity與Service、Service與Service之間的都只需知道對方的“名字”就可以訪問它。而且,它們之間的重用是系統級的,尤其是Service,任何部署在系統裡的Service可以為任何一個應用,任何一個進程,任何一個組件來提供服務。它也滿足高互操作性,任何開發者開發出來的組件,只要公布其接口就可以為其他開發者所用。Android對進程完全透明,取而代之的,在Android裡,一般用Task的概念來作為應用的邊界,一個Task可以是單個進程也可以是多個進程。Activity與Service的協作既可以在同一個進程又可以在不同進程完成。如,啟動Activity的startActivity函數,如果新Activity配置了android:process這個屬性,那麼,它就會運行在另一個進程中 ,否則運行在同一進程中。而啟動Service的方式有兩種,如下:
startService:運行在不同進程;
bindService:運行在統一進程。
啟動過程都是通過binder機制來通知ActivitManagerService來決定是否要新建一個進程,並啟動新的Activity或Service。
本文實例講述了Android編程實現自定義手勢的方法。分享給大家供大家參考,具體如下:之前介紹過如何在Android程序中使用手勢,主要是系統默認提供的幾個手勢,這次介紹
Activity生命周期經典圖解:按鍵對生命周期的影響:BACK鍵: 當我們按BACK鍵時,我們這個應用程序將結束,這時候我們將先後調用onPause()->on
WindowsAndroid我們可以這樣來稱呼我們此次Win8中運行安卓系統的方法。這款軟件是北京某公司剛剛研發出來的
前言 心好疼:昨晚寫完了這篇博客一半,今天編輯的時候網絡突然斷了,我的文章就這樣沒了,但是為了Developer的使用AS這款IDE可以快速上手,我還是繼續進行詳解