通过互联网简单共享文本和数字应用程序(客户端)
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);
要回顾一下,您需要:
- 创建一个Socket.IO实例
- 当用户点击发送时,从
EditText
中获取文本并发出它
- 侦听消息并更新
TextView
有关实施的详细信息,请参阅 Socket.IO's Android tutorial。我强烈建议您看一下这个,因为它是一个完整的工作示例。
希望对您有所帮助!
我需要一些服务器编码方面的帮助,所以这是我第一次开发在线应用程序(已经开发了一些 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);
要回顾一下,您需要:
- 创建一个Socket.IO实例
- 当用户点击发送时,从
EditText
中获取文本并发出它 - 侦听消息并更新
TextView
有关实施的详细信息,请参阅 Socket.IO's Android tutorial。我强烈建议您看一下这个,因为它是一个完整的工作示例。
希望对您有所帮助!