Android java.lang.NumberFormatException:无效的int:";“DEOA”;
我正在开发一个即时聊天应用程序。我使用了一组表情符号通过我的应用程序发送表情符号。我使用以下代码将表情符号的unicode字符发送到服务器Android java.lang.NumberFormatException:无效的int:";“DEOA”;,android,numberformatexception,Android,Numberformatexception,我正在开发一个即时聊天应用程序。我使用了一组表情符号通过我的应用程序发送表情符号。我使用以下代码将表情符号的unicode字符发送到服务器 String toServer = StringEscapeUtils.escapeJava(message); 当我从服务器接收消息时,我使用以下代码进行解码: try { String messageReceived = StringEscapeUtils.unescapeJava(message);
String toServer = StringEscapeUtils.escapeJava(message);
当我从服务器接收消息时,我使用以下代码进行解码:
try {
String messageReceived = StringEscapeUtils.unescapeJava(message);
String date = jsonObject.getString("date");
Long time = Long.parseLong(date);
String t = getDateFromTimestamp(time);
Log.e("TimeC", t);
Log.e("Date", date);
isSelf = true;
msg = new Bean_Message(userName, messageReceived, isSelf);
msg.setTime(t);
listBeanMessages.add(msg);
adapter_message.notifyDataSetChanged();
} catch (NumberFormatException e) {
Log.e("Exception", String.valueOf(e));
}
解码Unicode时,我收到NumberFormatException。下面给出了日志:
Caused by: java.lang.NumberFormatException: Invalid int: "DEOA"
at java.lang.Integer.invalidInt(Integer.java:138)
at java.lang.Integer.parse(Integer.java:375)
at java.lang.Integer.parseInt(Integer.java:366)
at org.apache.commons.lang.StringEscapeUtils.unescapeJava(StringEscapeUtils.java:331)
at org.apache.commons.lang.StringEscapeUtils.unescapeJava(StringEscapeUtils.java:287)
at com.almabay.almachat.activity.SingleChatActivity.parseJsonFeed(SingleChatActivity.java:582)
at com.almabay.almachat.activity.SingleChatActivity$MessageTask.onPostExecute(SingleChatActivity.java:517)
at com.almabay.almachat.activity.SingleChatActivity$MessageTask.onPostExecute(SingleChatActivity.java:505)
请帮助我解决此问题。
原因:java.lang.NumberFormatException:无效int:“DEOA”
DEOA不是有效的int。DE0A是。实际上,我从服务器获得的是DEOA。我正在从获取Unicode\uD83D\uDEOA。我需要使用EmojiconTextView对其进行解码以显示其表情。但是“O”不能解释为数字。“O”与“0”不同。类似地,“I”与“1”不同,我在尝试某些操作时手动向服务器发送了一个unicode。所以我猜我写错了。现在该怎么办?更正您发送的内容。还要检查你收到了什么(我想你可以很容易地将“O”替换为“0”,看看会发生什么)。