【Android安全】Android 应用组件 | Android 四大组件
admin
2024-02-19 17:47:55

参考:
《Android安全架构深究》第01章 P10-P11

应用组件概述

Android系统设计的主旨就是组件化,让应用间可以互相调用组件,实现功能的复用。

Android应用是多个松耦合组件的结合体。
与传统应用程序不同,Android应用可以有 多个入口点。每个组件可以提供多个入口点,由用户动作或系统事件触发。

组件和它们的入口点以及附加的元数据,都在应用的manifest文件中定义,这一文件就是AndroidManifest.xml。
与大部分Android资源文件一样,在打包成应用包(APK文件) 之前,这些文件会被编译成XML格式的二进制文件(类似ASN.1),从而有利于减少应用包大小、加快解析速度。manifest文件中定义的最重要属性是应用包名称,以此唯一识别系统中的每个应用。

AndroidManifest.xml文件在应用安装时解析,向系统注册它包含的包和组件。

四大组件

activity (活动)
activity是一个有用户接口的、单独的屏幕窗口,是Android GUI应用的主要组件。
一个app可以有多个activity,虽然它们通常以特定顺序显示,但每个activity 也可以独立启动。如果允许的话,activity也可能被另外一个app启动。

service(应用服务)
service是一个运行在后台的、没有用户接口的组件。
service通常用于执行长期运行的操作,比如下载文件或播放音乐。
service也可使用AIDL定义一个远程接口,向其他app提供一些功能。
然而,service与系统服务不同:系统服务作为操作系统的一部分,总是处于运行状态的;而应用服务可以按需启动和停止。

content provider(内容提供者 )
content provider提供一个到应用数据的接口,这些数据通常存在于数据库或文件中。
content provider主要用于与其他app共享数据。实际场景中,往往会遇到应用间共享数据的情况,比如系统设置的共享,联系人数据的共享。
content provider提供细粒度的访问控制,可控制哪一部分的数据可被访问,允许应用只共享数据的 一个子集。

broadcast receiver(广播接收者)
broadcast receiver 是响应系统事件(即广播)的组件。广播可发自系统 (如网络连接状态变化的通知),或由用户应用产生(如后台数据更新完毕的通知)。

相关内容

热门资讯

山水皆有情!丽江两山一江的千年... 去过丽江、走过虎跳峡的人,大概率都听过哈巴雪山和金沙江的传说。很多人站在峡谷之下,望着奔腾不息的金沙...
活力中国调研行丨“殷”你而来 ... 9月12日,游客在殷墟博物馆“甲骨文展厅”内参观。位于河南省安阳市的殷墟博物馆新馆是首个全景式展现商...
浦江之夜赴美好相逢,第37届上... 9月12日晚,黄浦江畔灯火璀璨,第37届上海旅游节大巡游在外滩中山东一路上演。不少观众早早便来到外滩...
美丽中国丨秋韵紫鹊界 梯田入画... 这是9月11日拍摄的紫鹊界梯田(无人机照片)。 金秋九月,湖南省娄底市新化县紫鹊界梯田稻谷渐次成熟。...
中国之巅奏响《共同的节日》,千... 千吨阻尼器,“迎世赛、游上海旅游节”。9月13日,由上海市文化和旅游局指导推出上海旅游·会客│巅峰之...