【问题标题】:Is there a way I can keep a socket thread running over multiple activities?有没有办法让套接字线程在多个活动中运行?
【发布时间】:2020-06-16 00:49:04
【问题描述】:

我对 Android 中的线程和套接字非常陌生。这就是我想要做的。

第 1 步。活动 1 有一个名为“连接”的按钮。

第 2 步。点击“连接”按钮后,应用程序将尝试连接到计算机上运行的 server.java。如果连接失败,它将停留在同一个活动中。否则它将转到活动 2。

第 3 步。活动 2 有一个编辑框和一个“发送”按钮。单击“发送”按钮后,数据将发送到服务器。

我可以在下一个活动中访问同一个线程吗?如果线程处于活动状态,我如何在该特定线程上执行任务?任何示例代码都会很有帮助。

【问题讨论】:

  • 使用后台服务。
  • 考虑到现代服务的时间限制,实际上前台服务可能会更好

标签: java android multithreading serversocket


【解决方案1】:

当连接按钮启动套接字时,您应该在活动 1 中使用foreground service,实际上您的服务应该连接到套接字,服务将处理连接并发送和接收数据。 之后在activity2中你应该使用eventBus之类的东西将数据从活动发送到服务并将你的数据从服务发送到套接字

这是最好的解决方案,因为所有数据和模型处理都是在服务中完成的,您不必使用套接字处理每个活动中的响应。

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2010-10-14
    • 1970-01-01
    • 2020-04-04
    • 1970-01-01
    • 2020-03-10
    • 1970-01-01
    • 2013-09-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多