安卓Service类创建与单一特性演示

欢迎转载,请注明转载自安卓订阅号(安卓编程入门进阶)。

百度云原清晰度地址:http://pan.baidu.com/s/1mhS0H8O

背景:安卓程序有许多功能需要用到线程,但是之前课程所述启动一个线程是在Activity中,这时如果Activity跳转,将导致最新的Activity难以对原有Activity的线程进行持续性的跟踪管理。为了解决这一问题,可以使用Service功能来创建线程并统一管理,原因在于Service在整个安卓系统中是唯一的,可以在不同的Activity中获取到同一个Service实例。如下实例创建两个Activity,每个Activity都用于启动Service,根据Service的输出判断分配的栈的变化。

1、  新建一个工程,名为LearnService。

2、  创建一个新的Activity,命名为Activity2。MainActivity中添加两个按钮,一个用于启动Service服务,另一个按钮用于启动Activity2。在Activity2中添加一个按钮用于启动服务。

3、  在包名上面点击右键创建一个Service,名称是使用默认。

4、  在Service中创建一个私有int变量初始为1,在onCreate方法中创建一个线程,线程内使用循环输出一个带有int数据字符串,int变量在每次循环时加1。用于在Activity切换的时候判断栈的情况。

安卓Service类创建与单一特性演示

5、在两个Activity为按钮添加监听事件,分别根据按钮作用跳转到另一个Activity或者开启Service。

安卓Service类创建与单一特性演示