java - converting string to int or boolean inside handler -


im trying build engine monitor, receiving string of data arduino via bluetooth. created bluetoothin handler reads , splits string variables. need convert variables string integer or double doing inside handler causes app crash. aware handler returns thats why app crashes. how extract data handler? thank in advance

bluetoothin = new handler() {   public void handlemessage(android.os.message msg) {     if (msg.what == handlerstate) {                                     //if message want       string readmessage = (string) msg.obj;                                                                // msg.arg1 = bytes connect thread       recdatastring.append(readmessage);                                      //keep appending string until ~       int endoflineindex = recdatastring.indexof("~");                    // determine end-of-line       if (endoflineindex > 0) {                                           // make sure there data before ~         string datainprint = recdatastring.substring(0, endoflineindex);    // extract string         txtstring.settext("data received = " + datainprint);         int datalength = datainprint.length();         txtstringlength.settext("string length = " + string.valueof(datalength));          if (recdatastring.charat(0) == '#') {           //datapro=string.valueof(recdatastring);           //message msg = message.obtain();           //msg.obj=datapro;           //msg.settarget(handler2);           //msg.sendtotarget();           sensor0 = recdatastring.substring(1, 5);             //get sensor value string between indices 1-5           sensor1 = recdatastring.substring(6, 10);           sensor2 = recdatastring.substring(11, 15);           sensor3 = recdatastring.substring(16, 20);            rpm = (double.valueof(sensor2) * 1000);           v = ((rpm / ratio[box]) / fd) * (0.118);           status = integer.valueof(sensor3);            sensorview0.settext(" battery voltage = " + sensor0 + "v");    //update textviews sensor values           sensorview1.settext(" velocity = " + string.valueof(v));           sensorview2.settext("rpm=" + string.valueof(rpm));           sensorview3.settext(string.valueof(status));          }          recdatastring.delete(0, recdatastring.length());                    //clear string data         // strincom =" ";         datainprint = " ";       }     }   } }; 

logcat: 04-26 17:07:51.288: i/art(13924): late-enabling -xcheck:jni 04-26 17:07:51.413: d/bluetoothadapter(13924): 72305841: getstate() : mservice = null. returning state_off 04-26 17:07:51.426: d/openglrenderer(13924): use egl_swap_behavior_preserved: true 04-26 17:07:51.435: d/atlas(13924): validating map... 04-26 17:07:51.500: i/adreno-egl(13924): : qualcomm build: 01/15/15, ab0075f, id3510ff6dc 04-26 17:07:51.501: i/openglrenderer(13924): initialized egl, version 1.4 04-26 17:07:51.521: d/openglrenderer(13924): enabling debug mode 0 04-26 17:08:45.253: w/bluetoothadapter(15820): getbluetoothservice() called no bluetoothmanagercallback 04-26 17:08:51.273: d/androidruntime(15820): shutting down vm 04-26 17:08:51.273: d/androidruntime(15820): --------- beginning of crash 04-26 17:08:51.275: e/androidruntime(15820): fatal exception: main 04-26 17:08:51.275: e/androidruntime(15820): process: com.example.alpha_version, pid: 15820 04-26 17:08:51.275: e/androidruntime(15820): java.lang.numberformatexception: invalid int: "0.00" 04-26 17:08:51.275: e/androidruntime(15820): @ java.lang.integer.invalidint(integer.java:138) 04-26 17:08:51.275: e/androidruntime(15820): @ java.lang.integer.parse(integer.java:410) 04-26 17:08:51.275: e/androidruntime(15820): @ java.lang.integer.parseint(integer.java:367) 04-26 17:08:51.275: e/androidruntime(15820): @ java.lang.integer.parseint(integer.java:334) 04-26 17:08:51.275: e/androidruntime(15820): @ java.lang.integer.valueof(integer.java:525) 04-26 17:08:51.275: e/androidruntime(15820): @ com.example.alpha_version.main$1.handlemessage(main.java:95) 04-26 17:08:51.275: e/androidruntime(15820): @ android.os.handler.dispatchmessage(handler.java:102) 04-26 17:08:51.275: e/androidruntime(15820): @ android.os.looper.loop(looper.java:135) 04-26 17:08:51.275: e/androidruntime(15820): @ android.app.activitythread.main(activitythread.java:5254) 04-26 17:08:51.275: e/androidruntime(15820): @ java.lang.reflect.method.invoke(native method) 04-26 17:08:51.275: e/androidruntime(15820): @ java.lang.reflect.method.invoke(method.java:372) 04-26 17:08:51.275: e/androidruntime(15820): @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:903) 04-26 17:08:51.275: e/androidruntime(15820): @ com.android.internal.os.zygoteinit.main(zygoteinit.java:698) 04-26 17:08:57.542: i/process(15820): sending signal. pid: 15820 sig: 9 04-26 17:08:57.942: d/openglrenderer(15987): use egl_swap_behavior_preserved: true 04-26 17:08:57.948: d/atlas(15987): validating map... 04-26 17:08:58.010: i/adreno-egl(15987): : qualcomm build: 01/15/15, ab0075f, id3510ff6dc 04-26 17:08:58.012: i/openglrenderer(15987): initialized egl, version 1.4 04-26 17:08:58.066: d/openglrenderer(15987): enabling debug mode 0

your status = integer.valueof(sensor3); guess line no 95 in main.java. statement throwing exception cause sensor3's value 0.00 not int


Comments

Popular posts from this blog

asp.net mvc - SSO between MVCForum and Umbraco7 -

Python Tkinter keyboard using bind -

ubuntu - Selenium Node Not Connecting to Hub, Not Opening Port -