Android应用程序组件的启动方式

  • Activity,通过传递一个Intent对象给startActivity()或者startActivityForResult()启动,该Intent对象带有“动作”和该动作作用到的“数据”。
  • Service,同样需要一个带有“动作”和“数据”的Intent对象,启动用startService(),绑定用bindService()。
  • Broadcast receiver,也需要一个Intent对象,但该对象只需带有广播的声明即可,可以用sendBroadcast()、sendOrderedBroadcast()、sendStickyBroadcast()。
  • Content provider,不需要Intent对象,出于安全性的考虑,应用程序只能通过一个ContentResolver对象来访问Content provider提供的数据,该ContentResolver对象就是应用程序访问Content provider的数据的一个代理,有点像网络编程里的Socket对象,应用程序向该代理发出请求(即调用该对象里的方法,如query()),该代理通过与Content provider交互后将结果返回给应用程序。

你可能感兴趣的:(Android学习笔记)