Android进阶之第9章 四大组件的工作过程

作者: sinyu 分类: Android,学习笔记,总结与反思 发布时间: 2018-05-01 14:22

1.概述

a.Activity

  • 类型:展示型组件。
  • 作用:展示一个界面并和用户交互。
  • 使用:
    • 需要在AndroidManifest中注册。
    • 需要借助Intent启动,两种方式:
      • 显示Intent:
        Intent intent=new Intent(xxx.this,xxx.class);
        startActivity(intent);
      • 隐式Intent:
        Intent intent=new Intent(); intent.setAction(xxx);
        intent.addCategory(xxx); startActivity(intent);
    • 四种启动模式:
      • standard:标准模式
      • singleTop:栈顶复用模式
      • singleTask:栈内复用模式
      • singleInstance:单实例模式
    • 对用户而言是可见的。
    • 通过finish()结束一个Activity。

相关基础:入门之Activity篇开发艺术之Activity

b.Service

  • 类型:计算型组件。
  • 作用:在后台执行一系列计算任务,耗时的后台计算建议在单独的线程中执行。
  • 使用:
    • 需要在AndroidManifest中注册。
    • 需要借助Intent启动:
      Intent intent = new Intent(xxx.this, xxx.class);
      startService(intent);
    • 两种运行状态:
      • 启动状态:通过startService()
      • 绑定状态:通过bindService()
    • 用户无法感知。
    • 通过unBindService()和stopService()完全停止一个Service。

相关基础:入门之Service篇

c.BroadcastReceiver

  • 类型:消息型组件。
  • 作用:在不同的组件乃至不同的应用之间传递消息。
  • 使用:
    • 两种注册方式:
      • 动态注册:通过Context.registerReceiver()&
        Context.unRegisterReceiver(),必须要应用启动才能注册并接收广播。
      • 静态注册:在AndroidManifest文件中注册,不需要启动应用即可接收广播。
    • 需要借助Intent发送广播:
      Intent intent = new Intent(“xxx”); sendBroadcast(intent);
    • 四种广播类型:
      • 普通广播
      • 有序广播
      • 本地广播
      • 粘性广播
    • 用户无法感知。
    • 没有停止概念。

相关基础:入门之BroadcastReceiver篇

d.ContentProvider

  • 类型:共享型组件。
  • 作用:向其他组件乃至其他应用共享数据。
  • 使用:
    • 需要在AndroidManifest中注册。
    • 无需借助Intent启动。
    • 四种操作:注意需要处理好线程同步
      • insert():添加数据
      • update():更新数据
      • delete():删除数据
      • query():查询数据
    • 用户无法感知。
    • 无需手动停止。

相关基础:入门之ContentProvider篇IPC方式之ContentProvider

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注