搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
Li_阴宅
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
HiveQL原理与代码实例讲解
2
2023-04深度操作系统deepin20.9版本发布_deepin最流畅的版本
3
java并发编程和多线程总结_java 多线程并发实现
4
GPT-4来袭:开启人工智能新时代_2023.3.15gpt4.0发布
5
sql基本语法_sql语法
6
lxml爬虫实战:爬取人生格言
7
android mtpd 命令,安卓各种命令
8
线程池源码分析
9
通过掩膜叠加图片
10
IoTDB 入门教程 基础篇②——IoTDB 企业版比开源版本值在哪?
当前位置:
article
> 正文
android 组件(activity,service,content provider,broadcast receiver,intent)详解_安卓activity intent services contentpro
作者:Li_阴宅 | 2024-08-06 08:42:04
赞
踩
安卓activity intent services contentpro
Android应用程序由若干个不同类型的组件组合而成,每一个组件具有其特定的安全保护设计方式,它们的安全直接影响到应用程序的安全。Android应用程序组件的主要类型有:活动(Activity),服务(Service),广播接收者(Broadcast Receiver),内容提供者(Content Provider),意图(Intent),小组件(Widget),通知(Notification)等。其中最重要的是前5种。在决定使用以上哪些组件来构建Android应用程序时,应该将它们列在AndroidManifest.xml文件中,这个文件用于声明应用程序组件以及它们的特性和要求。下面先分别对活动(Activity),服务(Service),内容提供者(Content Provider),广播接收者(Broadcast Receiver)和意图(Intent)5种组件加以介绍。
活动(Activity)
Activity是应用程序的表示层,为用户展示界面
,提供了可视的界面,与用户进行交互;
一个Activity通常展现为一个可视化的用户界面,比如一个手机的联系人功能可能包含一个显示联系人列表的Activity,一个可编辑联系人信息的Activity,以及其他一些查看或修改信息的Activity。每一个Activity都是相对独立的,这些Activity一起工作,共同组成了一个联系人应用程序。一个应用程序可以包含一个或多个Activity,通常每个应用程序运行后都会启动一个Activity展现出第一个界面,在当前展现给用户的Activity中启动一个新的Activity或调用其他应用程序的Acitivity,实现从一个界面跳转到另外一个界面。
服务(Service)
Service在后台运行,没有展现出用户界面。它们可以为前台的Activity提供数据源更新,并触发通知。例如,用户处理其他事情的时候可以启动一个Service播放背景音乐,或者启动邮件客户端的一个Service通过间断性地连接邮件服务器下载新邮件。
Service的另一种重要的用途为通过AIDL(Android Interface Definition Language,Android接口描述语言)实现进程间通信。例如,在某一应用程序中,其他应用程序组件可以直接与该应用程序后台运行的Service进行交互;另一方面,多个应用程序通过Service,可以在保证进程安全的前提下,实现它们之间的通信 。
内容提供者(Content Provider)
Content Provider是一种应用间数据共享的机制,提供了多个应用程序共享存储数据的方式,相当于一种跨应用程序的数据操作,一个应用程序可以允许其他应用程序通过Content Provider对其SQL数据,图像,声音或其他数据类型进行增,删,改,查等操作。Content Provider为数据进行操作提供了统一的接口,为应用程序提供了4个接口函数:intsert,update,delete及query,Content Provider屏蔽了数据操作的具体实现细节,应用程序只需要通过Content Provider调用相应接口函数即可完成操作,这种方式大大简化了跨应用程序的数据操作。
广播接收者(Broadcast Receiver)
Broadcast Receiver不执行任何任务。每个Broadcast Receiver都会接收系统或应用程序产生的广播通知,并对广播通知做出响应。很多事件都可能导致系统广播,例如手机所在时区发生变化,电池电量低,用户改变系统语言设置等。应用程序同样也可以发送广播通知,例如通知其他应用程序某些数据已经下载完毕,可以使用了。
一个应用程序可以包含若干个Broadcast Receiver来响应它认为很重要的通知。Broadcast Receiver可以启动一个Activity以响应接收到的信息,或者通过Notification Manager通知用户。
意图(Intent)
Intent的作用是在组件之间传递信息和协调工作。Android彼此独立的应用组件需要互相调用,协调工作,最终整合成为一个真正的Android应用。组件之间的协调工作主要由Intent完成,它起到Activity,Service,Content Provider之间联系的纽带作用。Intent有许多具体的实现,但本质上它们代表着一组系列化的数据,能够在应用程序中传播以实现某些功能。一个Intent包含了一次操作的信息,比如需要的动作,该动作相关的数据以及Android系统所需要的信息。Android则根据此Intent提供的信息进行描述,负责找到满足这些信息的组件,将Intent传递给该组件,并完成组件的调用。因此,Intent在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的联系。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/Li_阴宅/article/detail/936726
推荐阅读
article
设置
Jetp
a
ck
Compose
1.2
.1_cre
a
te
a
new empty
a
ctivi...
Jetp
a
ck
Compose
是新的 Android 的现代工具包,用于以惊人的速度构建美观且强大的 UI。使用 Je...
赞
踩
article
android
前台
服务
_
前台
服务
权限
foreground
service...
关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。专注于分享各领域原创系列文章 ,擅长java后端、...
赞
踩
article
如何完美解决在
Docker
中的 OCI
runtime
create
failed
错误ERRO...
本篇博客将详细介绍在使用
Docker
时,遇到错误的解决方案。通过多级标题、详细的知识点讲解、代码案例和操作命令,帮助...
赞
踩
article
Android
开发
Intent
传递
参数,获取数据为
null
_
android
intent
传值了...
android
开发 Activity通过
Intent
传递
参数,获取失败的原因启动一个有返回值的activity (Map...
赞
踩
article
intent...
intent Class Overview An intent is an...
赞
踩
article
IIS
安全
和
NTFS
分区
安全
_
iis
与
nt
service
谁更稳定...
IIS
全程为I
nt
ernet Information Service(I
nt
ernet信息服务),它的功能是提供信息服务...
赞
踩
article
RROR: e
rror
pull
ing
image
configuration
: download ...
docker-compose up -d报错_
rror
: service 'engine'
failed
to buil...
赞
踩
article
SpringCloud-
config
配置
使用_
spring
.
cloud
.
config
.discove...
前沿:参考文章,非常建议食用
配置
中心(Config)使用详解
配置
中心(Config)和消息总线(Bus)完美使用版一、说...
赞
踩
article
RabbitMq
搭建
服务
器(
Centos
详细版)_
rabbitmq
加 .
service
新建
服务
...
最近公司在用mqtt协议做推送,所以研究了下
RabbitMq
,据说这个可以支持百万级的并发量,查了一些资料,发现有的地方...
赞
踩
article
【
Android
Studiio
】
default
activity
原生安卓和
uniapp
默认启动分...
【代码】【
Android
Studiio
】
default
activity
原生安卓和
uniapp
默认启动分析。【And...
赞
踩
article
简单
爬虫
笔记
_
content
=
etree
.
html
(
content
)...
学习简单
爬虫
的一些笔记
_
content
=
etree
.
html
(
content
)
content
=
etree
.htm...
赞
踩
article
Spring
cloud
链路跟踪服务集成
zipkin
+
mysql
+sleuth+
rabbi
tMq_z...
Spring
cloud
链路跟踪服务集成
zipkin
+
mysql
+sleuth+
rabbi
tMq一、链路跟踪服务能为我们...
赞
踩
article
Selenium
入坑——用代码自动下载
浏览器
驱动_
webdriver
.
chrome
(
service
=...
让代码根据我们的
浏览器
自动匹配驱动_
webdriver
.
chrome
(
service
=
chrome
service
(chr...
赞
踩
article
【网络原理】
HTTP
|认识请求“报头“|Host|
Content
-
Length
|
Content
-Ty...
本篇文字主要介绍了
HTTP
的请求方法
header
:host,content-length,content-type,UA...
赞
踩
article
Docker
生产环境之
使用
可信镜像 -
Docker
中的
内容
信任(
content
trust
)_...
原文地址在联网系统间传输数据时,信任是一个核心问题。特别是,当通过互联网等不可信介质进行通信时,确保系统运行的所有数据的...
赞
踩
article
Docker
内容
信任
DCT
是什么及其作用介绍_
docker
content
trust
...
Docker
内容
信任(
Docker
Content Trust,简称
DCT
)是一个安全特性,用于确保
Docker
...
赞
踩
article
Job for
rabbitmq
-
server
.
service
failed
because the...
ERLANG_HOME=/opt/rabbitMq/erlang #配置的erlang环境变量。systemctl st...
赞
踩
article
centos下
rabbitmq
启动失败:_
rabbitmq
-
server
.
service
: cont...
如果你安装的是
rabbitmq
-
server
-3.6.8-1.el7.noarch.rpm,那么什么都别想了,升级到ra...
赞
踩
article
RabbitMQ
启动报错Starting
rabbitmq
-
server
(
via
systemct...
1.当我输入命令为
service
rabbitmq
-
server
start 报错如下:2.禁用 SELinux ,命令...
赞
踩
article
Linux
RabbitMQ
+
Erlang
/
sbin
/
service
rabbitmq
-ser...
先检查两个版本的依赖关系https://www.
rabbitmq
.com/which-erlang.html看看Rabb...
赞
踩
相关标签
android
android studio
gradle
docker
容器
运维
AI编程
人工智能
AI写作
AIGC
传递参数为null
Inetnt
action
application
user
attributes
include
安全
服务器
microsoft
java
开发语言
spring
RabbitMq
uni-app