نحوه رفع خطای '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>

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

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

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

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

درباره فایل Robots.txt

این فایل ربات های خزنده موتور های جستجو را راهنمایی می کنند و به آنان می فهماند که چه دایرکتوری و لینک هایی قابل بررسی و چه دایرکتوری و لینک هایی غیرقابل برررسی می باشند...


۵۳۶
۰
۲ دی ۱۳۹۹

هوش مصنوعی

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


۵۶۴
۰
۱۱ آذر ۱۳۹۹

جاوا اسکریپت

جاوا اسکریپت یک زبان پویا و محبوب مبتنی بر شیء, داینامیک و مفسری می باشد. این زبان برای برنامه نویسی سمت سرور و کلاینت استفاده میشود که ...


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

هک و امنیت

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


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