10天学通Android开发(2-3)-核心组件Service绑定(android,roi,service,移动开发)

时间:2024-04-20 07:25:16 作者 : 石家庄SEO 分类 : 移动开发
  • TAG :

    10%E5%A4%A9%E5%AD%A6%E9%80%9AAndroid%E5%BC%80%E5%8F%91%282-3%29-%E6%A0%B8%E5%BF%83%E7%BB%84%E4%BB%B6Service%E7%BB%91%E5%AE%9A

2)如果创建后并启动后再绑定,不会重新创建,一个Service只有一个实例

3)同时启动和绑定服务时,解除绑定服务,但不会销毁关闭服务的,必须解除绑定并停止服务。

4)通过StartService启动服务,当前Activity销毁,服务不会停止,通过BindService启动服务,当前Activity销毁,服务停止。

案例:绑定服务

主要功能:Service实现不断输出123……的服务功能,Activity调用Service的公开方法,调出当时的一个值。继续上次服务的案例,增加绑定等功能。

<Button

android:id="@+id/btnBindService"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="绑定服务" />

<Button

android:id="@+id/btnUnbindService"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="解除绑定" />

2) MainActivity.java,添加相应代码:

定义两按钮:

3)添加事件侦听器:

4)在onClick中添加判断分支:

break;

需要当前类实现ServiceConnection,加进继承ServiceConnection

同时产生了两接口方法,

成功绑定的方法:

}

5onBind要指定返回值,否则绑定时,其实没有真正绑定onServiceConnected不会执行

定义内部类MyServiceBinder扩展自Binder

}

定义myservicebinder,并返回:

private final MyServiceBindermyservicebinder=new MyServiceBinder();

}

6)服务内添加一输出:

其中,每一秒钟执行:

timer.schedule(task,1000,1000);

7onCreateonDestroy添加startTimerstopTimer

}

8)取得服务实例:

}

9)公开一个方法,取得服务内部的数字(状态)

}

10)回到主Activity,取得服务

定义变量:

private MyService myService=null;

取得实例:

}

11)添加按钮

android:text="GetCurrentNum" />

定义按钮:

btnGetCurrentNumber.setOnClickListener(this);

实现:

break;



本文:10天学通Android开发(2-3)-核心组件Service绑定的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:关于android环境搭建时sdk和adt下载慢的解决方法下一篇:

12 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18