Android 开发的四大组件分别是:Activity,Service,Broadcast Receive,Content Provide。

1.Activity

Android应用中负责与用户交互的组件。

Activity的生命周期包括以下七个部分:

(1) onCreate():当 Activity 第一次创建时会被调用。这是生命周期的第一个方法。在这个方法中,可以做一些初始化工作也可借助onCreate()方法中的Bundle对象来恢复异常情况下Activity结束时的状态。

(2) onRestart():表示Activity正在重新启动。一般情况下,当当前Activity从不可见重新变为可见状态时,onRestart就会被调用。

(3) onStart(): 表示Activity正在被启动,即将开始,这时Activity已经出现了,但是还没有出现在前台,无法与用户交互。这个时候可以理解为Activity已经显示出来,但是我们还看不到。

(4) onResume():表示Activity已经可见了,并且出现在前台并开始活动。需要和onStart()对比,onStart的时候Activity还在后台,onResume的时候Activity才显示到前台。

(5) onPause():表示 Activity正在停止,仍可见,正常情况下,紧接着onStop就会被调用。在特殊情况下,如果这个时候快速地回到当前Activity,那么onResume就会被调用(极端情况)。onPause中不能进行耗时操作,会影响到新Activity的显示。因为onPause必须执行完,新的Activity的onResume才会执行。

(6) onStop():表示Activity即将停止,不可见,位于后台。可以做稍微重量级的回收工作,同样不能太耗时。

(7) onDestory():表示Activity即将销毁,这是Activity生命周期的最后一个回调,可以做一些回收工作和最终的资源回收。

2.Service

Service是一种程序,它跟Activity的级别差不多,但不能自己运行只能后台运行,并且可以和其他组件进行交互。

启动Service有两种方式:

(1)Context.startService():其生命周期如下:context.startService() -> onCreate() -> onStart() -> Service running -> context.stopService() -> onDestroy() -> Service stop ()。

(2)Context.bindService():其生命周期如下:context.bindService() -> onCreate() -> onBind() -> Service running -> onUnbind() -> onDestroy() -> Service stop

3.BroadcastReceiver

在Android中,广播是一种广泛运用的在应用程序之间传输信息的机制。而广播接收器是对发送出来的广播进行过滤接受并响应的一类组件。可以使用广播接收器来让应用对一个外部时间做出响应。

注册广播的方式有两种:静态注册和动态注册。动态注册的广播会受Activity的生命周期的影响, 当Activity销毁的时候,广播就失效了。而静态注册的广播,即使Activity销毁了,仍然可以收到广播。

4.Content Provider

ContentProvider可以实现在应用程序之间共享数据,Android为常见的一些数据提供了默认的ContentProvider(包括音频、视频、图片和通讯录等)。 所以我们可以在其他应用程通过那些ContentProvider获取这些数据.

在Content Provider中使用的查询字符串有别于标准的SQL查询。很多诸如select, add, delete, modify等操作我们都使用一种特殊的URI来进行,这种URI由3个部分组成, “content://”, 代表数据的路径,和一个可选的标识数据的ID