日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android的四大组件

發布時間:2023/12/19 Android 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android的四大组件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Android的四大組件:Activity、ServiceBroadcastReceiver、Content Provider

Content Provider 屬于Android應用程序的組件之一,作為應用程序之間唯一的共享數據的途徑,Content Provider 主要的功能就是存儲并檢索數據以及向其他應用程序提供訪問數據的接口

?

① Activity是Android應用中負責與用戶交互的組件——大致上把它想象成Swing編程中的JFrame控件。不過它與JFrame的區別在于:JFrame本身可以設置布局管理器,不斷地向JFrame中添加組件,但Activity只能通過setContentView(View)來顯示指定組件。

Activity為Android應用提供里可視化用戶界面,如果該Android應用需要多個用戶界面,那么這個Android應用將會包含多個Activity,多個Activity組成Activity。當前活動的Activity位于棧頂。

?

View組件是所有UI控件、容器控件的基類,View組件就是Android應用中用戶實實在在看到的部分。但View組件需要放到容器組件中,或者使用Activity將它顯示出來。如果需要通過某個Activity把指定View顯示出來,調用Activity的setContentView()方法即可。

?

② Service與Activity的地位是并列的,它也代表一個單獨的Android組件。Service與Activity的區別在于:Service通常位于后臺運行它一般不需要與用戶交互,因此Service組件沒有圖形用戶界面。Service組件需要繼承Service基類。一個Service組件被運行起來之后,它將擁有自己獨立的生命周期,Service組件通常用于為其他組件提供后臺服務或監控其他組件的運行狀態。

?

③ BroadcastReceiver是Android應用中另一個重要的組件,BroadcastReceiver代表廣播消息接收器。從代碼實現角度來看,BroadcastReceiver非常類似于事件編程中的監聽器。與普通事件監聽器不同的是:普通事件監聽器監聽的事件源是程序中的對象;而BroadcastReceiver監聽的事件源Android應用中的其他組件。使用BroadcastReceiver組件接收廣播消息比較簡單,開發者只要實現自己的BroadcastReceiver子類,并重寫onReceive(Context context,Intent intent)方法即可。當其他組件通過sendBroadcast()、sendStickyBroadcst()或sendOrderedBroadcast()方法發送廣播時,如該BroadcastReceiver也對該消息“感興趣”(通過IntentFilter配置),BroadcastReceiver的onReceive(Context context,Intent intent)方法將會被觸發。 ??開發者實現里自己的BroadcastReceiver之后,通常有兩種方式來注冊這個系統級的“事件監聽器”。

-->在Java代碼中通過Context.registReceiver()方法注冊BroadcastReceiver。

-->在AndroidManifest.xml文件中使用<receiver……>元素完成注冊。

?

④ ContentProvider 對于Android應用而言,組件必須相互獨立,如果這些Android應用之間需要實現實時的數據交換。例如我們開發里一個發送短信的程序,當發送短信時需要從聯系人管理應用中讀取指定聯系人的數據----這就需要多個應用程序之間進行實時的數據交換。

??? Android系統為這種跨應用的數據交換提供里一個標準,ContentProvider。當用戶實現自己的ContentProvider時,需要實現如下抽象方法。

Insert(Uri, ContentValues):向ContentProvider插入數據。

Deleter(Uri,ContentValues):刪除ContentProvdier中指定數據。

Update(Uri, ContentValues, String, String[] ):更新ContentProvider中指定數據。

Query(Uri, String[], String, String[], String):從ContentProvider查詢數據。

通常與ContentProvider結合使用的是ContentResolver,一個應用程序使用ContentProvider暴露自己的數據,而另一個應用程序則通過ContentResoler來訪問數據。

Intent和IntentFilter? 嚴格的說,Intent并不是Android的組件,但它對于Android應用的作用非常大----它是Android應用內不同組件之間通信的載體。當Android運行時需要連接不同的組件時,通常就需要借助于Intent來實現。Intent可以啟動應用中另一個Activity,Service,BroadcastReceiver。

轉載于:https://www.cnblogs.com/YangBinChina/p/3175297.html

總結

以上是生活随笔為你收集整理的Android的四大组件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。