Service分类:
Service从本质上可以分为两种类型:
Started(启动):当应用程序组件(如:Activity)通过调用startService()方法启动服务时,服务处于started状态。一旦启动,服务能在后台无限期的运行,及时启动他的组件已经被销毁。
Bound(绑定):当应用程序组件通过调用bindService()方法绑定到服务时,服务处于bound状态。绑定服务提供客户端-服务器接口,以允许组件与服务进行交互、发送请求、获得结果、甚至使用进程间的IPC跨进程完成这些操作。
Service的重要方法
onStartCommand()
onBind()
onCreate()
onDestroy()
Started Service创建
通过继承Service、IntentService来创建启动服务。
Bound Service创建
绑定到服务是允许其他应用程序绑定并且与之交互的Service类实现类。为了提供绑定,开发人员必须实现onBind()回调方法。
在实现绑定到服务是,最重要的是定义onBind()回调方法返回的接口。可以有3种方式。
a. 继承Binder类
b. 使用Messager
c. 使用AIDL
Service的生命周期
StartedService:当其他组件调用StartService方法时,服务被创建,接着,服务无限期的运行,其自身必须调用stopself()方法或者其他组件调用stopService()方法来停止服务,当服务停止时,系统将其销毁。
Bound Service:当其他组件调用bindService()方法时,服务被创建。接着客户端通过IBinder接口与服务通信。客户端通过unbindService()方法关闭连接。多个客户端能够绑定到同一服务,并且他们都解绑定是,系统销毁服务
Intent应用
通过HTTP访问网络有两种方法:
(1) 使用java.net包中的HttpURLConnection实现
(2) 通过Android提供的HttpClient实现。