کتابخانه EventBus در اندروید ۰ (۰)

ارتباط فرگمنت ها با eventBus
ارتباط میان فرگمنت ها با استفاده از کتابخانه EventBus کتابخانه Event bus در اندروید و جاوا ارتباط میان اکتیویتی ها، فرگمنت ها، سرویس ها، thread ها و ... را آسان می نماید. EventBus از پیچیده شدن کدهای مربوطه جلوگیری می کند و این روند به سادگی اجرا می گردد. الگوی پیاده سازی EventBus دارای دو قسمت publisher و subscriber است. یکی گزارش دهنده رویدادی که برای آن EventBus را استخدام نموده ایم و دیگری دریافت کننده رویداد. در واقع subscriber منتظر خبری از سمت publisher می ماند. هنگام توسعه برنامه های اندرویدی، ارتباط میان...
برچسب ها:

کار با livedata 4.5 (2)

کار با liveData
پیاده سازی صفر تا صد مثالی با livedata - قسمت دوم Livedata موضوع یکی از مقالات پیشین بلاگ بود. در این مقاله قصد داریم، با مروری بر مفهوم و مزایای livedata به پیاده سازی قدم به قدم یک مثال کاربردی، در این زمینه بپردازیم. به زبان ساده کتابخانه livedata دارای کلاس هایی برای مدیریت هر چه بهتر چرخه زندگی در اندروید، می باشد. یکی از هدف های livedata این مورد است که با به روز رسانی UI از بروز نشت حافظه یا memory leak پیشگیری کند. این به روز رسانی ایجاد هرگونه تغییری در تنظیمات موجود می تواند باشد. فرض کنید...

چگونه برای برنامه اندرویدی Force Update ایجاد کنیم؟ ۵ (۳)

ایجاد آپدیت اجباری یا force update
ساخت force update یا آپدیت اجباری در برنامه اندرویدی به کمک فایربیس در این مقاله به پیاده سازی Force update برای زمانی که نسخه جدیدتری از برنامه در پلی استور ارائه شده، می پردازیم. اما چه نیازی به force update در اندروید وجود دارد؟ در واقع برنامه های مربوط به موبایل مثل وب سایت ها نیستند. در اندروید، کاربران برنامه را از پلی استور نصب کرده و اگر نسخه جدید ارائه گردد آن را به روز رسانی می کنند. حال فرض کنید برنامه در وضعیتی باشد که دیگر عملکرد درستی ندارد. که باید به نسخه بهبود یافته به روز...

ارسال پیام با FCM در اندروید ۴ (۱)

fcm در اندروید
FCM چیست؟ FCM مخفف عبارت Firabase Cloud Messaging است. FCM گاهی با GCM که خلاصه شده عبارت Google Cloud Messaging می باشد نیز، بیان می شود.یک سیستم ابری رایگان که توسط گوگل ارائه شده و به برنامه امکان ارسال نوتیفیکیشن و پیام به کاربر را می دهد. به کمک FCM می توان برای پلتفرم های مختلف از جمله اندروید، IOS و web application ها نووتیفیکیشن ارسال نمود. این سرویس در سال 2014 توسط Firebase که از کمپانی های خریداری شده توسط گوگل می باشد، ارائه شد. در این پروسه به کمک یک API برنامه برای کاربر push notification ایجاد می نماید. Push notification...

برخی سوالات مصاحبه اندروید ۳٫۸ (۵)

مصاحبه اندروید
بررسی ده سوال متداول در مصاحبه اندروید سوالات متدوال مصاحبه اندروید چه مواردی هستند؟ یکی از مهم‌ترین مراحل هر مصاحبۀ شغلی، سوالات تخصصی آن است. در این مقاله با بررسی این سوالات به ده مورد از سوالات مهم در مصاحبه اندروید پرداخته و به آنها پاسخ می دهیم. چرا بایت کد در اندروید اجرا نمی شود؟ اندروید از DVM(Dalvik Virtual Machine) استفاده می کند و نه از JVM(Java Virtual Machine) تا بتواند بایت کد را اجرا کند.   چرا متد setContentView() در onCreate() کلاس اکتیویتی کار خود را انجام می دهد؟ متد onCreate()...

پیاده سازی یک پروژه با Room 0 (0)

پیاده سازی یک پروژه با کتابخانه Room در اندروید
چگونه بوکمارک های مرورگر را به کمک کتابخانه Room در جدول SQLite ذخیره کنیم؟ کتابخانه Room که در پیشتر، در مقاله دیگری آن را معرفی نمودیم، یک کتابخانه کاربردی برای استفاده از SQLite می باشد. Queryهایی که به دیتابیس می زنید، حین نوشته شدن در کد، بررسی می شوند. بنابراین اگر در query مورد نظر خطایی از نوع syntax داشته باشید پیش از اجرای برنامه متوجه آن خواهید شد. اگر با Room آشنا نیستید می توانید به این مقاله رجوع کنید. در این مقاله از سری آموزش های صفر تا صد اندرویدی، قصد داریم تا بوکمارک های...

آشنایی با Jetpack در اندروید ۵ (۱)

معرفی jetpack در اندروید
Jetpack چیست؟ Jetpack مجموعه ای از کتابخانه ها، ابزارها و راهنمایی هایی برای ساخت معماری برنامه می باشد. که موجب می شود تا به سرعت و آسانی بتوان برنامه های اندرویدی باکیفیت ساخت. با تجهیز به کدهای زیربنایی برنامه، برنامه نویس می تواند تمرکز خود را روی ساخت برنامه ای منحثر به فرد بگذارد. تغییراتی که استفاده از Jetpack برای توسعه دهندگان باعث می شود شامل : پیروی از best practices و جلوگیری از نوشتن کدهای تکراری موارد پیچیده را می توان به شکل ساده تری در برنامه پیاده ساخت مدیریت چرخه...

معماری تک اکتیویتی در navigation 4 (1)

معماری تک اکتیویتی
مدیریت جریان پیچیده ای از navigation با معماری تک اکتیویتی انواع معماری ها برای مدیریت navigation یک برنامه، موضوعی بود که در مقاله های پیشین بلاگ بررسی کردیم. به طور خاص مزایا و معایب معماری تک اکتیویتی را بررسی نمودیم. در این مقاله قصد داریم تا معماری تک اکتیوتی برای مدیریت flow یک برنامه که درگیر navigaion و قسمت های مختلف می باشد، را در غالب مثالی تشریح کنیم. فرض کنید برنامه ی مورد نظر یک سیستم برای ورود و اعتبارسنجی کاربران دارد. پس از رد کردن این مرحله و ورود کاربر به برنامه، بر...

الگوی navigation با فرگمنت ها ۴ (۲)

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

ViewPager پویا ۳ (۲)

ساخت ViewPager پویا
ساخت ViewPager پویا به همراه Indicator شامل آیتم های RecyclerView در خود به عنوان دولوپر اندرویدی گاهی با موقعیتی رو به رو می شوید که علاوه بر دسته بندی داده ها برای نمایش در ViewPager، لازم است تا داده های مختلفی را در صفحه ای از ViewPager نمایش دهید. فرض کنید بخواهید در هر صفحه از ViewPager لیستی از غذاهای رستورانی را نمایش دهید. علاوه بر این لیست عنوان، لوگو و امتیاز هر رستوران نیز لازم است. (که در این حالت نمی توان از TabLayout استفاده نمود) هر بار صفحه ای از ViewPager باید با داده های مربوط به خود در آداپتر...