Skocz do zawartości

asm

Członkowie
  • Postów

    3
  • Dołączył

  • Ostatnio

    Nigdy

asm's Achievements

Newbie

Newbie (1/14)

0

Reputacja

  1. Chodzi o logcat? 12-26 20:12:30.648: W/dalvikvm(5891): threadid=1: thread exiting with uncaught exception (group=0x40018578) 12-26 20:12:30.656: E/AndroidRuntime(5891): FATAL EXCEPTION: main 12-26 20:12:30.656: E/AndroidRuntime(5891): java.lang.StringIndexOutOfBoundsException 12-26 20:12:30.656: E/AndroidRuntime(5891): at java.lang.String.substring(String.java:1651) 12-26 20:12:30.656: E/AndroidRuntime(5891): at com.example.bt1.MainActivity$ConnectedThread$2.run(MainActivity.java:240) 12-26 20:12:30.656: E/AndroidRuntime(5891): at android.os.Handler.handleCallback(Handler.java:587) 12-26 20:12:30.656: E/AndroidRuntime(5891): at android.os.Handler.dispatchMessage(Handler.java:92) 12-26 20:12:30.656: E/AndroidRuntime(5891): at android.os.Looper.loop(Looper.java:130) 12-26 20:12:30.656: E/AndroidRuntime(5891): at android.app.ActivityThread.main(ActivityThread.java:3687) 12-26 20:12:30.656: E/AndroidRuntime(5891): at java.lang.reflect.Method.invokeNative(Native Method) 12-26 20:12:30.656: E/AndroidRuntime(5891): at java.lang.reflect.Method.invoke(Method.java:507) 12-26 20:12:30.656: E/AndroidRuntime(5891): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) 12-26 20:12:30.656: E/AndroidRuntime(5891): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625) 12-26 20:12:30.656: E/AndroidRuntime(5891): at dalvik.system.NativeStart.main(Native Method)
  2. Próbuję napisać aplikację która będzie odbierała dane z bluetooth HC-05, wszystko by było dobrze, ale aplikacja zawiesza się gdy czyści bufor. Gdy zakomentuję linijkę czyszczenia bufora aplikacja się nie zawisza. W czym tkwi problem. public void run() { byte[] buffer = new byte[1024]; int bytes; //final StringBuilder sBuffer = new StringBuilder(""); final StringBuffer sBuffer = new StringBuffer(""); while (true) { try { // Read from the InputStream bytes = mmInStream.read(buffer); if(bytes > 0) { byte[] newbuffer = new byte[bytes]; for(int i = 0; i < bytes; i++) newbuffer[i] = buffer[i]; final String data2 = new String(newbuffer, "US-ASCII"); handler.post(new Runnable() { public void run() { if(data2.indexOf('>')==-1) { sBuffer.append(data2); } else { sBuffer.append(data2); String data=new String(sBuffer); data=data.substring(data.indexOf('<')+1,data.indexOf('>')); String[] lista = data.split("#"); tvVoltage.setText(" "); tvVoltage.setText(data); sBuffer.delete(0, sBuffer.length()); // Gdy zakomentuję tę linię aplikacja nie zawiesza się } } }); } } catch (IOException e) { Log.e("BT", "watcher", e); break; } } }
×
×
  • Utwórz nowe...