خطاهای رایج در طراحی اپ اندروید و چاره رفع آنها
1. خطای رایج R.layout.main Cannot Be Found / Cannot Resolve Symbol R
این غلط وقتی شکل میدهد که اندروید استودیو نمیتواند به صحت فایل R.java را تشکیل داد کند. زمانی اندروید استودیو با خطای R.layout مواجه میشود، معمولا می گوید تک تک فولدرهای منبع طرحبندی نیز در گیر نقص شدهاند. همین قضیه منجر میشود تشخیص منبع اشتباه طاقت فرسا خواهد شد.
چاره رفع این خطا در طراحی نرمافزار اندروید:
برای رفع این ایراد پروژه را پاک فرمائید و یک درجه دیگر آن را مرمت کنید. در حالتی که دفعه اولیه فایده نداد، یک سری درجه این عمل را تکرار فرمائید تا غلط رفع خواهد شد. در شرایطیکه با این عمل هم سود نگرفتید، شاید علت غلط ناهماهنگی دربین اندروید استودیو و طرحبندی پروژه باشد. پس به نوار ابزار اندروید استودیو بروید و به ترتیب آیتمهای File، Invalidate Caches/Restart و Invalidate and Restart را انتخاب نمائید تا این ارور ازبین خواهد رفت.
2. خطای Choose a Valid JDK Directory
در صورتیکه هنگام طراحی اپلیکیشن با خطای JDK واکنش کردید یعنی اندروید استودیو نمیتواند تشخیص دهد که JDK کجا نصب شده میباشد.
چاره رفع خطا:
– از نوار ابزار اندروید استودیو آغاز به قسمت File بعد از آن به نصیب Project structure بروید.
– از منوی سمت چپ SDK Location را تعیین نمائید.
– احتسابباکسی که در آن JDK قرار دارد را رسیدگی کنید و مطمئن شوید آن بررسیباکس انتخاب شده باشد.
3. خطای رایج Installing APK
برای تست برنامه می بایست دستگاه توسعه نرم افزار اندروید را به تبلت یا گوشی هوشمند متصل نمایید. ولی در این حین ممکن است با خطای Installing APK را مواجه شوید یا حتی ممکن میباشد دستگاهتان در پنجره Select Deployment Target دیده نشود. برای حل این مشکلات، اقدامات ذیل را اعمال دهید.
رفع خطای Installing APK در طراحی برنامه اندروید:
– پژوهش فرمایید نصیب عیبیابی USB فعال باشد.
– صفحه تبلت یا موبایل هوشمند را تفحص فرمائید و ببینید از شما اجازه اتصال میخواهد یا نه.
– مطمئن شوید درایور USB به طور صحیح نصب گردیده است.
– مطمئن شوید دستگاهتان شرایط حداقلی SDK پروژه را برآورده میکند.
– فرایند Android Debug Bridge را ری استارت نمایید.
4. خطای INSTALL_FAILED_INSUFFICIENT_STORAGE
زمانی که بخواهید نرم افزار را روی تبلت یا گوشیهای هوشمند اجرا نمایید اما خیال و خاطر کافی برای نصب آن وجود نداشته باشد این ارور را مشاهده می کنید. این غلط بدین مضمون است که حجم برنامهتان زیاد هست و نمیتواند به نه نصب شود.
اما درصورتی که می خواهید پروژه خود را روی AVD نصب نمائید و این غلط را مشاهده میکنید، می بایست تحقیق فرمایید که به AVD چه فضایی اختصاص دادهاید. برای این عمل اقدامات زیر را انجام دهید.
چاره رفع اشتباه:
– AVD Manager را باز کنید.
– روی گزینه Edit this AVD کلیک فرمائید.
– در پنجرهای که باز میگردد مورد Show Advanced Settings را تعیین فرمائید.
– به نصیب Memory and Storage بروید.
این بخش انواع خیال را که به این AVD اختصاص دادهاید علامت میدهد. خیال و خاطرها دربرگیرنده RAM، VM Heap، خیال داخلی و کارت SD میشوند. آنان را ارتقاء دهید تا خطای بالا ازبین خواهد رفت.
5. خطای رایج ActivityNotFoundException
هنگامی با این نادرست عکس العمل میکنید که فراخوانی اینتنت یا startActivity شکست میخورد چراکه Activity نمیتواند اینتنت داده شده را اعمال کند.
راهحل:
برای حل این مشکل پوشه منیفست را باز نمائید، تفحص فرمائید که تک تک اکتیویتیها را به درستی تعریفوتمجید کردهاید. دقت نمایید که هر اکتیویتی را با نام کامل کلاس یا یک نقطه برای نام پکیج معرفی نمائید.
6. خطای ClassCastException
این خطا به جاوا مربوط میگردد و به شما قابلیت و امکان میدهد متغیرها را از یک نوع به نوع دیگری تبدیل فرمائید. یعنی میتوانید دو کلاس با ساختار متفاوت را به هم تبدیل فرمایید.
رفع این غلط در طراحی اپ اندروید:
برای حل این نقص به اندروید استودیو فرمان دهید فولدرهای طرحبندی را بار دیگر نوسازی کند.
7. خطای NullPointerException
در جاوا وقتی یک متغیر مرجع تمجید میکنید در واقع یک اشارهگر برای آن ایجاد کرد میکنید. با اختصاص مقدار صفر به مرجع آن شیء، اشاره میکنید که آن شیء به یک منبع ناشناخته داده اشاره میکند. مقادیر صفر میتوانند در رمزنگاری برخی از طراحیها موثر باشند البته زمانی با خطای NullPointerException مواجه میشوید یعنی از مرجعی استعمال کردهاید که به یک مقدار خالی اشاره میکند.
راهکار:
برای رفع این نقص از Logcat Monitor به کار گیری فرمائید که محل دقیق نادرست را معلوم کند. آن گاه در آن نصیب متغیر را قرار دهید تا این خطا ازبین خواهد رفت.
8. خطای رایج NetworkOnMainThreadException
این نادرست زمانی واقعه میافتد که نرم افزار تلاش میکند عملیات شبکهسازی را در main thread اجرا دهد. عملیاتی مانند ارسال درخواستهای API، اتصال به دیتابیس یا دانلود یک پوشه. این عملیاتها بسیار وقتگیر میباشند و main thread را بلاک میکنند. پس سبب ساز ایجاد ارور NetworkOnMainThreadException خواهند شد.
رفع این غلط در برنامه ریزی اندروید:
زمانی که با این نوع اشتباه روبهرو میشوید، کد شبکهای که در main thread در درحال حاضر اعمال می باشد را به یک thread جدا منتقل نمایید.
9. خطای Too Many Field References….Max is 65,536
وقتی که تعداد ارجاعات نرمافزار شما بیش از 65,536 گردد، با این خطا مواجه میشوید. برای رفع آن از دو شیوه زیر به کار گیری فرمایید.
چاره:
– تعداد ارجاعات به اپ را کاهش دهید.
– با فعال کردن multidex، اپلیکیشن را طوری تهیه فرمائید که از دو فایل DEX یا بیشتر به کار گیری کند.
10. خطای رایج Only the original thread that created a view hierarchy can touch its views
در اندروید صرفا از طریق main thread میتوانید UI را آپدیت نمائید. در حالتی که از thread های دیگری برای این فعالیت استعمال نمایید، با این اشتباه برخورد خواهید کرد.
چاره حل این نادرست در طراحی اپلیکیشن اندروید:
برای رفع این نقص، آن قسمتی که تصمیم به روزرسانی UI دارد را گزینش نمائید و به runOnUiThread منتقل نمایید.
11. خطای رایج Activity has leaked window that was originally added here
زمانی دیالوگهای یک اکتیویتی در اینک اجرا باشند و شما همزمان بخواهید از آن اکتیویتی خارج شوید با این نادرست مواجه می شوید.
رفع این نقص در طراحی نرم افزار اندروید:
برای رفع این مشکل اکتیویتی را باز نمائید، دیالوگها را به طور کامل ببندید آنگاه از آن خارج شوید.
12. خطای OutofMemoryError
این اشتباه وقتی اتفاق می افتد که اپلیکیشن شما به واحد سنجش معینی خیال و خاطر نیاز داراست اما سیستم نمیتواند آن را مدد کند. مواردی مانند کمبود خاطر، بارگزاری عکس با حجم زیاد، ارجاعات زمان بر و … سبب ایجاد این اشتباه میگردند.
راهحل:
برای رفع این نقص می بایست مطالعه فرمائید و دلیل ایجاد کرد این اشتباه را متوجه شوید. اندروید استودیو قسمتی دارااست که به شما امداد میکند متوجه شوید نرمافزار چهطور از خیال سیستم به کار گیری میکند. برای بازرسی آن از نوار ابزار اندروید استودیو وارد بخش View آنگاه Tools Window شوید و به تفحص خیال و خاطر بپردازید و هر جا مشکلی بود آن را رفع نمایید.
در شرایطی که با استیناف مطالب بالا باز هم نتوانستید خطای اپلیکیشن اندروید خود را رفع کنید، میتوانید از پشتیبانیاپلیکیشن در واتسنرمافزار یاری بگیرید.
گردآوریبندی
در حالتیکه برنامهنویس می باشید یا در حوزه ایجاد کرد برنامه کار می کنید، تحقیق مقاله بالا قادر است بسیار برای شما موءثر باشد. دراین نوشتهی علمی تلاش کردیم 12 خطای رایج در برنامه ریزی اندروید را معرفی کنیم و راه حلهای آنها را نیز کاملا توضیح دهیم. آشنایی با این مشکلات به شما امداد میکند با صرف مجال کمتری، برنامههایی کیفیت بالا و کاربردی طراحی فرمائید.
تشکیل داد نرم افزار با فلاتر
با وجود اینکه زمان مجال مقداری از پیاده سازی فلاتر (Flutter) میگذرد ولی بهسرعت توانسته نرم افزارنویسها را ذیل اثر قرار دهد. استعمال از فلاتر فرآیند تشکیل داد اپلکیشن را بسیار معمولی کردهاست به گونه ای که صرفا کافی می باشد یک توشه کدنویسی فرمائید و هم نرمافزار مطلوب سیستم استدلال اندروید و هم IOS را اخذ نمائید. طراحی اپلیکیشن در مشهد
تاریخچه فلاتر
فلاتر (Flutter) یک پوسته کراس پلتفرم (cross-platform) میباشد که به وسیله کمپانی گوگل در دسامبر سال 2018 منتشر شد. نسبتاً 1 سال طولانی شد تا فلاتر بتواند نسبت به یکی رقبای سابق و کارکشته خویش یعنی ریاکتنیتیو (React Native)، محبوبیت بیشتری پیدا نماید. یوزرها میتوانند از این ابزار برای ساخت نرمافزارهای خوشگل و تلفیقی برای تلفن همراه، اینترنت و دسکتاپ از یک مقر داده استفاده نمایند.
استدلال محبوبیت فلاتر چیست؟
یکیاز دلایل محبوبیت فلاتر وجود گویش نرم افزارنویسی دارت در آن است. این گویش از آغاز برای برنامه ریزیها به وجود آمدهمیباشد، عدم وضوح متعددی ندارد و یادگیری آن نسبتا وارفته می باشد.
علاوه بر این، فلاتر توانسته هم چگونگی نرم افزارهایی که به طور مستقر ساخته میگردند را حفظ نماید و هم آن را با انعطافپذیری بسط کراسپلتفرم مخلوط نماید. کسانی متعددی این مورد را عامل محبوبیت فلاتر می دانند.
فلاتر (Flutter) بسیار گزینه اعتنا صاحبان استارتاپها نیز قرار گرفتهاست. آنها برای ایجاد کرد کمینه جنس پذیرفتنی و ارائه آن به سرمایهگذار نیاز داراهستند نرم افزار خویش را در کوتاهترین فرصت ممکن و با کمترین هزینه آماده نمایند. پوسته فلاتر به نه در این زمینه به آنها یاری مینماید.
مزایای طراحی برنامه با فلاتر
· کوشش تلفیقی
فلاتر برای هر دو سیستم برهان اندروید وIOS مطلوب می باشد و همگی تفاوتهای آن ها مثلا فونت، آیکونها، اسکرولینگ و … را پوشش میدهد.
· بسط سریع نرمافزار
به کارگیری از فلاتر این قابلیت و امکان را به یوزرها میدهد که به سرعت اپلیکیشن آیتم نظرشان را بسط دهند. فلاتر دارنده هات ریلود (hot reload) میباشد و همین به یوزرها امداد مینماید تا به راحتی و باگاز امتحان و نادرست نمایند، رابط کاربری قابل قبولی تولید نمایند، خصوصیتهای جذابی به نرمافزار خویش اضافه نمایند و اشکالات آن را رفع نمایند.
· رابط کاربری قشنگ و مضموندار
با استعمال فلاتر (Flutter) می توانید از ابزار پیاده سازی زیبای آن، رابط نرمافزارنویسی توانا و اسکرول جاری بهره ببرید. همینطور هنگام استفاده از فلاتر، دسته متنوعی از ویجتها در دست شما قرار میگیرد و خودتان نیز میتوانید ویجتهای جدیدی ساخت فرمائید.
· کاهش هزینهها
استعمال از فلاتر برای ایجاد کرد برنامه بدون پول است و اپلیکیشننویسها به راحتی میتوانند در سایت https://flutter.dev از آن به کار گیری نمایند. به همین خاطر صاحبان استحصالوکارها برای کاهش هزینه ساخت نرمافزار و گسترش سریع استحصالوکارشان ترجیح میدهند اپلیکیشن خویش را با فلاتر پیاده سازی نمایند.
· متنگشوده بودن فلاتر
فلاتر یک نرم افزار متن گشوده میباشد و به کاربرانش اذن میدهد سوای هیچ محدودیتی از آن استفاده نمایند. حتی یوزرها میتوانند به راحتی کدها را تغییر و تحول دهند و آنها را فردیسازی نمایند.
معایب پیاده سازی برنامه با فلاتر
· فلاتر تماما رویش نکردهمیباشد.
فلاتر (Flutter) قالبی جدید میباشد و بازه زمانی فرصت متعددی از منتشر شدن آن نگذشته. به همین خاطر امکانهای حرفهای متعددی ندارد و برای اجرای پروژههای بزرگ نمیقدرت از آن استفاده نمود.
· اپلیکیشنهای ساختهگردیده با فلاتر وسعت متعددی داراهستند.
اپهایی که با استفاده از فلاتر ساخته میشوند، وسعت متعددی داراهستند و هنگامی که در تلفنهای هم پا یوزرها نصب میشوند وسعت متعددی از موبایل آنهارا اشغال مینمایند، در سود فرایند دانلود و به روز کردن این اپها زمانبر میشود و رضایت یوزرها زیر میآید.
· فلاتر آیندهای نامعلوم داراست.
پوسته فلاتر و همین طور گویش برنامهنویسی دارت پیوسته در هم اکنون تغییر هستند. این قضیه میتواند حفظ کدها در بلند فرصت را به خطر بیاندازد. به همین خیال و خاطر کسی از آتی این پوسته باور کافی ندارد.
سرویس ها ایجاد کرد برنامه با فلاتر در
اپلیکیشننویسها و کمپانیهای متعددی وجود داراهستند که سرویس ها ایجاد کرد برنامه را ارائه میدهند. ولی ایجاد کرد اپ با فلاتر آیتم جدیدی میباشد. به ویژه آنکه گویش اپنویسی فلاتر دارت میباشد و اشخاص پاره ای با این زبان شناخت بدون نقص داراهستند.
اپلیکیشن یک کدام از مراکزی میباشد که میتواند به ارائه سرویس ها طرح ریزی با فلاتر بپردازد. در صورتی شما نیز مانند بخش اعظمی دیگر از اشخاص تحت اثر مزایای فوقالعاده فلاتر (Flutter) قرار گرفتهاید و دوست دارید با به کارگیری از این پوسته، اپلیکیشنتان را پیاده سازی فرمایید، می توانید از سرویس ها نرمافزار استعمال فرمائید.
تفاوت ساخت برنامه با فلاتر با ایجاد کرد اپ با اندروید
دراین قسمت سه تفاوت ایجاد کرد اپلیکیشن با فلاتر و تشکیل داد برنامه با اندروید را تفحص میکنیم.
1. معماری فنی فلاتر با اندروید تفاوت دارااست، به طوری که لهجه نرم افزارنویسی فلاتر دارت و اندروید، جاوا می باشد.
2. وقتی که توسعهدهندگان در نرم افزارهایی که با اندروید ساخته شدهاند، تغییراتی ساخت و ساز مینمایند، می بایست اپ را تجدید بنا نمایند تا بتوانند آن تغییرات را در مشابهساز یا این که در دستگاهها مشاهده نمایند و این فرایندی مجالبر میباشد. ولی در نرم افزارهایی که با فلاتر ساخته میگردند، تغییرات تشکیل داد گردیده بهسرعت در دستگاهها یا این که مشابهسازها اکران داده میگردند به دلیل آن که فلاتر دارنده هات ریلود (hot reload) است. هات ریلودها از روش جابجایی کدهای آپدیت گردیده به ماشین مجازی دارت کار مینمایند. وقتی که ماشین مجازی کلیه کلاسها را آپ تو دیت کرد، پوسته فلاتر به صورت خودکار درخت ویجت را بازسازی مینماید و به شما این امکان را می دهد تا با گاز تغییراتتان را ببینید.
3. برای ایجاد رابط کاربری از روش اندروید از ابزاری که در اندروید استودیو وجود دارااست استعمال می گردد و این فرمان پروسه ساخت رابط کاربری را سریعخیس مینماید ولی در فلاتر برای ایجاد کرد رابط کاربری از ویجتها استفاده میگردد.
گردآوریبندی
امروزه نحوههای مختلفی برای ایجاد کرد نرمافزار وجود دارااست. اما بسیاری از این شیوهها فرصتبر و پرهزینه میباشند، به همین خاطر اپلیکیشننویسهای کمپانی گوگل قالبی را پیاده سازی کردند که پروسه ساخت نرم افزار را شل و ولخیس کرده و باعث صرفهجویی در حین و هزینه نیز گردیدهاست. این پوسته، فلاتر (Flutter) اسم دارد. مطالب بالا به شما امداد مینماید تا آشنایی نه از فلاتر به دست آورید و با مزایا و معایب آن آشنا گردید. در غایت، درصورتیکه سوالی در مورد فلاتر دارید یا این که میخواهید از آن برای پیاده سازی نرمافزارتان به کارگیری نمائید، میتوانید با مدد نرم افزار در واتساپلیکیشن رابطه برقرار فرمائید تا به خیر شما را در این زمینه ارشاد نمایند.