بایگانی برچسب: s

chapter-28-android-MVP-Cover

آموزش اندروید-فصل ۲۸-۳: تست برنامه‌های MVP

ما ویژگی‌های الگوی معماری MVP را در بخش اول مطلب آموزش  دادیم و در بخش دوم هم این الگو را در برنامه خودمان پیاده‌سازی کردیم. حالا وقت آن است که کمی بیشتر به اعماق برویم. در این آموزش بر روی موضوعات زیر تمرکز می‌کنیم:

  • آماده‌سازی محیط تست برنامه و نوشتن تست واحد (Unit Test) برای کلاس‌های MVP
  • پیاده‌سازی MVP‌ به همراه تزریق وابستگی با استفاده از Dagger2
  • و در اخر درباره مشکلات متداول در اندروید که باید از آن‌ها اجتناب کرد صحبت خواهیم کرد.

ادامه مطلب

chapter-28-android-MVP-Cover

آموزش اندروید-فصل ۲۸-۲: معماری MVP در برنامه‌های اندروید

در بخش قبلی درباره معماری MVP و تفاوت آن با معماری پیش‌فرض اندروید و MVC صحبت کردیم. در این بخش می‌خواهیم درباره پیاده‌سازی معماری MVP در پروژه‌های اندروید صحبت کنیم.

ادامه مطلب

how-to-ask-a-question-cover

چطور سؤال بپرسیم یا خطایی را گزارش دهیم

دوستان زیادی به من لطف دارند و به انحای مختلف لطف و عنایتشان شامل حال من می‌شود. کامنت‌های زیر پست‌ها، ایمیل، تلگرام، تلفن و حضوری. یکی از مورادی که من در بین این ابراز محبت‌ها می‌بینم و برایم بسیار ارزشمند است این است که دوستان سؤال‌های خودشان را از من می‌پرسند و من هم تا جایی که بتوانم سعی می‌کنم در رفع مشکل کمک کنم. اما نکته‌ای که می‌بینم این است که در بعضی موارد دوستان اصول اولیه طرح سؤال یا گزارش خطا در برنامه را رعایت نمی‌کنند. بدون رعایت این اصول احتمال این که مطلوبشان حاصل شود بسیار کم است.

در این مطلب می‌خواهم تجربیات خودم از طرح سؤال و همچنین گزارش خطا در برنامه را با شما به اشتراک بگذارم.

ادامه مطلب

chapter-28-android-MVP-Cover

آموزش اندروید-فصل ۲۸-۱: مقدمه معماری MVP در برنامه‌های اندروید

این مطلب ترجمه‌ای است از مطلب «تین مگالی» که در اینجا منتشر شده است.

وقتی برنامه پیچیده‌ای را توسعه می‌دهیم، معمولاً با چالش‌هایی روبرو می‌شویم که پیش از این خیلی‌ها با آن‌ها برخورد کرده‌اند و حالا هر کدام آن‌ها راه‌حل‌هایی بسیار زیبا دارند. به این راه‌حل‌ها «الگو» می‌گویند. ما معمولاً از الگوهای طراحی و الگوهای معماری می‌شنویم. این الگوها توسعه را آسان می‌کنند و بهتر است که ما هم از آن‌ها استفاده کنیم. البته هر زمان که به استفاده از آن‌ها نیاز باشد.

این آموزش به شما در درک اهمیت طراحی خوب پروژه و این که معماری استاندارد اندروید همیشه و برای هر کاری کافی نیست، کمک می‌کند. درباره چند مسأله بالقوه که ممکن است در زمان توسعه برنامه‌های اندروید با آن‌ها روبرو شوید بحث می‌کنیم و نشان خواهم داد که برای حل آن مسائل چطور برنامه را تست کنید و قابلیت اطمینان آن را بالا ببرید. همه این‌ها با کمک الگوی MVP.

ادامه مطلب

retrofit-2-android-tutorial-cover

آموزش اندروید-فصل ۲۷-۸: Retrofit چیست و چطور کار می‌کند

مقدمه

در قسمت‌های قبلی این فصل، درباره موضوعات متوعی بحث کردیم. در این مطلب آخرین بخش مطالب مربوط به اتصال برنامه اندروید به سرور را با هم مرور می‌کنیم و در بخش (یا بخش‌های آینده) یک برنامه واقعی می‌نویسیم و از همه چیزهایی که تا به حال یاد گرفته‌اید استفاده خواهیم کرد.

در این بخش می‌خواهم شما را با Retrofit آشنا کنم. طبق تعریفی که خود پدیدآورندگان Retrofit کرده‌اند:

یک کلاینت REST نوع-امن جاوا و اندروید

است. از حاشیه‌نوشت‌های جاوا برای توصیف درخواست‌های HTTP و جانگهدارهای پارامترهای URL و … استفاده می‌شود. همچنین می‌توان از آن برای آپلود فایل و بدنه درخواست چندپاره (Multipart request body) استفاده کرد.

نکته: رتروفیت (Retrofit) نسخه ۲ کاملاً متفاوت با نسخه‌های ماقبل است. در این نوشته ما فقط از رتروفیت نسخه ۲ استفاده می‌کنیم و به نسخه‌های ماقبل آن کاری نداریم. اگر احیاناً آموزشی را از اینترنت می‌گیرید، حتماً حواستان به نسخه Retrofit هم باشد.

ادامه مطلب

REST-api-android-retrofit

آموزش اندروید-فصل ۲۷-۷: REST چیست

مقدمه

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

در ادامه مباحث مرتبط با اتصال برنامه‌های اندروید به سرور می‌خواهم شما را با یک معماری و یک مفهوم بسیار پرکاربرد آشنا کنم: REST.

ادامه مطلب

android-image-library-Glide

آموزش اندروید-فصل ۲۷-۶: Glide چیست و چطور کار می‌کند

مقدمه

در ادامه مباحث مرتبط با اتصال برنامه‌های اندروید به اینترنت و وب، این بار به سراغ عکس‌ها و تصاویر می‌رویم.

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

همانطور که می‌دانید نظر من و بسیاری از برنامه‌نویسان اندروید این است که به جای درگیر شدن در پیاده‌سازی جزئیات این فرایندهای پیچیده، بهتر است از کتابخانه‌های موجود استفاده کنیم. برای دانلود و دستکاری عکس‌ها در اندروید کتابخانه‌های زیادی وجود دارد که معروف‌ترین آن‌ها Picasso و Glide هستند. در این مطلب نحوه کار کردن با Glide را به شما آموزش خواهم داد.

ادامه مطلب

JSON-tutorial-cover-Java

آموزش اندروید-فصل ۲۷-۴: JSON چیست؟

در ادامه مطالب مربوط به اتصال به اینترنت و ارسال و دریافت اطلاعات، حالا نوبت آشنایی با قالب JSON برای تبادل اطلاعات است.

JSON چیست؟

JSON یا Javascript Object Notation یک فرمت بسیار ساده و سبک برای تبادل اطلاعات است. به سادگی قابل خواندن و نوشتن توسط انسان است و تجزیه آن برای ماشین (رایانه) بسیار ساده است. JSON کاملاً مستقل از زیان‌های برنامه‌نویسی است و از نشانه‌هایی استفاده می‌کند که برای برنامه‌نویسان آشنا به زبان C و زیان‌های مشتق شده از C مانند C++، جاوا، C#، جاوااسکریپت، پرل و پایتون و خیلی زبان‌های دیگر آشنا است.

ادامه مطلب