رفع مشکل با دیوایس های صفحه بزرگ در اجرای برنامه اندروید

با نام خدا و سلام، چند روزی درگیر ارور های مختلفی برای اجرای برنامه در  تبلت ها بودم، اپلیکیشن روی گوشی ها چه شبیهساز چه حقیقی بدون هیچ ایرادی اجرا میشد تا اینکه یه روز یکی از دوستان که تبلت داشت و برنامه رو برای تست بهش داده بودیم گفت من مشکل دارم و قضایا از همون جا شروع شد (بی تجربگی من برای در نظر گرفتن تبلت در تست اپلیکیشن)

خلاصه این که برنامه همه جوره ارور مضخرف nullPointException رو روی هرچیزی میداد که اولیش به یه Set کردن typerface برای یه text  بود و بعدشم به ارور روی چک کردن کانکشن ها برخوردم… چک کردن کانکشن ها رو با تغییر کد بررسی ارتباط به نت از کد:

if ( connec.getNetworkInfo(0).getState() == android.net.NetworkInfo.State.CONNECTED ||
connec.getNetworkInfo(0).getState() == android.net.NetworkInfo.State.CONNECTING ||
connec.getNetworkInfo(1).getState() == android.net.NetworkInfo.State.CONNECTING ||
connec.getNetworkInfo(1).getState() == android.net.NetworkInfo.State.CONNECTED ) {

// if connected with internet

// Toast.makeText(this, ” Connected “, Toast.LENGTH_LONG).show();
return true;

} else if (
connec.getNetworkInfo(0).getState() == android.net.NetworkInfo.State.DISCONNECTED ||
connec.getNetworkInfo(1).getState() == android.net.NetworkInfo.State.DISCONNECTED ) {

//Toast.makeText(this, ” Not Connected “, Toast.LENGTH_LONG).show();
return false;
}
return false;

 

به کد:

// get Connectivity Manager object to check connection
ConnectivityManager connec;
connec = (ConnectivityManager)co.getSystemService(co.CONNECTIVITY_SERVICE);

NetworkInfo netInfo = connec.getActiveNetworkInfo();
if (netInfo != null && netInfo.isConnectedOrConnecting()) {
    return true;
}
return false;

حل کردم که خدا رو شکر راحت حل شد، اکا مشکل بعدی با مورد هایی مثه setTypeFace  و مورد های مشابه بود، یعنی اگه یکی رو کامنت میکردم باز یکی دیگه ارور داشت، متاسفانه با مطرح کردن مشکل در stackoverFlow مشکل حل نشد و کلی گیر دادن که خب داری nullPointException میگیری و مشکل مشخصه!! (کلی توضیح دادم بالام جان میدونم nullPointException  چیه ولی فایده نداشت)

خلاصه تا اینکه امروز که داشتم با layout ها نگاه میکردم دیدم کنار layout اصلیم یه فلش حالت کشویی هست!!! باز کردم دیدم بله دو تا فایل layout دارم که یکیش برای large هست !! ولی من نساحته بودمشون(احتمال کار دوستی بوده که قبل ن روی اپلیکیشن کار می کرد) منم که اصن دقت نکرده بودم، خلاصه با باز کردن متوجه شدم که ساختار layout برای صفحات بزرگ ساختار قدیمی اپلیکیشن و تغییرات اخیر واضح بود که روش اعمال نشده بود.

خلاصه روی اون layoout  که تو پرانتز جلوش large داشت راست کلیک و show in explorer  رو انتخاب کردم و کل پوشه large  رو از داخل layout  ها پاک کردم و مشکل حل شد.