通过互联网简单共享文本和数字应用程序(客户端)

Simple sharing text and number App(Client-side) over internet

我需要一些服务器编码方面的帮助,所以这是我第一次开发在线应用程序(已经开发了一些 android 应用程序,离线)。基本上这个应用程序从 User1 输入的 EditText 中获取字符串或数字等数据并发送给 User2,然后用从 User1 收到的数据 he/she 更新它的 TextView。(这里有两个不同的应用程序).我确实阅读了 Java 套接字编程语言,并且已经学会了。对 TCP/UDP 略知一二。

所以我真的可以使用示例代码来查看它的外观(从 EditText 获取数据并将其发送给 user2,以使用数据更新 his/her TextView收到。)
我也研究了一些具有相同目的的项目,尽管我理解其中一些但感到困惑。

假设我有拼图,我需要好心人教我如何拼拼。

有多种方法可以解决此问题(REST、WebSocket 等)我建议在这种情况下使用套接字,但我会留给您阅读 pros/cons 不同方法.

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()

然后 emit 在发送按钮的 OnClickListener 中发送消息。

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

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。我强烈建议您看一下这个,因为它是一个完整的工作示例。

希望对您有所帮助!