0

我开始了一个android项目,就像聊天程序一样。像这样从我的服务器下载的数据

1~my name~my username~message

不,我的问题是,是否有任何与 android 兼容的字符来替换上面的分隔符 (~)。恐怕,如果在其他日子,用户使用字符〜,程序会崩溃。

我使用了字符÷,但我的android无法读取它,它变成了'?'。有人遇到同样的问题吗??

4

3 回答 3

0

如果您也在服务器端使用 Java,您可以定义一个对象,ChatMessage然后将其发送SocketObject Stream服务器。

正如 Burak 指出的那样,您的方式是错误的方式......但是还有其他几种方式,恕我直言,对象流可能是您最简单的解决方案。

于 2012-06-24T15:10:00.737 回答
0

首先,为客户端-服务器通信创建自己的格式几乎是个坏主意,我最好的建议是尝试使用 json 或 xml。客户端和服务器端都有很多可用的库来形成/解析它们,您所要做的就是使用后端语言来返回其中一种格式。

对于python:http ://docs.python.org/library/json.html

对于 php: http: //php.net/manual/en/book.json.php

对于安卓:http: //developer.android.com/reference/org/json/JSONObject.html

您可以通过简单的搜索轻松找到其他语言。

于 2012-06-24T13:16:59.923 回答
0

如果您使用分隔符,它是放入您正在分隔的流中的数据的可能内容,您将遇到问题。

为了防止这种情况,您需要防止角色以可能被误解的方式出现。

  1. 在输入端,检测出现并用特殊代码或转义前缀字符替换它们,或引用内容(尽管你必须处理引号字符的文字出现)

  2. 如果使用转义字符,则拆分代码必须忽略转义字符后或引用序列中的任何分隔符。

  3. 在输出端,您应该用编码字符的文字实例替换代码或转义序列,或删除任何引用字符。

正如其他人所提到的,有许多标准方案和功能来处理它们。

于 2012-06-24T15:21:01.760 回答