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

۱۱ خطا در برنامه نویسی اندروید
برنامه خود را نوشتید و قصد تست دارید. دیوایس مجازی را باز کرده، گزینه Run را می زنید. در ابتدا، یا بعد از این که برنامه آمد، یا بعد از کمی بالا و پایین کردن صفحات برنامه، خطا می دهد و خارج می شود. در این جا، رایج ترین خطاهای برنامه نویسی اندروید را نام می بریم و روش برطرف کردن آنها را نشان می دهیم:
۱. ActivityNotFoundException
این خطا یکی از رایج ترین خطاهای طراحی اپلیکیشن اندروید است و هنگامی اتفاق میفتد که شما قصد دارید یک Activity را باز کنید و این اکتیویتی، تعریفنشده است. برای برطرفکردن این خطا، آن را در فایل Manifest وارد کنید.
۲. ClassCastException
همانطور که میدانید در طراحی اپلیکیشن، از زبان جاوا هم استفاده میشود. زبان Java هم به شما اجازه میدهد کلاسهای متفاوتی تعریف کنید.
این خطا در برنامه نویسی اندروید، زمانی رخ میدهد که شما میخواهید یک شی را به یک نمونهای که از آن کلاس موردنظر نیست، cast کنید، بهعنوان مثال، قراردادن یک عدد (Integer) در درون یک رشته حرفی (String).
برای برطرف نمودن این خطا، بایستی مکان خطا را بهوسیلۀ Log Error پیدا کرده و cast را بهصورت درست انجام دهید.
۳. Error converting byte to dex
در طراحی اپلیکیشن موبایل، اگر به خطای Error converting byte to dex برخوردید، در ابتدا، پروژه را پاک (Clean) کرده و بعد، Rebuild کنید. اگر برطرف نشد، به package name کلاس مورد نظر بروید و آن را چک کنید که مثل package name داخل فایل Manifest باشد.
۴. NullPointer Exception
NullPointerException، یکی از معروفترین اشتباهات طراحی اپلیکیشن اندروید است. این خطا زمانی رخ میدهد که برنامهنویس، به شیای که موجود نیست ارجاع میدهد. بهعنوان مثال، یک متد از یک شی خالی (مانند فراخوانی اسم یک شی که هنوز نامی به آن داده نشده است) و یا تغییر دادن خانهای از آرایهای که هنوز پر نشده است.
برنامه تلاشی که میکند در جهتِ برگردانده null دارد که ارور NullPointerException رخ میدهد. برای برطرف کردن این مشکل، برنامه نویس اندروید، به تولید چیزی نیاز دارد که باعث ایجاد exception شده دارد، بعد آن را پیدا و اصلاح کند.
۵. INSTALL_FAILED_INSUFFICIENT_STORAGE
زمانی با این مشکل روبهرو میشوید که قصد دارید برنامه را بر روی دیوایس مجازی یا هر نوع دیوایسی اجرا نمایید که حافظۀ کافی ندارد.
اگر که از دیوایس مجازی استفاده میکنید، سعی کنید آن را ببندید، بعد AVD Manager را باز کنید و دیوایس مورد نظر خودتان را پیدا کرده، گزینۀ Edit و سپس گزینۀ Show Advanced Settings را بزنید و بعد، گزینۀ Memory and Storage را بیابید، و میزان حافظۀ این دیوایس را افزایش دهید.
اگر از یک گوشی موبایل یا هر نوع اسمارتفونی استفاده میکنید، با پاککردن موارد اضافه، کمی حافظه ایجاد کنید.
۶. OutofMemoryError
یکی از اشتباهات طراحی اپلکیشن اندروید، OutofMemoryError است، که زمانی بهوجود میآید که به حافظهای نیاز داشته باشید که در اختیار شما نیست.
علل زیادی موجب بروز این خطا میشوند، ولی معروفترین های آن، اینها هستند: نگه داشتن یک ارجاع برای مدت زمان طولانی، بارگذاری یک عکس با حجم زیاد، و کمبود حافظه.
برای برطرف کردن این خطا در برنامه نویسی اندروید، نیاز است علت دقیق آن را بدانید. بهعنوان مثال، اگر برای بارگذاری یک عکس، دیدید که عکس حجیم بود، بایستی اندازۀ عکس را کم کنید.
اندروید استودیو روشها و راههای بسیاری برای مانیتور کردن اپلیکیشن، در اختیار برنامهنویس اندروید قرار داده است. همانند Allocation Tracker، Memory Monitor و …

