在Android中创建和连接Socket的正确方法

时间:2013-10-24 21:43:36

标签: java android sockets

我正在开发Android应用程序,我遇到了一个绊脚石:如何在Android中创建,管理和连接到Socket

我的应用程序需要与服务器保持持久的TCP连接,以便来回交换JSON格式的字符串。在阅读了这个主题之后,我确定了最好的方法是在应用启动时创建Service(通过扩展Application课程并在{{{}}中启动Service 1}}),然后根据需要读取/写入onCreate()。但是我该怎么做?

我显然知道如何创建Socket以及如何创建和使用Service。但我不知道在Android环境中与其中一个进行交互的最佳方式。每当我想写数据时,我应该创建Socket吗?我应该使用AsyncTask吗?任何关于这个主题的帮助都会很精彩。如果我的问题不明确,我会非常乐意澄清任何事情。

2 个答案:

答案 0 :(得分:1)

在服务中,您可以像在常规Java应用程序中那样简单地进行侦听。这意味着您可以像往常一样安全地等待IO。

如果您希望使用Intent通知您有关新数据到达的活动并通过使用{{1}注册sendBroadcast将其接收到您的活动,则必须使用BroadcastReceiver或修改清单文件。

This is a good tutorial that may help you with broadcasting for Service <-> Activity communication.

答案 1 :(得分:0)

显然我错误地想到了这个问题。我需要的是实现一个"Bound Service",它将为我的Activity提供一个交互界面,以便发送和接收消息。

这是我发现的link to the tutorial,它提供了如何执行此操作的绝佳概述。