Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从服务更改文本视图';丝线_Java_Android_Sockets - Fatal编程技术网

Java 从服务更改文本视图';丝线

Java 从服务更改文本视图';丝线,java,android,sockets,Java,Android,Sockets,我有一个粘性未绑定服务,我通过wifi上的广播接收器启动,即当wifi打开时,我的服务启动。我的服务创建了一个线程来执行一些套接字操作。每当套接字连接到远程设备时,我想在文本框中显示“手机已连接”,当它未连接时,应显示“已断开”。 我尝试过做一些事情,但没有成功 我找的是绑定服务。但是我看到的示例展示了一种从MainActivity类调用我的服务类的方法。而不是相反。每当服务的线程类中的连接状态发生变化时,我想调用MainActivity的方法来设置文本框的文本 我尝试通过接口使用回调,Main

我有一个粘性未绑定服务,我通过wifi上的广播接收器启动,即当wifi打开时,我的服务启动。我的服务创建了一个线程来执行一些套接字操作。每当套接字连接到远程设备时,我想在文本框中显示“手机已连接”,当它未连接时,应显示“已断开”。 我尝试过做一些事情,但没有成功

  • 我找的是绑定服务。但是我看到的示例展示了一种从MainActivity类调用我的服务类的方法。而不是相反。每当服务的线程类中的连接状态发生变化时,我想调用MainActivity的方法来设置文本框的文本
  • 我尝试通过接口使用回调,MainActivity在接口中实现接口。为此,我需要将MainActivity的对象传递给thread类的构造函数。但是服务创建的线程不接受任何参数。这就像制作线程java类的两个对象。一个是不接受任何参数的服务,另一个是接受其实例作为参数的MainActivity类
  • 我尝试通过Parcadable将MainActivity实例发送到服务。对于该MainActivity,它必须实现Parceable,但在实现CREATER时会抛出错误
  • 我也遵循了这一点,但不明白它试图做什么

  • 要么我采取了错误的方法。或者我遗漏了以上几点。每当套接字连接或断开时,我希望我的文本框内容发生变化,该套接字运行在由广播接收器调用的未绑定服务创建的线程中。

    怎么办?我不知道。我也会看的。但是有没有不使用第三方依赖关系的解决方案呢?嗯……我个人更喜欢这个库,因为它易于实现,而且我可以知道是否有活动的订户。如果只有有人在听,我才应该触发事件。