۷. layout.main Cannot Be Found / Cannot resolve symbol R
یکی دیگر از خطاهای برنامه نویسی اندروید که علل زیادی برای نمایش این ارور وجود دارد، همین گزینه است. برای برطرفکردن آن، چند بار برنامه را پاک (clean) و rebuild نمایید.
اگر خطا برطرف نشد، همۀ layoutها را بررسی کنید و مطمئن شوید ارجاع درست شده باشد.
۸. Too many field references
یکی از خطاهای طراحی اپلیکیشن اندروید، Too many field references است. این خطا در برنامه نویسی اندروید، وقتی اتفاق میفتد که بیشتر از ۶۵۵۳۵ ارجاع داشته باشید.
دو روش برای رفع این خطا وجود دارد: یا از تعداد ارجاعها کم کنید، یا برنامۀ شما، از بیشتر از یک فایل dex استفاده کند.
۹. Only the original thread that created a view hierarchy can touch its views
یکی دیگر از اشتباهات طراحی اپلیکیشن اندروید، زمانی است که شما قصد دارید یک view را بهوسیلۀ یک thread بهغیر از UI thread بهروزرسانی کنید.
برای رفع این خطا، مطمئن شوید تمام کارها را با UI thread انجام میدهید.
۱۰. NetworkOnMainThreadException
هنگامی که در حال انجام کاری شبکهای بهوسیلۀ main thread هستید و دستوراتی دیگر هم، در حال اجرا هست، این ارور را میبینید. برای برطرفکردن این مشکل، بایستی اتصال به اینترنت را به یک thread دیگر انتقال دهید.
۱۱. Activity has leaked window that was originally added here
خطای شماره یازده، زمانی پیش میآید که برنامه نویس قصد خروج از یک activity را دارد، در حالی که دیالوگهای آن اکتیویتی در حال اجراست. برای رفع این مشکل، باید مطمئن شود پیش از خروج از activity، تمام دیالوگها بسته شده باشند.

شناخت خطای Choose a Valid JDK Directory از رایج ترین خطاهای برنامه نویسی اندروید
زمانِ طراحی برنامه اندرویدی، اگر به خطای JDK برخوردید، به اینمعنی است که اندروید استودیو نمیتواند تشخیص بدهد که JDK در کجا نصب شده است.
روش رفع این خطا:
خطاهای طراحی اپلیکیشن اندروید، هر کدام راهحلی دارند. برای برطرف کردن خطای Choose a Valid JDK Directory هم، ابتدا از نوار ابزار اندروید استودیو، به قسمت File رفته، و سپس به بخش Project structure بروید.
در مرحلۀ بعد از رفع این خطا در برنامه نویسی اندروید، SDK Location را از منوی سمت چپ انتخاب کنید. در آخر، چکباکسی را که JDK در آن قرار دارد بررسی نمایید و اطمینان حاصل کنید که آن چکباکس، انتخاب شده باشد.
خطاهای برنامه نویسی اندروید: آشنایی با خطای Installing AP
هنگامی که کار شمای برنامه نویس تمام میشود، دیگر وقتِ تست اپلیکیشن فرا میرسد. برای این کار، بایستی اپلیکیشن اندروید را به یک گوشی یا تبلت متصل کرده و کار تست را انجام دهید.
در این مرحله، بارها یکی از رایجترین خطاهای برنامه نویسی اندروید، دیده شده که همان، خطای Installing APK است، و یا اتفاق دیگری که رخ میدهد این است که گوشی موبایل شما، در پنجره Select Deploument Target دیده نمیشود. راهحل این خطا در برنامه نویسی اندروید، اقدامات زیر را انجام دهید:
- USB، را چک و حتماً بخشِ عیبیابیِ USB را فعال کنید.
- دستگاهی (گوشی هوشمند یا تبلت) را که در اختیار دارید، بررسی نمایید و چک کنید آیا اجازه اتصال، از شما میخواهد یا نه.
- برای رفع این مورد از خطاهای طراحی اپلیکیشن اندروید، به درایور USB هم توجه کنید. شاید این درایو، یکی از مواردی باشد که باعث بروز این خطا شده است. اطمینان حاصل کنید که درست، نصب شده باشد.
- از دستگاهتان مطمئن شوید که برای SDK پروژۀ شما، میتواند یک شرایط حداقلی را فراهم کند.
- و در پایان بررسی این خطا از خطاهای طراحی اپلیکیشن اندروید، Android Debug Bridge را ریاستارت کنید.
انواع خطاهای برنامه نویسی
حالا که با پرتکرارترین خطاهای طراحی اپلیکیشن اندروید آشنا شدید، بد نیست مروری داشته باشیم بر نام انواع خطاهایی که در دنیای برنامه نویسی تکرار میشود:
- خطا در قواعد نوشتاری (Syntax Error)
- خطای لاجیگ یا منطقی (Logical Error OR Bug)
- خطای کامپایل (Compile Error)
- خطا در محاسبات (Arithmetic Error)
- خطا در منبع (Resource Error)
- Interface Errors
جمعبندی
اندروید، یک پلتفرم قدرتمند است که بهسرعت تکامل مییابد. شاید منطقی نباشد که از کاربران انتظار داشته باشیم این سرعت را ادامه دهند، اما برای توسعهدهندگان اندروید بسیار مهم است که اینکار را انجام دهند.
در اینمیان، خطاهای برنامه نویسی اندروید را هم نباید دستکم گرفت. یکسری خطاهای طراحی اپلیکیشن اندروید وجود دارند که اگر برنامه نویس از آنها آگاه نباشد، در دام تلۀ اشتباهات طراحی اپلیکیشن اندروید میفتد.
دانستن این موضوع که اندروید فقط روی گوشیها یا تبلتهای ما نیست، مهمتر است. این روی مچ دست ما، در اتاق نشیمن، در آشپزخانه و در اتومبیل ما هم هست. قبل از شروع توسعه، حتما نگاهی هم خطاهای طراحی اپلیکیشن اندروید داشته باشید. در این مقاله، با معروفترین خطاهای برنامه نویسی اندروید آشنا شدید. امیدواریم که برای شما مفید بوده باشد.
خطاهای برنامه نویسی اندروید رو آموزش رفع خطا هم دارید؟
سلام وقت بخیر
آموزش رفع خطاهای طراحی اپلیکیشن اندروید هم میذارید؟