提问人:Drilan 提问时间:1/2/2017 最后编辑:Oleg BogdanovDrilan 更新时间:1/2/2017 访问量:71
通过互联网简单共享文本和数字应用程序(客户端)[已关闭]
Simple sharing text and number App(Client-side) over internet [closed]
问:
我需要一些服务器编码方面的帮助,所以这是我第一次开发在线应用程序(已经离线开发了一些 android 应用程序)。基本上,这个应用程序从 User1 输入并发送给 User2 中获取字符串或数字等数据,并使用他/她从 User1 收到的数据更新它。(这里有两个不同的应用程序)。我确实读过 Java 套接字编程语言,并且我已经学会了它。对 TCP/UDP 有所了解。EditText
TextView
因此,我真的可以使用示例代码来查看它的外观(从用户 2 获取数据并将其发送给用户 2,以使用收到的数据更新他/她。
我还研究了一些具有相同目的的项目,尽管我理解其中的一些项目但感到困惑。EditText
TextView
比方说,我有拼图,我需要有人向我展示如何将它们组合在一起。
答:
有多种方法可以解决这个问题(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()
,然后在“发送”按钮中的消息。emit
OnClickListener
现在我们知道了如何发送消息,我们需要知道如何接收消息。若要接收消息,需要侦听事件,而不是发出事件。
mSocket.on("new message", onNewMessage);
上面的行将侦听一个事件,并执行 中设置的行为,即 .在聊天应用程序中,您可以通过在 ."new message"
onNewMessage
Listener
TextView
Listener
mTextView.setText(message);
回顾一下,您需要:
- 创建 Socket.IO 实例
- 当用户单击“发送”时,从 中获取文本并发出
EditText
- 侦听消息并更新
TextView
有关实现的详细信息,请参阅 Socket.IO 的 Android 教程。我强烈建议你看一下这个,因为它是一个完整的工作示例。
希望这有帮助!
评论