استفاده از دوربین و گالری با استفاده از FileProvider

استفاده از دوربین در اندروید
استفاده از دوربین در اندروید با استفاده از FileProvider استفاده از دوربین امکانی متداول برای بسیاری از برنامه هاست. هر برنامه ای که نیاز به تغییر عکس پروفایل، آپلود پست و در کل شبکه های اجتماعی نیاز به استفاده از دوربین دارند. اساسا عکس گرفتن امکان بسیار ساده ای محسوب می شود، حتی اگر جزئیات به خصوصی را برای آن منظور کنید. در این مقاله به ایجاد امکان عکس برداری و گالری با استفاده از FileProvider می پردازیم. کلاس FileProvider از ContentProvider ارث بری می کند. در واقع مزیت FileProvider تبادل امن تر داده...

معرفی کتابخانه برای Navigation Bar در اندروید ۳ (۴)

معرفی کتابخانه navigation bar
پیاده سازی دو کتابخانه برای Navigation Bar کتابخانه هایی برای پیاده سازی سریع تر Navigation Bar در اندروید وجود دارند. امروزه بیشتر برنامه های اندرویدی نیاز به NavigationBar دارند. موردی که سال ها قبل در ios بسیار معمول بود اما اندروید هنوز از آن استفاده نمی کرد. حالا تبدیل به یک ضرورت برای اکثر اپ ها شده است. در این مقاله به معرفی دو کتابخانه سبک برای پیاده سازی NavigationBar می پردازیم. کتابخانه هایی که navigation bar مورد استفاده در برنامه را هر چه زیباتر خواهند کرد. کتابخانه Bubble Navigation کتابخانه سبک...
برچسب ها:

نشت حافظه هنگام استفاده از viewModel ها ۵ (۱)

نشت حافظه در viewmodel
چه زمانی استفاده از ViewModel می تواند منجر به نشت حافظه شود؟ رایج ترین حالتی که هنگام استفاده از ViewModel به نشت حافظه می انجامد، زمانی ست که ViewModel مربوطه برای استفاده از Repository ست. در این پروسه باید به طور هم زمان در برنامه ریکوئستی به شبکه ساخته شود و طبعا برنامه منتظر پاسخ می ماند تا به ادامه کار خود عمل کند. با توجه به این پروسه شکل زیر را در نظر بگیرید. در این برنامه MainActivity، SecondaryActivity + SecondaryViewModel و Repository برای تامین داده ها وجود دارند. MainActivity شروع بکار می کند و SecondaryActivity را شروع...

کتابخانه 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...

پیاده سازی ViewPager2 در اندروید ۵ (۱)

پیاده سازی viewpager2 با فرگمنت ها
پیاده سازی ViewPager2 با فرگمنت ها ViewPager2 برای ساخت view هایی با قابلیت swipe کردن شبیه نگاه کردن عکس ها در گالری، استفاده می شود. ViewPager2 نسخه بهبود یافته ViewPager می باشد. در این مقاله به پیاده سازی ViewPager2 با فرگمنت ها می پردازیم. در واقع ViewPager 2 از کامپوننت های RecyclerView برای نمایش صفحات قابل swipe و کشیدن استفاده می کند. ViewPager 2 امکانات جدید بیشتری نسبت به نسخه پیشین خود ارائه کرده است. در این مقاله از سری آموزش صفر تا صد اندروید، به پیاده سازی ViewPager 2 با فرگمنت ها می پردازیم. مقایسه ViewPager با...

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

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

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

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