بررسی مشکلاتی که ممکن است بعد از انتشار برنامه اندروید در فروشگاه های اندروید، کاربران با آن روبرو شوند (مشکلاتی از برنامه اندروید که تا زمان انتشار برنامه، متوجه آنها نشده ایم)
نکته : این مبحث بر اساس نظرات کاربران، به مرور تکمیل خواهد شد.
واقعیت این است که ما قبل از انتشار برنامه اندروید در فروشگاه های اندروید، از چند مرحله عبور می کنیم تا مشکلات احتمالی برنامه اندروید را پیدا کنیم، اما امکان دارد که باز هم مشکلاتی باقی بمانند. ابتدا بگذارید مراحل را ذکر کنیم :
1- برنامه eclipse (یا همان ADT Bundle)(خود برنامه eclipse ، بسیاری از خطاها را تذکر می دهد و چنانچه برنامه اندروید دارای خطا باشد، از ساختن فایل apk از آن، جلوگیری می کند)
2- تست کردن برنامه اندروید ساخته شده که برنامه eclipse ، هیچ خطایی از آن نگرفته است. تست کردن ممکن است به یکی از روش های زیر باشد :
الف - با virtual device ها در برنامه eclipse ( آموزش شماره 205 )
ب- با نرم افزارهای شبیه ساز (مثل YouWave Android و Genymotion و BlueStacks App Player و ...) ( آموزش شماره 211 و آموزش شماره 322 )
ج- با گوشی های واقعی ( آموزش شماره 813 )
3- پس از دادن برنامه اندروید به فروشگاه اندروید، خود مسئولان فروشگاه اندروید هم برنامه را تست می کنند
ولی همان طور که گفتم، هنوز هم ممکن است که برخی از مشکلات باقی بمانند. زیرا پارامترهای تاثیرگذار برای ایجاد شدن یک خطا، زیاد هستند :
1- رعایت نشدن قوانین کدنویسی (متاسفانه برخی موارد را برنامه eclipse نمی تواند تشخیص بدهد و بدون تشخیص آنها، اجازه ساخت فایل apk را می دهد) --> در این حالت، برنامه اندروید بر روی هر گوشی یا شبیه سازی، دچار مشکل شده و بسته می شود، بنابراین سریع متوجه می شویم.
2- مشکل برخی کدها با نسخه های اندروید (API) خیلی قدیمی یا با نسخه های اندروید (API) خیلی جدید (برخی از این موارد را نیز برنامه eclipse نمی تواند تشخیص بدهد) --> در این حالت، با تست برنامه اندروید بر روی virtul device ها یا شبیه سازها یا گوشی های واقعی با نسخه های API مختلف، می توانیم متوجه بشویم که با کدام نسخه ها (API) از اندروید مشکل دارد. ممکن است که با دو حالت روبرو شویم :
الف- با نگاه کردن به قسمت LogCat در برنامه eclipse ، سرنخی در مورد مشکل برنامه با آن نسخه API به دست می آوریم و سپس در جهت رفع آن، اقدام می کنیم (رفع مشکل یا جایگزینی کدی که دیگر با آن نسخه API مشکلی نداشته باشد).
ب- ممکن است که LogCat به ما کمکی نکند و بنابراین مجبور شویم که با بررسی بخش های مهم کدها و جستجو در مورد آنها در اینترنت، متوجه بشویم که با کدام نسخه های API ناسازگار هستند و چگونگی رفع مشکل آنها و یا جایگزینی را برای آنها پیدا می کنیم.
اگر برای نسخه های API خیلی قدیمی، مشکل برطرف نشد، می توانید minSdkVersion را تغییر بدهید تا کاربران با نسخه های API خیلی قدیمی، با دیدن حداقل نسخه لازم، دیگر اقدام به نصب برنامه اندروید نکنند (نتوانند نصب کنند).
3- سخت افزار گوشی (اندازه صفحه نمایش، رزولوشن صفحه نمایش، مقدار حافظه (memory) و ...) --> در مورد پارامترهای صفحه نمایش، قبلا توضیحاتی را داده ایم که چگونه برنامه اندروید را به صورت مناسب برای صفحه نمایش های با اندازه و رزولوشن مختلف طراحی کنیم ( آموزش شماره 239 ). اما پارامتر حافظه (memory) یکی از مهمترین مواردی است که می تواند مشکلاتی را به وجود آورد. مثلا دو مورد را که خود من با آن سر و کار داشتم را ذکر می کنم :
الف - بعد از ساخت بازی ((حافظه تصویری))، برنامه در فروشگاه اندروید منتشر شد، اما تعدادی از کاربران از بسته شدن برنامه اندروید در وسط بازی شکایت داشتند. بنده یک گوشی با امکانات سخت افزاری پایین تهیه کردم و متوجه شدم که برنامه اندروید در وسط بازی دچار مشکل شده و بسته می شود. چون لحظه بسته شدن، در هر بار اجرای آن، متفاوت بود، حدس زدم که باید مشکل از حافظه (memory) باشد. بنابراین برای رفع آن، از نکته گفته شده در آموزش شماره 253 استفاده کردم.
ب- برای ساخت برنامه ((آموزش برنامه نویسی متلب))، چون دوست نداشتم که کدهای آموزش ها حتی ذره ای جابجا شده و یا در خط بعد قرار بگیرند، آنها را به صورت عکس در برنامه ذخیره کردم (فایل های HTML که محتوایی به صورت عکس داشتند)، اما عکس هایی که خیلی بزرگ بودند، در برخی از گوشی ها با حافظه پایین، نمایش داده نمی شدند (بدون به وجود آمدن خطا و کل فایل HTML به شکل خالی نمایش داده می شد).