当前位置: 首页 > news >正文

Android四大组件

1. Activity(活动)

  • 作用:用于呈现用户界面,处理用户的交互。

  • 特点

    • 类似于一个“页面”或“屏幕”。

    • 每一个 Activity 通常对应一个 UI。

    • 生命周期复杂,需要关注如 onCreate()onStart()onResume()onPause()onStop()onDestroy() 等方法。

  • 常用场景:打开一个新页面,如登录页、设置页、详情页等。


2. Service(服务)

  • 作用:用于在后台执行长时间运行的操作,不提供界面。

  • 特点

    • 可以在应用退出后继续运行(前提是没有被系统回收)。

    • 生命周期方法包括:onCreate()onStartCommand()onDestroy()

    • 可以是前台服务(带通知栏)或后台服务。

  • 常用场景:音乐播放、下载、后台定位等。


3. BroadcastReceiver(广播接收器)

  • 作用:用于接收和响应广播事件,比如系统发出的电量变化、网络状态变化,或自定义的应用内广播。

  • 特点

    • 无界面。

    • 通过 onReceive() 方法响应广播。

    • 广播有两类:标准广播(异步)和 有序广播(同步,可被拦截)。

  • 常用场景:接收系统广播(如开机启动)、App 内部模块通信等。


4. ContentProvider(内容提供者)

  • 作用:用于在不同应用之间共享数据,提供统一的数据访问方式。

  • 特点

    • 通过 URI 来访问数据(如 content://)。

    • 提供了增删改查接口(insert()query()update()delete())。

    • 通常配合数据库使用(如 SQLite)。

  • 常用场景:联系人、短信、媒体文件的访问;跨 App 数据共享。

相关文章:

  • 视频分析设备平台EasyCVR安防视频管理系统,打造电石生产智能视频监控新体系
  • docker安装ES
  • AIDL 语言简介
  • Node.js入门
  • 从大模型到AI基础设施,商汤的反向求解
  • qiankun 微前端主应用使用 iframe 加载子应用中的某个页面
  • 解决 Maven 500 错误:无法传输 maven-metadata.xml 文件
  • 汽配快车道解决chrome backgroud.js(Service Worker) XMLHttpRequest is not defined问题
  • conda 创建、激活、退出、删除环境命令
  • 【HD-RK3576-PI】定制用户升级固件
  • Fab-ME: 基于视觉状态空间与注意力增强的织物缺陷检测框架详解
  • arcgis几何与游标(2)
  • Qt中widget控件的常见属性
  • FPGA-DDS技术的波形发生器
  • 12【模块学习】DS18B20(二):高级使用
  • Nature图形复现—Origin绘制顶刊水准的多组柱状图
  • MySQL数据库精研之旅第六期:玩转数据库约束
  • web自动化:6种窗口截图方法、文件打开形式、文件路径及时间戳命名
  • 面试题:Eureka和Nocas的区别
  • 【未解决】Spring AI 1.0.0-M6 使用 Tool Calling 报错,请求破解之法
  • 中标多家学校采购项目的App查成绩需付费?涉事公司回应
  • 科技赋能文化体验,“五一”假期“海昏侯”人气创新高
  • 联合国秘书长古特雷斯呼吁印巴保持最大克制
  • 库里22分赢下抢七大战,火箭10年难破“火勇大战”的魔咒
  • 外交部亚洲司司长刘劲松就日本民用飞机侵闯我钓鱼岛领空向日方提出严正交涉
  • 辽宁召开假期安全生产工作调度会:绝不允许层层失守,绝不允许“带病运行”