Ошибка при попытке отладки приложения на Android
В настройках все разрешения выдал, приложение установилось. Но когда запускаю - на секунду появляется и потом сразу пропадает с экрана. В Android Studio появляется следующая ошибка:
05/19 14:54:23: Launching 'app' on Xiaomi M2102J20SG.
Install successfully finished in 422 ms.
$ adb shell am start -n "com.example.personalaccounting/com.example.personalaccounting.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Connected to process 6452 on device 'xiaomi-m2102j20sg-7681996a'.
Capturing and displaying logcat messages from application. This behavior can be disabled in the "Logcat output" section of the "Debugger" settings page.
I/Perf: Connecting to perf service.
D/NetworkSecurityConfig: No Network Security Config specified, using platform default
D/NetworkSecurityConfig: No Network Security Config specified, using platform default
I/MiuiMultiWindowUtils: isSupportMultiSwitchFeature = false
W/sonalaccountin: Accessing hidden method Landroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z (greylist, reflection, allowed)
Accessing hidden method Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V (greylist, reflection, allowed)
D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.personalaccounting, PID: 6452
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.personalaccounting/com.example.personalaccounting.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.isEmpty()' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3539)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3699)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2135)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:236)
at android.app.ActivityThread.main(ActivityThread.java:8057)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:656)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.isEmpty()' on a null object reference
at com.example.personalaccounting.MainActivity.LoadData(MainActivity.java:198)
at com.example.personalaccounting.MainActivity.onCreate(MainActivity.java:43)
at android.app.Activity.performCreate(Activity.java:8143)
at android.app.Activity.performCreate(Activity.java:8115)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1310)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3512)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3699)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2135)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:236)
at android.app.ActivityThread.main(ActivityThread.java:8057)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:656)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967)
I/Process: Sending signal. PID: 6452 SIG: 9
В чём может быть проблема?
Ответы (1 шт):
Автор решения: Arty Morris
→ Ссылка
В этих строках кроется ошибка
MainActivity.java:198
MainActivity.java:43
А ошибка у вас, не определена строка.
null object reference
Что бы избежать этого в дальнейшем, при инициализации строки сразу присваивайте значение. Например:
String test = "";
И таких ошибок не будет