vw_websocket
vw_websocket copied to clipboard
WebSocket.buildJavaScriptData fatal NullPointerException FIX
01-13 20:22:15.355 1285-1285/com.example.app E/AndroidRuntime﹕ FATAL EXCEPTION: main java.lang.NullPointerException at com.strumsoft.websocket.phonegap.WebSocket.buildJavaScriptData(WebSocket.java:416) at com.strumsoft.websocket.phonegap.WebSocket.access$400(WebSocket.java:60) at com.strumsoft.websocket.phonegap.WebSocket$5.run(WebSocket.java:389) at android.os.Handler.handleCallback(Handler.java:725) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5041) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) at dalvik.system.NativeStart.main(Native Method)
Ok, NullPointerException causes when
String event == error
String msg == null
so it needs to be fixed as below, and I confirmed the JS side error event fired properly
private String buildJavaScriptData(String event, String msg) {
if (msg == null )
msg = “”;
String _d = “javascript:WebSocket.” + event + “(” + “{” + “\”_target\”:\”" + id + “\”,” + “\”data\”:’” + msg.replaceAll(“‘”, “\\\\’”)
+ “‘” + “}” + “)”;
return _d;
}
I will check it carefully