Android应用程序由4个模块构成:Activity、Intent、ContentProvider、Service。
activity
activity是最基本的模块,我们称之为“活动”。一个activity通常就是一个单独的屏幕,每个活动都被实现为一个独立的类,并且从活动基类里继承而来,活动类将会显示由视图控件组成的用户接口,并对事件做出响应。
简单的说,activity代表一个用户能看到屏幕,主要用于处理应用程序的整体性工作,例如:监听系统事件,为用户显示指定的view,启动其他的activity等。所有的activity类都集成android.app.activity,该类是Android提供的基层类,其他的activity继承该父类后,通过父类的方法来实现各种功能。
intent
Android用intent这个特殊类来实现activity之间的切换。intent用于描述应用的功能。有两个最重要的部分:动作和动作对应的数据。
ContentProvider
主要用于Android应用数据与其他应用共享时.在android中,每个应用都运行在各自的进程中。通常情况下,一个应用不能读取其他应用的db文件。ContentProvider提供了一套标准的接口用来获取和操作数据。Android自身也提供了现成的ContentProvider: Contacts, Browser, CallLog, Settings, MediaStore. 应用通过ContentResolver来使用ContentProvider。ContentResolver提供的方法包括query(), insert(), update()等,其参数之一URI可以理解为String形式的ContentProvider的完全路径。
Service
Service是一个生命周期长且没有用户界面的程序。媒体播放器可以通过context.startService()来启动一个service在后台播放音乐,从而在后台保持音乐的播放。还可以通过context.bindService()连接到一个service上。如果这个service没有启动,则将启动它。当连接到一个service之后,还可以调用service提供的接口。