【问题标题】:Simple sharing text and number App(Client-side) over internet [closed]通过互联网简单共享文本和数字应用程序(客户端)[关闭]
【发布时间】:2017-05-16 03:28:11
【问题描述】:

我需要一些服务器编码方面的帮助,所以这是我第一次开发在线应用程序(已经开发了一些 android 应用程序,离线)。基本上,这个应用程序从用户1输入的EditText获取字符串或数字等数据并发送给用户2,并使用他/她从用户1收到的数据更新其TextView。(这里有两个不同的应用程序)。我确实阅读了有关 Java 套接字编程语言的信息,并且已经学会了。对 TCP/UDP 有一点了解。

所以我真的可以使用示例代码来看看它会是什么样子(从EditText 获取数据并将其发送给 user2,用收到的数据更新他/她的TextView。)
我还研究了一些具有相同目的的项目,尽管我理解其中一些但感到困惑。

假设我有拼图,我需要有人教我如何将它们拼凑在一起。

【问题讨论】:

  • 您要聘请开发人员为您编写此内容?
  • 欢迎来到 StackOverflow。请参阅here 了解什么是主题问题
  • @DavidWallace nope,第一次我需要知道代码的样子(发送和接收)。

标签: java android sockets server client-side


【解决方案1】:

有多种方法可以解决这个问题(REST、WebSocket 等)。我建议在这种情况下使用套接字,但我会留给您阅读不同方法的优缺点。

Socket.IO 有一个流行的 Android 库,用于两个节点之间基于事件的实时双向通信。

概括地说,要在您的应用程序中使用 Socket.IO,您首先需要创建它的一个实例。这将允许您发送和接收消息。例如:

private Socket mSocket;
mSocket = IO.socket("http://chat.socket.io");
mSocket.connect();

要发送消息,您需要 emit 参加活动。让我们将此事件称为"new message"。以下代码使用emit 发送消息。

mSocket.emit("new message", message);

在聊天应用程序中,当用户单击“发送”按钮时,您将emit 一条新消息。在您的特定情况下,您需要首先获取 EditText 的值,如下所示:

mEditText.getText().toString()

然后在“发送”按钮的OnClickListeneremit 您的消息。

现在我们知道如何发送消息,我们需要知道如何接收消息。要接收消息,您需要监听事件,而不是发出事件。

mSocket.on("new message", onNewMessage);

以上行将监听"new message"事件,并执行onNewMessage中设置的行为,即Listener。在您的聊天应用程序中,您可以通过在 Listener 中添加逻辑来使用新消息更新 TextView

mTextView.setText(message);

回顾一下,您需要:

  1. 创建一个 Socket.IO 实例
  2. 当用户点击发送时,从EditText 获取文本并发出
  3. 收听消息并更新TextView

可以在Socket.IO's Android tutorial 中找到有关实施的详细信息。我强烈建议您看一下这个,因为它是一个完整的工作示例。

希望这会有所帮助!

【讨论】:

  • 谢谢先生!简直不敢相信这么简单。
  • 很高兴能帮上忙!
猜你喜欢
  • 2012-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-25
相关资源
最近更新 更多