我在一个活动和一个服务(位于另一个应用程序中)之间创建了一个通信。当我的服务从活动得到一个调用时,它会生成一个新线程来执行一个任务。通常情况下,完成这个任务需要3秒。
当来自活动的消息来到服务时,我们持有它。并检查此消息的replyTo是否为空。replyTo不为空。(行)
public class RemoteService extends Service{ ... private static class IncomingHandler extends Handler implements Observer{ private Message msg; @Override public void handleMessage(Message msg){ //- Hold the arrival message this.msg = msg; //- Check out value of replyTo Messenger replyTo = msg.replyTo; if (replyTo != null) Log.d("tag","replyTo ====///////==== null"); else Log.d("tag","replyTo ======== null"); //- Spawn a new thread to do the task try{ CustomThread thread = new CustomThread(); thread.registerObserver(this); thread.start(); }catch (Exception e) { log.d("tag",e.getMessage()); } } //- When the task is done @Override public void update(int result, String value) { //- Check out value of replyTo Messenger replyTo = msg.replyTo; if (replyTo != null) Log.d("tag","replyTo ====///////==== null"); else Log.d("tag","replyTo ======== null"); //- prepare the data Bundle data = new Bundle(); data.putString("key",value); Message message = Message.obtain(null,2,0,0); message.setData(data); //- Send message to the activity if (replyTo != null) replyTo.send(message); } }
当任务完成时,它通知承载它的类。它将调用方法更新。在handleMessage方法中,replyTo不为空。但是,3秒后,在update方法中,replyTo为null,并且崩溃。
这是为什么?可能是因为IncomingHandler是一个静态类?或者还有什么原因?
通过调用:Message.auttain(null,...-这就是replyTo为null的原因
你好,Stackoverflow社区,我是android新手,正在学习如何实现基于位置的服务<我成功地实现了一个速度计应用程序,它可以测量当前速度、总距离和总行驶时间。 现在,我想添加一个附加功能,如果速度增加40公里/小时,我会打开图片并使用前置摄像头拍照。 我对实现这一点感到困惑,因为location是作为一个单独的LocationService类提供的。我看了很多例子,但我无法将其应用到我的
此外,在微服务之间具有HTTP依赖关系,例如当使用HTTP请求链创建长请求/响应周期时,如图4-15的第一部分所示,不仅使微服务不自治,而且一旦链中的一个服务表现不佳,它们的性能就会受到影响。 来源:https://docs.microsoft.com/en-us/dotnet/standard/microservices-architecture/architect-microservice-c
问题内容: 如何建立Java应用程序侦听php发送的数据的方式?套接字还是Http POST? 本质上,我在另一台服务器上运行Java应用程序,以等待在另一台服务器上运行的PHP脚本发送的某些字符串数据。 任何图书馆建议或示例代码将不胜感激。 问题答案: 最好的选择可能是设置一个Java servlet“容器”(服务器),例如tomcat(如果出于公司原因,您可以花很多钱购买其他东西)。 http
我有Jasper Reports服务器(安装在www.example.net上)和一个单独的Java/JSP应用程序(安装在www.example.net上),我在寻找不同的选项来生成报告。 选项1(当前工作解决方案) 我目前的工作解决方案是用户登录到Java /JSP应用程序,并选择一个报告。应用程序创建报告的XML表示,并将其保存为,然后使用以下代码将其发送到Jasper报告服务器: (请注意
问题内容: 我试图弄清楚如何通过使用Android应用程序在网页上显示实时数据。 例如,用户正在使用android应用并获得评分(回答问题)。我的网页将实时显示分数。 IV得出使用Redis的结论,但是我需要什么才能使其正常工作?我是否需要一个可与我的网页进行通信的Web套接字。这个套接字可以是python,它在其中访问数据库,然后按顺序响应分数? 我正在努力寻找这种方法到底是怎么工作的,因为这对
本文向大家介绍Web服务器和应用程序服务器之间的区别,包括了Web服务器和应用程序服务器之间的区别的使用技巧和注意事项,需要的朋友参考一下 服务器是一个中心位置,通过网络应用程序可以存储和访问信息和程序。Web Server是一种服务器,它接受数据请求并返回相关文档,而Application Server包含一个ejb容器组件以及运行企业应用程序。 以下是Web服务器和应用程序服务器之间的重要区别