پیاده سازی بهینه فرگمنت ها در اندروید ۱ (۲)

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

مقایسه serialization و parcelable 2.3 (3)

SERIALIZATION یا PARCELABLE ؟ معمولا در شرایط مختلفی از برنامه نیاز داریم تا یک object را بین اکتیویتی ها جابجا کنیم. برای این کار یا از serialization یا از parcelable استفاده می کنیم. اما باید بدانیم که parcelable از serialization سریع تر عمل می کند. به همین دلیل به عنوان راه حلی مطلوب برای جابجایی یک object بین کلاس ها محسوب می شود. پیاده سازی serialization و parcelable Serializable یک marker interface می باشد که با override کردن متدهای آن به نحوی که لازم است در برنامه کار می کند. اما این فرآیند آهسته است چرا که لزوما تمام متدها کاربر ندارند...

پیاده سازی RecyclerView با ViewBinding 1 (2)

حذف findViewById در RecyclerView با ViewBinding ساده ترین تعریف از dataBinding حذف مستقیم متد ()findViewById ست. اما چرا این عملکرد باارزش است؟ چون عملیات findViewById برای سیستم هزینه بر می باشد. پیش از این در مقاله ای به آشنایی و چگونگی بکارگیری dataBinding در پروژه اندرویدی پرداخته ایم. اکثر برنامه ها با RecyclerView درگیر می شوند. در این آموزش قصد داریم به صورت قدم به قدم RecyclerView با ViewBinding را پیاده سازیم. تفاوت استفاده از findViewById و ViewBinding پیشگیری از به وجود آمدن Null Exception : در کاتلین این استثنا می تواند مدیریت شود اما...

چرا از معماری تک اکتیویتی استفاده کنیم؟ ۳ (۱)

دنیای بهتر با معماری تک اکتیویتی چگونگی ساخت معماری تک اکتیویتی موضوع مقاله دیگری در بلاگ بود. اکتیویتی ها دروازه ورود به برنامه هستند. اما وظیفه کنترل flow اکتیویتی ها در برنامه نباید به عهده فریم ورک های اصلی برنامه باشد. اینکه جریان اکتیویتی ها با معماری تمیزی نوشته شود باید به عهده برنامه نویس باشد. اما برای ساختن یک معماری تک اکتیویتی تمیز باید ماهیت اکتیویتی را بهتر شناخت. قابلیت و رفتار هر اکتیویتی در برنامه، به نسخه اندرویدی که در آن اجرا می شود بستگی دارد. مزایای...

پیاده سازی Toast سفارشی در اندروید ۵ (۱)

ساخت toast سفارشی
کتابخانه هایی برای Toast سفارشی ایجاد Toast در موقعیت های متفاوتی از برنامه لازم است. اگر می خواهید برنامه شما Toast سفارشی داشته باشد، بدون اتلاف وقت می توانید از کتابخانه هایی استفاده کنید. اگر هم قصد ندارید با بکارگیری کتابخانه ها حجم پروژه شما افزایش پیدا کند، می توانید از کدهای این کتابخانه ها ایده بگیرید. و در نهایت Toast سفارشی خود را پیاده سازید. کتابخانه Motion Toast یک کتابخانه چند منظوره که به زبان کاتلین نوشته شده است. با style های متفاوت و حالت dark mode. برای افزودن این...
برچسب ها:

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

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

انواع راهکارهای پیشگیری از نشت حافظه (memory leak) 4.5 (2)

memory leak چیست و چگونه اتفاق می افتد؟ memory leak میتواند با وجود garbage collection حادث شود. در یکی از مقاله های پیشین به بررسی کارکرد garbage collector و مدیریت حافظه پرداختیم. اما می دانیم با وجود این فرآیند احتمال بروز نشت حافظه  وجود دارد. وقتی objectهای زیادی بدون استفاده در heap وجود داشته باشند که هم چنان از طرف stack مورد ارجاع قرار میگیرند نشت حافظه اتفاق می افتد. در چنین حالتی garbage collector  حافظه درگیر شده را آزاد نمیکند. [caption id="attachment_5175" align="aligncenter" width="650"] نشت حافظه در اندروید[/caption] اما چه...

color picker در اندروید ۵ (۱)

ساخت color picker در اندروید
چگونه در اندروید یک color picker بسازیم؟ ساخت color picker در اندروید یک آموزش ساده و کوتاه از سری آموزش صفر تا صد اندروید هست. به این ترتیب که با استفاده از یک تصویر در ImageView رنگ دلخواه خود را انتخاب کنیم. بعد به کمک view آن رنگ را مشخص کنیم تا بتوانیم در بخش دیگری از برنامه استفاده کنیم. قدم اول: ساختن layout مورد نظر بعد از ساخت پروژه یک ImageView و View را بصورت زیر تعریف میکنیم: <ImageView android:id="@+id/color_picker_img" android:layout_width="match_parent" android:layout_height="match_parent" android:src="@drawable/color_picker"/> <View ...