تیک۴

۱۱ خطای رایج برنامه نویسی اندروید و رفع آنها

خطای رایج برنامه نویسی اندروید هستند که بعد از مدت کوتاهی که شروع به نوشتن یک برنامه  اندروید می کنید، با آنها در هنگام اجرا مواجه می شوید. تعداد و نوع این خطاها زیاد است، ولی می توان آنها را به راحتی ترمیم کرد.
برنامه را نوشته و می خواهید تست کنید، دیوایس مجازی را باز می کنید و گزینه Run را می زنید.
بعد از آمدن برنامه یا در ابتدا، یا پس از گشت و گزار در صفخات آن برنامه خطا می دهد و خارج می شود.
در این آموزش در تیک۴ قصد داریم خطاهای رایج برنامه نویسی اندروید را نام برده و چگونچی برطرف کردن آنرا نشان دهید.

۱۱ خطای رایج در برنامه نوسی انروید:

۱ – ActivityNotFoundException :

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

برای رفع این خطا در فایل Manifest، آنرا وارد نمایید.

۲ – ClassCastException :

جاوا اجازه ی تعریف کلاس های متفاوت را به شما می دهد.
این خطا وقتی رخ می دهد که شما قصد دارین یک شی را به یک نمونه ای که از آن کلاس نیست cast کنید، مانند قراردادن یک عدد (Integer) در داخل یک رشته حرفی(String).

برا زفع این خطا مکان خطا را توسط Log Error پیدا کنید و cast را درست انجام دهید.

۳ –  Error converting byte to dex :

اگر به این مشکل برخورد کردید ابتدا پروژه را Clean و سپس Rebuild کنید. اگر دست نشد به package name کلاس مورد نظر را چک کنید که مانند package name در فایل Manifest باشد

۴ – INSTALL_FAILED_INSUFFICIENT_STORAGE :

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

اگر از دیوایس مجازی استفاده می کنید، آنرا ببندید، سپس AVD Manager را باز کنید و دیوایس مورد نظر خود را پیدا کرده و گزینه Edit را بزنید، سپس گزینه Show Advanced Settings را بزنید و گزینه Memory and Storage را پیدا کنید، و میزان حافظه این دیوایس را افزایش دهید.
اگر از یک گوشی یا هر نوع اسمارت فون استفاده میکنید، کمی حافظه با پاک کردن مواردی اضافی ایجاد کنید.

۵ – NullPointerException :

از جمله معروفترین خطای رایج برنامه نویسی اندروید است. این خطا وقتی اتفاق می افتد که شما به یک شی که موجود نیست ارجاع می دهید.
مثلا یک متد از یک شی خالی ( مثل فراخوانی نام یک شی که هنوز به آن نامی داده نشده است) یا تغییر خونه ای از آزایه که هنوز پر نشده است.

برنامه تلاش برای برکردانده null دارد که مشکل NullPointerException اتفاق می افتد

برای رفع این مشکل شما نیاز به تولید چیزی که باعث ایجاد exception شده استرا دارید، سپس آنرا پیدا و ترمیم کنید.

۶ – R.layout.main Cannot Be Found / Cannot resolve symbol R :

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

برای رفع آن چند بار برنامه را clean و rebuild کنید.

اگر درست نشد  همه layoutها را چک کنید و مطمئن شوید ارجاع درست شده باشد.

۷ – OutofMemoryError :

وقتی به این مشکل برخورد می کنید که نیاز به حافظه داشته باشید که در اختیاز شما نیست.

دلایل زیادی باعث ایجاد این خطا می شوند ولی معروف‌ترین های آن مانند نگه داشتن یک ارجاع برای مدت طولانی، بارگذاری یک عکس حجیموو کمبود حافظه.
برای رفع آن نیاز با دانشتن دقیق علت آن هست. مثلا اگر برای بارگذاری عکس حجیم بود، باید اندازه عکس را کاهش دهید.
اندروید استودیو راه های زیادی برای مانیتور کردن اپ در اختیار برنامه نویس قرار داده است. مانند  Memory Monitor،  Allocation Tracker و …

۸ – Only the original thread that created a view hierarchy can touch its views :

این اتفاق زمانی رخ می دهد که شما قصد در بروزرسانی یک view توسط یک thread به غیر از  UI thread دارید.

برای افع این مشکل مطمئن شوید همه ی کارها را با UI thread انجام می دهید.

۹ – Too many field references :

این خطا وقتی رخ می دهد که بیشتر از ۶۵۵۳۵ ارجاع داشته باشید.

رو راه برای رفع این مشکل است: یا تعداد ارجاع ها را کم کنید یا برنامه از بیشتر از یک فایل dex استفاده کند

۱۰ – NetworkOnMainThreadException :

وقتی در حال انجام کاری شبکه ای توسط main thread هستید و دستورات دیگری هم در حال اجرا است

برای رفع این مشکل باید اتصال به اینترنت را به یک thread دیگر انتقال دهید

۱۱- Activity has leaked window that was originally added here :

این خطا وقتی پیش می آید که شما قصد خروج از یک activity را داریو در حالی که دیالوگ های آن در حال اجرا است.

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

 

برای دیدن آموزش های اندروید بیشتر به قسمت آموزش مراجعه کنید

برای دیدن آموزش های کلی بیشتر به قسمت آموزش مراجعه کنید

خروج از نسخه موبایل