編輯:關於android開發
Android應用通常由四部分組成,包括:Activity Service BroadcastReceiver ContentProvider;本篇博客將對這四個組件做基本介紹,讓大家對這些組件有一個大致的認識,後面的博客將還會對它們做詳細講解。
Activity Activity是android應用中負責與用戶進行交互的的組件,就是我們android手機呈現界面的組件,你可以把它想象成相框,我們android應用呈現的畫面都是在這個相框裡面,而這個相框的大小就是我們手機屏幕的大小。他負責呈現畫面給我們用戶,並接受我們用戶的點擊 滑動等一系類響應事件。當我們把android應用要呈現的界面(XML文件)設計好後,然而activity只能通過setContentView(View) 來顯示指定的界面,好比,我們把照片拍好後,選擇用哪個相框來裝載這張照片,因此這樣 來為activity綁定顯示界面。 setContentView(View)的使用一般是下面的形式:setContentView(R.layout.main);其中的R.layout.main 是android資源文件中的一個布局文件,相當於是相片。 注意的是,實際上Actvity是Window的容器,Activity包含一個getWindow()方法,這個方法返回Activity所包含的窗口,對於Activity,作為開發者的我們是不用關心它的window對象,如果應用程序不用調用Activity的setContentView()方法來設置該activity的顯示界面,那麼該應用將顯示一個空的窗口。 一個android應用包含很多個Activity,多個activity組成activity棧,存儲方式為先進後出,就像箱子裡面放書一樣,先放進去的書放在最下面,最後放進去的在最上面,所以當前運行的activity位於棧頂。 還有一點就是我們Activity可以設計它自身的風格,就是主題,使用setTheme(int resouceId)就可以指定activity的使用風格,比如有些時候我們的activity不需要使用actionBar 或者以對話框的形式顯示,就可以使用這個方法實現,也可以在AndroidManifest.xml指定activity的顯示風格。 2. Service Service可以說 是和activity一樣重要的,它只是沒有顯示界面而已,service通常運行在後台,因為沒有界面顯示,所以一般不需要與用戶進行交互。 Service組件需要繼承Service基類,Service運行之後擁有自己獨立的生命周期,Service組件通常是用於為其他組件提供後台服務,或者監聽其他組件的運行狀態。其中典型的應用就是 音樂播放器,首頁是activity呈現給用戶的界面,後台播放音樂有Service來完成,Service播放了多少秒然後通知Activity更新界面。Activity的播放暫停按鈕被用戶點擊了,然後通知Service停止或播放音樂。 3. BroadcastReceiver BroadcastReceiver 是 android 應用 中一個非常重要的組件,根據這個名字,大家肯定知道了它其實就是廣播消息接收器,與普通的監聽器不同的是:普通的監聽器監聽的事件源氏程序中的對象,而BroadcastReceiver監聽的事件源是Android應用中的其他組件(activity receiver)。 使用broadcastReceiver組件接受廣播消息比較簡單,我們只需要實現自己的BroadcatReceiver子類,並重寫onRecerver(Context context,Intent intent)方法即可。當其他組件通過sendBroadcast() 或者sentStickyBroadcast() 或者sentOrderBroadcast()方法發送廣播消息時,如果該BroadcastReceiver對這個消息感興趣,通過IntentFilter配置(這是一個過濾器,設置一些條件,如果某個消息和這些條件匹配,則激活BroadcastReceiver),BroadcastReceiver的onReceive()方法就會被激活,這個方法中設置的一些動作就會被執行。就像Service中播放音樂播放完了之後,它就通過sendBroadcast()向activity發送消息,activity收到消息後,就會執行BroadcastReceiver中的onReceive()中的方法,activity就會在界面上做出相應的界面更新。 BroadcastReceiver有兩種注冊方式,只有注冊之後才能啟動,否則是不會有消息發送和接收的。如下兩種方法: (1). 在java代碼中通過Context.registReceiver()方法注冊BroadcastReceiver; (2). 在AndroidManifest.xml中使用
硅谷社交15--群詳情,硅谷社交15-- 1)頁面布局 <?xml version=1.0 encoding=utf-8?> <LinearLayou
Android中使用Notification實現進度通知欄(示例三),notification進度條我們在使用APP的過程中,軟件會偶爾提示我們進行版本更新,我們點擊確認
水面波浪形View--第三方開源--WaveView(電量、能量、容量指示),view----waveview 這種WaveView在一些常見的APP開發中,以水面波浪波
ListView是Android軟件開發中非常重要組件之一,基本上是個軟件基本都會使用ListView ,今天我通過一個demo來教大家怎麼樣使用L