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

آموزش جاوا، فصل یازدهم: ساختار کلاس ها در جاوا

همانطور که در فصل قبل گفتیم کلاس ها سنگ بنای برنامه نویسی شی گرا هستند. یک برنامه جاوا از تعدادی کلاس ساخته می شود. اشیا از روی کلاس ها ساخته می شوند و ارتباط اشیا با هم مسأله را حل می کند. حالا اگر قدری دقیق تر به کلاس ها نگاه کنیم، می بینیم که خود کلاس ها از اجزای کوچکتری ساخته می شوند. بار دیگر به ویژگی های برنامه های شی گرا از دید Alan Kay دقت کنید:

  1. هر چیزی یک شی است.
  2. یک برنامه مجموعه‌ای از اشیا است که با استفاده پیام‌رسانی به یکدیگر می‌گویند که چه کار باید بکنند.
  3. هر شیء‌ای دارای حافظه‌ای است که از سایر اشیا ساخته شده است.
  4. هر شیء‌ای یک «نوع» دارد.
  5. تمام اشیای همنوع می‌توانند پیام‌های یکسانی دریافت کنند.

ادامه مطلب

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

در دو قسمت قبلی این فصل یعنی آموزش اندروید-فصل ۲۹-۱: تست برنامه‌های اندروید و آموزش اندروید-فصل ۲۹-۲: تست برنامه اندروید با JUnit و Mockito درباره اصول اولیه تست واحد یا یونیت تست گفتم. در ادامه می‌خواهم وارد یکی از مهم‌ترین بخش‌های تست برنامه‌های اندروید بشوم: تست ابزاری برنامه‌های اندروید.

اسپرسو چیست؟

اسپرسو یک چارچوب تست برنامه است که در «کتابخانه پشتیبان تست اندروید» یا «Android Testing Support Library» قرار دارد. اسپرسو APIهایی برای شبیه سازی اعمال کاربر و نوشتن تست‌های بررسی عملکرد UI در اختیار ما می‌گذارد. تست‌های اسپرسو بر اساس کارهایی که کاربر می‌تواند یا ممکن است در زمان استفاده از برنامه انجام دهد نوشته می‌شود.

ادامه مطلب

آموزش اندروید-فصل ۳۰: استفاده از پروگارد در برنامه‌های اندروید

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

ادامه مطلب

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

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

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

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

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

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

ادامه مطلب

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

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

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

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

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

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

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

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

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

ادامه مطلب

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

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

ادامه مطلب