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

mockito-cover

آموزش اندروید-فصل ۲۹-۲: تست برنامه اندروید با JUnit و Mockito

در این فصل می‌خواهیم با تست واحد یا Unit Testing در اندروید آشنا بشویم. برای این موضوع دو کتابخانه JUnit و Mockito را انتخاب می‌کنیم و با مباحث بسیار ساده و مقدماتی آن‌ها آشنا می‌شویم و بعد به سراغ برنامه todo-mvp که پیش از این و در فصل قبل با آن آشنا شدید را انتخاب می‌کنیم و مباحث تست را بر روی این پروژه اجرا می‌کنیم.
ادامه مطلب

cover-29-1-android-testing

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

در بازارهای اپ میلیون‌ها برنامه وجود دارد! هر روز به این تعداد اضافه می‌شود و کاربران آن‌ها را «تست» می‌کنند. تا الان میلیاردها برنامه در گوشی‌ها و تبلت‌های کاربران نصب شده است و هر روز هم بیشتر می‌شود. برای این که کاربر را مجاب کنیم برنامه‌ای را نصب کند، راه بسیار زیادی را باید طی کنیم: ایده مناسبی داشته باشیم، آن ایده را به خوبی پیاده‌سازی کنیم، برنامه‌های پر هزینه تبلیغات را انجام دهیم و … بالاخره کاربر مجاب می‌شود که برنامه را نصب کند!

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

کافی است کاربر در حین اجرای برنامه به مشکلی بربخورد و بعد از چند ثانیه تصمیم بگیرد که برنامه را حذف کند. به همین سادگی همه تلاش‌های چند ماهه یا حتا چند ساله ممکن است از بین برود. راه چاره چیست؟ باید زمانی که برنامه را به دست کاربر می‌دهیم «مطمئن» باشیم که همه جوانب برنامه به درستی کار می‌کنند. چطور می‌توانیم به این اطمینان برسیم؟ «تست» برنامه!

ادامه مطلب

chapter-28-android-MVP-Cover

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

در قسمت‌های قبلی این مطلب با الگوی معماری MVP آشنا شدیم:

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

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

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

برای تکمیل آموزش MVP و آشنایی با روش گوگل برای پیاده‌سازی الگوی معماری MVP در این بخش به سراغ مثال گوگل برای MVP می‌رویم. گوگل در بخش مثال‌های خود در سایت گیت‌هاب، برنامه‌ای دارد به نام todo که آن را به شیوه‌های مختلف پیاده‌سازی کرده است. ادامه مطلب

cover-farabank

معرفی فرابانک: هوای پولاتون رو داریم!

آخر ماه که نزدیک میشه، پولای جیبت ته می‌کشه؟ از خودت می‌پرسی پولای من کجا رفته؟ خرج چه کاری شده؟ چقد از خرجام ضروری بوده؟ چقد می‌تونستم پس انداز کنم؟ و کلی سوال دیگه که جواب هیچکدوم رو نمی‌دونی! چرا؟ جون از فرابانک استفاده نمی‌کنی! حتما می‌پرسی فرابانک دیگه چیه؟ من بهت می‌گم. فرابانک یه حسابدار کوچولوئه که تو جیب هم جا میشه! کافیه اون رو تو گوشیت نصب کنی و … فرابانک «هوای پولات رو داره»! به همین سادگی!

ادامه مطلب

chapter-28-android-MVP-Cover

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

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

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

ادامه مطلب

chapter-28-android-MVP-Cover

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

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

ادامه مطلب

chapter-28-android-MVP-Cover

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

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

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

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

ادامه مطلب

android-image-library-Glide

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

مقدمه

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

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

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

ادامه مطلب

android-internet-connection-explained

آموزش اندروید-فصل ۲۷-۳: نکات پیشرفته OkHttp

در دو نوشته قبلی (اینجا و اینجا) به طور خیلی ساده نحوه کار کردن با OkHttp برای دریافت و ارسال اطلاعات از/به اینترنت گفتیم. در این مطلب کمی بیشتر با امکانات OkHttp کار می‌کنیم. امکاناتی که تقریباً همه جا به آن‌ها نیاز خواهیم داشت.

ادامه مطلب

What-2-Years-of-Android-Development-Have-Taught-Me-the-Hard-Way

آنچه بعد از دو سال برنامه‌نویسی اندروید آموختم-قسمت سوم

در قسمت اول و دوم این مطلب ۱۰ تا از توصیه‌های Aritra Roy را با هم مرور کردیم. در این مطلب بخش دیگری از توصیه‌های وی را با هم می‌خوانیم.

۱۱- با تنظیم بیلد گریدل پنج ساعت در هفته در وقت صرفه‌جویی کن

بسیار محتمل است که از اندروید استودیو و گریدل برای توسعه برنامه‌های اندروید استفاده کنی. گریدل عالی ولی کند است و وقتی پروژه کمی بزرگ‌تر شود کندتر هم می‌شود.

ساعت‌های بی شماری را به باد می‌آورم که بیکار می‌نشسم تا بیلد گریدل تمام شود. در زمان‌های شلوغی کار به راحتی یک ساعت از وقت من صرف بیلدهای گریدل می‌شود و این یعنی ۵ ساعت در هفته و ۲۰ ساعت در ماه.

اما راه‌هایی هست تا گریدل را سریع‌تر کنی.

برای این کار اینجا و اینجا را ببین. با استفاده از این رهنمودها و بهینه‌سازی مناسب، زمان بیلد من از چهار دقیقه به حدود ۳۰ ثانیه رسید.

ادامه مطلب