بایگانی دسته: اندروید

مقدمه ای بر برنامه نویسی مدرن اندروید در سال ۲۰۱۹

در سال های اخیر ما برنامه نویس های اندروید، تغییرات زیادی را از منظر زبان برنامه نویسی، محیط برنامه نویسی، SDK و ورژن های اندروید شاهد بوده ایم که فرصت ها، محدودیت ها و قابلیت های جدیدی را پیش روی مان قرار داده است. بنابراین به عنوان یک برنامه نویس اندروید اگر دائما به دنبال بروزرسانی اطلاعات فنی خود در این حوزه نباشیم، به همان اندازه که یاد گرفته ایم و تجربه کسب کرده ایم، به همان اندازه نیز از دنیای ناشناخته‌ی امکانات جدید آن عقب مانده ایم. در این مقاله به همین موضوع یعنی برنامه نویسی مدرن اندروید اشاره خواهیم نمود و تغییر و تحولاتِ این حوزه را با هم مرور کوتاهی خواهیم کرد.

ادامه مطلب

برنامه‌نویسی اندروید با کاتلین

بالاخره نسخه ۳ اندروید استودیو منتشر شد و انتظار چند ماهه برای پشتیبانی رسمی از کاتلین به عنوان زبان برنامه‌نویسی رسمی اندروید به سر رسید! در این مطلب می‌خواهیم یک پروژه جدید در اندروید استودیو بسازیم و برای برنامه‌نویسی آن به جای استفاده از جاوا از کاتلین استفاده کنیم.

ادامه مطلب

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

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

اسپرسو چیست؟

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

ادامه مطلب

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

در فصل ۲۸ و در چند مطلب به بحث معماری در برنامه‌های اندروید پرداختیم:

مقدمه معماری MVP در برنامه‌های اندروید

معماری MVP در برنامه‌های اندروید

تست برنامه‌های MVP

در ادامه این مطالب با برنامه todo گوگل آشنا شدیم:

برنامه نمونه todo از گوگل برای آشنایی با MVP

در ادامه این مطالب به موضوع تزریق وابستگی یا dependency injection پرداختیم:

تزریق وابستگی با Dagger2

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

ادامه مطلب

آموزش اندروید-فصل ۲۸-۵: تزریق وابستگی با Dagger2

در بخش سوم آموزش MVP کمی درباره تزریق وابستگی یا Dependency Injection گفتیم:

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

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

ادامه مطلب

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

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

ادامه مطلب

آیا باید به سراغ کاتلین برویم؟

این روزها در دنیای اندروید، کاتلین (Kotlin) همه جا به چشم می‌خورد. به ندرت پیش می‌آید که در کنفرانسی شرکت کنید یا وبلاگی را بخوانید و در آن از کاتلین سخنی گفته نشود. کنفرانس سال گذشته Droidcon برلین را به خاطر دارم. بیشتر افرادی که در آنجا با آن‌ها صحبت کردم الان از کاتلین در محصولات خود استفاده می‌کنند (خود من اولین بروزرسانی برنامه که در آن از کاتلین استفاده کرده بودم را دو ماه بعد منتشر کردم). در اصل تأثیر کاتلین بر جامعه توسعه‌دهندگان اندروید بیشتر از جامعه جاوا بوده است. من مطمئنم که خود شرکت JetBrains هم از این موضوع شگفت زده شده است.

از آغاز اندروید ما برنامه‌نویسان اندروید مجبور به استفاده از یک نسخه قدیمی شده یک زبان قدیمی بودیم در حالی که بقیه محیط‌ها و زبان‌ها رشد می‌کردند. کاتلین دوباره ما را به صحنه رقابت آورد!

ادامه مطلب

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

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

اولین برنامه با زامارین و ویژوال‌استودیو

من عاشق ویژوال‌استودیو هستم و این عشق رو هم مخفی نمی‌کنم 🙂

مدتهاست می‌خوام با ویژوال‌استودیو برای اندروید برنامه بنویسم و چند روزه که دارم تلاش می‌کنم

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

  1. مشکل اول. سلوشون را جابه‌جا کردم و دیگه برنامه کار نکرد! به نظر میاد نشانی‌ای که در سلوشون به بیلدتارگت‌ها داده شده، پیدا نمیشه. راه‌حل من؛ یک سلوشون جدید ساختم :))
  2. مشکل دوم. وقتی وی‌اس رو می‌بندم و دوباره باز می‌کنم خطای زیر رو میده:

    PathXYZ.csproj: Warning XA0105: The $(TargetFrameworkVersion) for XXXX (v6.0) is greater than the $(TargetFrameworkVersion) for your project (ZZZZ). You need to increase the $(TargetFrameworkVersion) for your project. (XA0105) (ProjectXYZ)
    راه‌حل من؛ گذاشتم نوگت همه ابزارهای مورد نیازش رو یکبار دیگه بگیره و به نظر حل شد

  3. شبیه‌ساز ویژوال‌استودیو برای اندروید نیاز داره HyperV خاموش باشه!!

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

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

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

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

ادامه مطلب