构成Android程序的四个基本要素是:Activity, Intent, Service 和 Content Provider。 而其中最常用的是Activity, Intent 和 Content Provider。
Activity是Android程序的窗口, Intent是窗口间的通信机制,Service就是后台进程, 而Content Provider 就是共用数据源。
如果我们现在要开发一个电话通讯录程序,用来存放朋友家人或工作同事的电话号码。 首先, 你需要定义一个类来继承Activity。这个类实现一个窗口,用来显示每个人的人名和电话号码。 接着, 你需要定义第二个继承Activity的类, 这个类实现另一个窗口, 用来提供用户输入。这样你就可以在这个窗口输入新的人名和相应的电话号码。如果你的朋友更换了电话号码,你就需要在你的电话通讯录中更新他的记录。首先你需要在第一个窗口中找到这个朋友的记录,选中它,然后启动第二个窗口(也就是提供用户输入的窗口)来更新这个朋友的电话号码。这就意味着这两个窗口间需要传递消息(这里就是朋友的人名和电话号码), 而Intent就是实现这个功能的。具体实现是,你在第一个窗口类中,把人名和电话号码以参数形式传给Intent,并指定是实现第二窗口的类接收。在第二个窗口类中,你定义一个Listener方法来接收Intent及其参数。
除了实现以上基本功能,你可能还希望你的电话通讯路程序能与其它程序共享数据。比方说,你还有一个网络电话程序。你希望网络电话程序可以使用电话通讯录的电话号码来拨打朋友的手机,同时也可以把接收的新电话号码更新到电话通讯录中。要实现这个共享功能,你就需要在你的电话通讯录程序使用Content Provider类。
至于什么时候使用Service, 很简单,如果你希望在输入人名和电话号码的时候,同时听周杰伦的歌,你就需要用Service来实现一个后台播放器的程序。