Android基础之四大组件

1.Activity

  • Android程序与用户交互的窗口
  • 一个Activity通常就是一个屏幕窗口
  • Activity之间通过Intent进行通信
  • android应用中每一个Activity都必须要在AndroidManifest.xml配置文件中声明,否则系统将不识别也不执行该Activity。
  • 它需要为保持各界面的状态,做很多持久化的事情,妥善管理生命周期以及一些跳转逻辑

进一步学习:Android四大组件之活动(Activity)的探究

2.Service

后台服务于Activity,封装有一个完整的功能逻辑实现,接受上层指令,完成相关的事物
定义好需要接受的Intent提供同步和异步的接口

Service分为两种:

  • started(启动):当应用程序组件(如activity)调用startService()方法启动服务时,服务处于started状态。
  • bound(绑定):当应用程序组件调用bindService()方法绑定到服务时,服务处于bound状态。

区别:
startservice():其生命周期与启动它的组件无关,并且可以在后台无限期运行,即使启动服务的组件已经被销毁。
bindService():调用者与服务绑定在了一起,调用者一旦退出,服务也就终止。

需要在应用程序配置文件中声明全部的service,使用标签。

进一步学习:Android四大组件之服务(Service)的探究

3.Content Provider

  • Android提供的第三方应用数据的访问方案,对外提供数据(使一个应用程序的指定数据集提供给其他应用程序)
  • ContentProvider实现数据共享
  • 只有需要在多个应用程序间共享数据时才需要内容提供者
  • 开发人员不会直接使用ContentProvider类的对象,大多数是通过ContentResolver对象实现对ContentProvider的操作
  • ContentProvider使用URI来唯一标识其数据集,这里的URI以content://作为前缀,表示该数据由ContentProvider来管理。

进一步学习:Android四大组件之内容提供器(Content Provider)

4.BroadCast Receiver

  • 接受一种或者多种Intent作触发事件,接受相关消息,做一些简单处理,转换成一条Notification
  • 你的应用可以使用它对外部事件进行过滤,只对感兴趣的外部事件(如当电话呼入时,或者数据网络可用时)进行接收并做出响应。广播接收器没有用户界面。然而,它们可以启动一个activityservice来响应它们收到的信息,或者用NotificationManager来通知用户。通知可以用很多种方式来吸引用户的注意力,例如闪动背灯、震动、播放声音等。一般来说是在状态栏上放一个持久的图标,用户可以打开它并获取消息。
  • 广播接收者的注册有两种方法,分别是程序动态注册和AndroidManifest文件中进行静态注册
  • 动态注册:当用来注册的Activity关掉后,广播也就失效了。
  • 静态注册:无需担忧广播接收器是否被关闭,只要设备是开启状态,广播接收器也是打开着的。也就是说哪怕app本身未启动,该app订阅的广播在触发时也会对它起作用。

进一步学习:Android四大组件之广播接收器(BroadCast Receiver)

你可能感兴趣的:(Android基础之四大组件)