نحوه رفع خطای 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference

بروز شد ۱۱ روز ۱۷ ساعت قبل توسط ر مرادی

سلام.

برنامه بنده اطلاعات رو از سرور میخونه و لینک ها هم https هستند

مشکل بنده مجدد اینه که تا اندروید 8.1 مشکلی نداره و برنامه به درستی اجرا میشه منتها بالاتر از این فورس کلوز میده و این خطا رو به من نمایش میده:

Attempt to invoke virtual method ‘boolean java.lang.String.equals(java.lang.Object)’ on a null object reference

ولی تا اندروید 8.1 مشکلی نداره و به درستی کار میکنه!

این کدها رو هم داخل مانی فست برنامه قرار دادم:

داخل تگ اپلیکیشن اینو قراردادم:

android:usesCleartextTraffic="true"
و پایین تگ اپلیکیشن هم اینو قراردادم:
<uses-library
    android:name="org.apache.http.legacy"
    android:required="false" />

<meta-data
android:name=”com.google.android.actions”
android:resource=”@xml/network_security_config” />

اکسپورت همه اکتیویتی ها رو هم true قرار دادم.

android:exported="true"

مشکل بنده از چیه؟

کدهای تون رو به این شکل تغییر بدید و مجدد چک کنید :

    if (ActivityShowLifeInsure != null && ActivityShowLifeInsure.data != null && !ActivityShowLifeInsure.data.isEmpty()){
        Intent intent = new Intent(ActivityWaitLoadLifeInsureDetails.this, ActivityShowLifeInsure.class);
        intent.putExtra("id", id);
        startActivity(intent);
        timer.cancel();
        finish();
    }

لینک ها رو 

http 

کردم درست نشد.

منتها دستوری که من بهش داده بودم این خط کدها بود:

    if (!ActivityShowLifeInsure.data.equals("")){
Intent intent = new Intent(ActivityWaitLoadLifeInsureDetails.this, ActivityShowLifeInsure.class);
intent.putExtra("id", id);
startActivity(intent);
timer.cancel();
finish();
}


وقتی که دستور 

if 

رو حذف میکنم درست میشه و خطایی نمیده.

چرا زیر اندروید 9 این خطا نمیاد؟

 

چه کدی اضافه کنم که به دستور ایف من ایراد نگیره؟

دو تا پیشنهاد دارم برای اینکه مشکل رو پیدا کنید :
1- اول کدهایی که قبل و بعد از ارسال درخواست به سمت سرور رو کامل چک کنید با حالت دیباگ,

2- در صورتی که مورد اول نتونست کمک کنه, ممکنه موقع رخ دادن خطا, خطی که درون اون خطا وجود داره داخل تب run در پایین Android Studio برای شما با رنگ آبی نشون بده و میتونید حل کنید

3- اگر هیچ کدوم از اینا هم نبود لینک های https رو به http تغییر بدید.

این خطا روی اندروید 8.1 به بالا رخ میده و پایین تر از اون برنامه اوکیه و کار میکنه

با سلام

در جزییات خطای که ارسال کرده اید دیده میشود که شما دو رشته را به یک دیگر مقایسه میکنید اما یکی از این دو رشته دارای مقداری Null می باشد و امکان مقایسه وجود ندارد.

دنبال جای بگردید که دو رشته متن رو با هم مقایسه کردید.

ارسال پاسخ
-

برای وارد کد از تگ pre استفاده کنید.

به تگ شروع attribute کلاس EnlighterJSRAW بدهید.

برای تنظیم زبان کد ها از attribute خاص data-enlighter-language استفاده کنید.

<pre class="EnlighterJSRAW" data-enlighter-language="php">..your codes..</pre>

گفتگوی برنامه نویسان

بخشی برای حل مشکلات برنامه‌نویسی و مباحث پیرامون آن

دوره های پیشنهادی

مقالات پیشنهادی

هک و امنیت

در تعریف کلی این واژه می توان گفت که به پیدا کردن راه های نفوذ به یک حریم شخصی و استفاده غیر مجاز از آن را هک می نامیم. هدف از هک می تواند ...


۱۰۲
۰
۱۳ آذر ۱۳۹۹

اندروید

اندروید یک سیستم عامل می باشد که توسط گوگل توسعه داده میشود, این سیستم عامل بر پایه نسخه ی اصلاح شده ی هسته ی لینوکس و دیگر نرم افزار های متن باز طراحی شده است و ...


۱۲۷
۰
۲۹ آبان ۱۳۹۹

وردپرس

وردپرس یک سیستم مدیریت محتوای قوی می باشد که با استفاده از آن می توان وب سایت ها و وبلاگ های گوناگونی با هر شرایطی را طراحی کرد چرا که این سیستم و ...


۱۰۳
۰
۱۳ آذر ۱۳۹۹

نود جی اس

توسعه دهندگان نود جی اس, زبان جاوا اسکریپت را از یک زبان قابل اجرا در مرورگر خارج کرده و به زبانی تبدیل کردن که بتوان آن را بصورت یه اپلیکیشن مستفل اجرا کرد و ...


۱۳۹
۰
۱۲ آذر ۱۳۹۹