问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

android四大组件是什么?各有有什么作用

发布网友 发布时间:2022-04-25 12:56

我来回答

2个回答

懂视网 时间:2022-04-25 17:17

Android中有四大组件。分别为:activity显示界面、service服务、BroadcastReceiver广播、ContentProvider数据通信。

  

  Android是由Google公司和开放手机联盟领导并开发的一种基于Linux的自由且开放源代码的操作系统,主要使用于移动设备。其最初由Andy Rubin开发,后被Google于2005年8月收购。之后Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟,共同研发改良Android系统,完成开发后,Google以Apache开源许可证的授权方式,发布了Android的源代码。Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。

热心网友 时间:2022-04-25 14:25

Android四大组件分别为activity、service、content provider、broadcast receiver。
一、android四大组件详解
1、activity
(1)一个Activity通常就是一个单独的屏幕(窗口)。
(2)Activity之间通过Intent进行通信。
(3)android应用中每一个Activity都必须要在AndroidManifest.xml配置文件中声明,否则系统将不识别也不执行该Activity。
2、service
(1)service用于在后台完成用户指定的操作。service分为两种:
(a)started(启动):当应用程序组件(如activity)调用startService()方法启动服务时,服务处于started状态。
(b)bound(绑定):当应用程序组件调用bindService()方法绑定到服务时,服务处于bound状态。
(2)startService()与bindService()区别:
(a)started service(启动服务)是由其他组件调用startService()方法启动的,这导致服务的onStartCommand()方法被调用。当服务是started状态时,其生命周期与启动它的组件无关,并且可以在后台无限期运行,即使启动服务的组件已经被销毁。因此,服务需要在完成任务后调用stopSelf()方法停止,或者由其他组件调用stopService()方法停止。
(b)使用bindService()方法启用服务,调用者与服务绑定在了一起,调用者一旦退出,服务也就终止,大有“不求同时生,必须同时死”的特点。
(3)开发人员需要在应用程序配置文件中声明全部的service,使用<service></service>标签。
(4)Service通常位于后台运行,它一般不需要与用户交互,因此Service组件没有图形用户界面。Service组件需要继承Service基类。Service组件通常用于为其他组件提供后台服务或监控其他组件的运行状态。
3、content provider
(1)android平台提供了Content Provider使一个应用程序的指定数据集提供给其他应用程序。其他应用可以通过ContentResolver类从该内容提供者中获取或存入数据。
(2)只有需要在多个应用程序间共享数据是才需要内容提供者。例如,通讯录数据被多个应用程序使用,且必须存储在一个内容提供者中。它的好处是统一数据访问方式。
(3)ContentProvider实现数据共享。ContentProvider用于保存和获取数据,并使其对所有应用程序可见。这是不同应用程序间共享数据的唯一方式,因为android没有提供所有应用共同访问的公共存储区。
(4)开发人员不会直接使用ContentProvider类的对象,大多数是通过ContentResolver对象实现对ContentProvider的操作。
(5)ContentProvider使用URI来唯一标识其数据集,这里的URI以content://作为前缀,表示该数据由ContentProvider来管理。
4、broadcast receiver
(1)你的应用可以使用它对外部事件进行过滤,只对感兴趣的外部事件(如当电话呼入时,或者数据网络可用时)进行接收并做出响应。广播接收器没有用户界面。然而,它们可以启动一个activity或serice来响应它们收到的信息,或者用NotificationManager来通知用户。通知可以用很多种方式来吸引用户的注意力,例如闪动背灯、震动、播放声音等。一般来说是在状态栏上放一个持久的图标,用户可以打开它并获取消息。
(2)广播接收者的注册有两种方法,分别是程序动态注册和AndroidManifest文件中进行静态注册。
(3)动态注册广播接收器特点是当用来注册的Activity关掉后,广播也就失效了。静态注册无需担忧广播接收器是否被关闭,只要设备是开启状态,广播接收器也是打开着的。也就是说哪怕app本身未启动,该app订阅的广播在
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
罗马帝国包含哪些国家 电脑备忘录怎么设置农历日期提醒如何在电脑桌面上设置日程安排表_百 ... 电脑桌面如何设置日历便签怎样在电脑桌面设置便签 苹果8p卡贴机怎么激活 书籍装帧设计包含哪些要素 铜壶烧水用什么好处 刚买的联想zukz1新手机一点电都没有么 ...显示不变,用了好久,突然间没电自动关机,充满电为100%,用几分钟后... 表达不想结婚的句子对婚姻充满恐惧的说说 我是女生今年26了、非常恐惧婚姻、我根本不想结婚、我自己自由自在过得... 为什么汽车的左右后视镜不一样大? 左右后视镜要调成怎样的位置最佳 左右后视镜与内后视镜的区别? 为什么汽车后视镜两边不一样大? 汽车左右后视镜有区别吗? 汽车左右后视镜怎么调? 汽车左右反光镜区别 天梭手表没电了会不影响手表 月牙和天行长老讲明情况是哪一集 鸭肉可以和海鲜一起吃吗 预算三千+,有啥推荐一块适合学生的表吗? 鸭肉不能和什么同吃 鸭肉和什么不能同吃 苹果手机怎么横屏聊微信 鸭子不能和什么同吃 苹果6微信为什么不能横屏? 鸭肉不能和什么一起吃,鸭肉和什么相克 苹果手机微信聊天记录那边发信息都有横线 鸭子和什么不能一起吃 苹果5s微信怎么横屏? 甲苯歧化反应的甲苯歧化反应 甲苯的氢谱 2020年国庆法定假期多少天 甲苯有哪些性质呢? 苯和甲苯的液体黏度是多少? 实验室常用溶剂缩写? 邻二甲苯、碳九芳烃的性能,用途及重要性,其国标、行标如何规定,生产... 甲苯 二甲苯用来做哪些医药? 您好,我们是做二次加氢C9芳烃的,以前我们一直都是往调和汽柴油的企业出... 甲苯是否可以在通风橱内敞口加热甲苯作为溶剂,物理混合,在达到其沸点... 有机化学里TsCL是什么东西,求结构式 含苯、甲苯等苯的有机溶剂有哪些 请问甲苯溶液是怎么配的 个体户定税最高额度多少? 个人所得税允许扣除的税费超出限额是什么意识? 开出一张为期个月的商业承兑汇票,用以抵付所欠购材料款。不应该是借应 ... 什么是高税率产品? 商业汇票背书转让给供应商的最新分录,用以支付前欠货款,应收票据金额... 我国个人所得税的征税额度 TOMCAT是什么意思?
  • 焦点

最新推荐

猜你喜欢

热门推荐