- Activity,就是用户能看到的整个屏幕部分,负责处理跟用户的交互。
- Service,跟传统意义上的后台程序类似,没有用户界面。其它组件(如Activity)可以启动一个Service并将其与自己绑定以便与其交互。
- Content provider,用来管理应用程序共享的数据。被管理的数据可以存储在文件系统、SQLite数据库、网络等(只要应用程序可以访问得到)。其它应用程序可以通过它来查询或者修改共享的数据(如果有权限的话)。
- Broadcast receiver,负责处理广播到整个系统的消息(如关闭屏幕、电量低、收到短信、来电等)。
以上就是Android应用程序的四大组件,任何应用程序都可以启动其它应用程序的组件,这样的设计可以提高软件的可重用性,比如说你想在你的程序里实现发短信的功能,你不必苦逼的自己去实现这个功能,因为系统已经有了实现这一功能的程序,你只需向系统发出请求,系统就会帮你启动这个程序的相应的组件(当然,如果这个程序还未启动,系统会自动新建一个进程并启动这个程序),完了再返回到你的应用程序(包括执行结果,如果有的话)。