Android : Array index out of bound exception

on Wednesday, September 17, 2014


Actually i am scanning QR codes, if i pass full information to generate the QR and then scan it, it works fine, but if don't insert complete data to generate QR and then scan that QR, my app crashes. I have added the log report, and the code where it crashes. I have just inserted name and tel3 to generate QR, when i scanned it, it crashed



scanDataLength = scanData.length();
parts = scanData.split(":");
semiColons = scanData.split(";");
qrCodeType = parts[0];
if (qrCodeType.contentEquals("MECARD")) {
String name = semiColons[0].split(":")[2];
String adr = semiColons[1].split(":")[1];
String tel = semiColons[2].split(":")[1];
String tel2 = semiColons[3].split(":")[1];
String tel3 = semiColons[4].split(":")[1];
String email = semiColons[5].split(":")[1];
String email2 = semiColons[6].split(":")[1];
String url = semiColons[7].split(":")[1];
String notes = semiColons[8].split(":")[1];
saveContact(name, adre, tel, tel2, tel3, email, email2, url, notes);
}


Log



09-17 14:46:04.369: E/AndroidRuntime(12417): FATAL EXCEPTION: main
09-17 14:46:04.369: E/AndroidRuntime(12417): java.lang.ArrayIndexOutOfBoundsException: length=2; index=2
09-17 14:46:04.369: E/AndroidRuntime(12417): at com.gravity.innovations.qr.manager.ScanQRActivity$2.onPreviewFrame(ScanQRActivity.java:299)
09-17 14:46:04.369: E/AndroidRuntime(12417): at android.hardware.Camera$EventHandler.handleMessage(Camera.java:786)
09-17 14:46:04.369: E/AndroidRuntime(12417): at android.os.Handler.dispatchMessage(Handler.java:99)
09-17 14:46:04.369: E/AndroidRuntime(12417): at android.os.Looper.loop(Looper.java:137)
09-17 14:46:04.369: E/AndroidRuntime(12417): at android.app.ActivityThread.main(ActivityThread.java:5039)
09-17 14:46:04.369: E/AndroidRuntime(12417): at java.lang.reflect.Method.invokeNative(Native Method)
09-17 14:46:04.369: E/AndroidRuntime(12417): at java.lang.reflect.Method.invoke(Method.java:511)
09-17 14:46:04.369: E/AndroidRuntime(12417): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
09-17 14:46:04.369: E/AndroidRuntime(12417): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
09-17 14:46:04.369: E/AndroidRuntime(12417): at dalvik.system.NativeStart.main(Native Method)
09-17 14:46:05.588: I/Process(12417): Sending signal. PID: 12417 SIG: 9

0 comments:

Post a Comment