【发布时间】:2017-09-25 14:59:33
【问题描述】:
我和Android Emitter.Listener not working有同样的问题 问题,但该问题中给出的答案没有帮助,我什至找不到任何解决方案。有人可以帮我解决这个问题吗?
在我的代码中,我将 base64 字符串发送到 node.js 服务器,该服务器保存文件并将链接发送回给我(文件保存工作正常)。即使链接没有被烘烤。
我的代码是:
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
socket.connect();
socket.on(Socket.EVENT_CONNECT, new Emitter.Listener() {
@Override
public void call(Object... args) {
socket.on("data", handleIncomingMessage);
}
});}
//Onclick of a button
JSONObject obj=new JSONObject();
try {
obji.put("profile_pic",image);
socket.emit("data",obji);
} catch (JSONException e) {
e.printStackTrace();
}
private Emitter.Listener handleIncomingMessage = new Emitter.Listener(){
@Override
public void call(final Object... args){
Toast.makeText(getActivity().getApplicationContext(),"Hello India",Toast.LENGTH_LONG).show();
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
JSONObject data = (JSONObject) args[0];
//JSONObject d=(JSONObject) args[1];
String imgLink;
try {
imgLink = data.getString("data").toString();
Glide.with(getContext()).load(imgLink).asBitmap().dontAnimate().into(imageView);
Toast.makeText(getActivity().getApplicationContext(),imgLink,Toast.LENGTH_LONG).show();
} catch (JSONException e) {
Toast.makeText(getActivity().getApplicationContext(),e.toString(),Toast.LENGTH_LONG).show();
}
}
});
}
};
【问题讨论】:
-
已经给出答案了!
标签: android socket.io event-listener