四大组件:
1.Activity
个人理解为窗口(界面)管理,通过setContentView(view)方法显示界面。入参可以是View对象或者布局管理资源的ID。
2.Service
不需要与用户交互。为其他组件提供后台服务或者监控其他组件运行状态。
3.BroadcastReceiver
组件之间的消息传递。重写onReceive(Conrext context, Intent intent)方法。通过Context.registReceiver()方法注册或者在AndroidManifest.XML中使用<receiver.../>注册。
4.ContentProvider
应用之间的信息传递,通过ContentResolver接收数据。实现方法insert(Uri, ContentValues); delete(Uri, ContentValues); update(Uri, ContentValues, String, String[]); query(Uri, String[], String, String[], String);
Intent
封装了当前组件需要启动或者触发的目标组件的信息
1,2,3之间的通信都以Intent为载体,Intent可以触发、启动1,2,3.
启动1:调用Context的startActivity(intent)或者startActivityForResult(Intent intent,int requestCode );
启动2:调用Context的startService(intent)或者bindService(Intent service,ServiceConnection conn, int flags);
启动3:调用Context的sendBroadcast(intent)、sendStickyBroadcast(intent)或者sendOrderedBroadcast(Intent intent, String receiverPermission);
显式Intent明确指定目标组件类名;
隐式Intent指定目标组件满足的条件;目标组件通过IntentFilter来声明自己满足的条件。