Java 如何将数据从服务/线程类传递到主活动?
我在名为Java 如何将数据从服务/线程类传递到主活动?,java,android,multithreading,service,android-intent,Java,Android,Multithreading,Service,Android Intent,我在名为“sum”的主活动中创建了变量,并在我创建的服务线程中创建了循环,将变量增加1,如下所示: public void run() { for(int i=0;i<50000000;i++) { num++; } public void run(){ 对于(inti=0;i,您必须使活动绑定到服务并为其定义接口。 但是它必须是服务吗?也许异步任务可以是一个更简单的解决方案?您可以通过在服务线程中广播意图,并在主线程中注册该意图类型的接收者来实现这一点。
“sum”
的主活动中创建了变量,并在我创建的服务线程中创建了循环,将变量增加1,如下所示:
public void run() {
for(int i=0;i<50000000;i++) {
num++;
}
public void run(){
对于(inti=0;i,您必须使活动绑定到服务并为其定义接口。
但是它必须是服务吗?也许异步任务可以是一个更简单的解决方案?您可以通过在服务线程中广播意图,并在主线程中注册该意图类型的接收者来实现这一点。为此,您需要三个组件:
- 如果您需要从服务发送到主线程的附加数据,则添加额外的内容
- Broadcast receiver,一个类,它扩展了
BroadcastReceiver
,并在广播意图时执行其OnReceive
方法
- 意图过滤器,基本上是将意图链接到接收者的东西。使用过滤器类型注册接收者
我可以重新键入代码,但在该链接上有关于如何使用该代码的说明。您对最后三张幻灯片感兴趣:
此外,请查看以下内容:
http://developer.android.com/reference/android/content/IntentFilter.html