通过互联网简单共享文本和号码App(客户端)

时间:2017-01-01 23:01:21

标签: java android sockets server client-side

我需要一些服务器编码的帮助,所以这是我第一次开发一个在线应用程序(已经开发了一些Android应用程序,离线)。基本上这个应用程序从User1输入的EditText中获取字符串或数字等数据并将其发送到User2,并使用从User1收到的数据更新其TextView。这里有两个不同的应用程序。我读过有关Java套接字编程语言的内容,并且我已经学会了它。了解一下TCP / UDP。

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

假设我有拼图,我需要有人向我展示如何将它们组合在一起。

1 个答案:

答案 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);

总结一下,你需要:

  1. 创建Socket.IO实例
  2. 当用户点击发送时,抓取EditText中的文字并将其发出
  3. 收听消息并更新TextView
  4. 有关实施的详细信息,请参阅Socket.IO's Android tutorial。我强烈建议你看看这个,因为它是一个完整的,有效的例子。

    希望这有帮助!