我需要一些服务器编码的帮助,所以这是我第一次开发一个在线应用程序(已经开发了一些Android应用程序,离线)。基本上这个应用程序从User1输入的EditText
中获取字符串或数字等数据并将其发送到User2,并使用从User1收到的数据更新其TextView
。这里有两个不同的应用程序。我读过有关Java套接字编程语言的内容,并且我已经学会了它。了解一下TCP / UDP。
所以我真的可以使用示例代码来查看它的样子(从EditText
获取数据并将其发送给user2,以使用收到的数据更新他/她的TextView
。)<登记/>
我也研究了一些具有相同目的的项目,尽管我理解了其中的一些但却感到困惑。
假设我有拼图,我需要有人向我展示如何将它们组合在一起。
答案 0 :(得分:0)
有多种方法可以解决这个问题(REST,WebSocket等)我建议在这种情况下使用套接字,但我会让您了解不同方法的优点/缺点。< / p>
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);
总结一下,你需要:
EditText
中的文字并将其发出TextView
有关实施的详细信息,请参阅Socket.IO's Android tutorial。我强烈建议你看看这个,因为它是一个完整的,有效的例子。
希望这有帮助!