علیرضا احمدی

آموزش کار با View Binding

View Binding

آموزش کار با View Binding :

در این مقاله به آموزش چگونگی استفاده از کتابخانه View Binding در اندروید استودیو خواهیم پرداخت. اما پیش از شروع کار با این کتابخانه و پیاده سازی کردن آن در یک پروژه اندروید، بیایید کمی راجب ویژگی های آن بحث کنیم. ببینیم View Binding چیست و چه ویژگی هایی دارد؟ یا اینکه چرا استفاده ازین کتابخانه بسیار بهینه تر از findViewById میباشد؟

به عنوان یک ریز نکنه قبل از شروع مقاله باید ذکر بشود که View Binding یک ابزار قدرتمند در توسعه اندروید است که به توسعه‌دهندگان اجازه دسترسی آسان به عناصر UI موجود در فایل‌های طراحی XML را می‌دهد. این ویژگی پلی بین فایل‌های XML و کد Java/Kotlin ایجاد می‌کند.

View Binding دارای مجموعه‌ای از ویژگی‌های قدرتمند است که کیفیت کد را ارتقاء می‌دهد، توسعه رابط‌های کاربری را ساده‌تر می‌کند و به بهره‌وری توسعه‌دهندگان افزوده است.

روش findViewById :

این روش یک روش قدیمی و مرسوم در برنامه نویسی اندروید برای شناسایی view ها میباشد که البته مشکلات زیادی برای برنامه نویسان ایجاد میکند. مشکلاتی نظیر کند کردن زمان ساخت و ایمن نبودن در برابر مقدار null و غیره. پیش ازین ها برنامه نویسان اندروید از کتابخانه Butter Knife برای شناسایی view های خود استفاده میکردند که در حال حاضر این کتابخانه نیز منسوخ شده محسوب میشود.

پلاگین Kotlin Android Extensions :

از زمان معرفی زبان برنامه نویسی کاتلین، برنامه نویسان دیگر دغدغه ای برای شناسایی view ها نداشتند. چرا که پلاگین Kotlin Android Extensions دارای قابلیتی برای شناسایی خودکار view ها در اکتیویتی بود. از آنجایی که اکثر برنامه نویسان اندروید به زبان کاتلین روی آورده بودند، دیگر کسی نگران findViewById و شیوه های دیگر شناسایی view نبود. چراکه پلاگین نامبرده شده این کار را هندل میکرد. 

محبوب شدن View Binding :

از وقتی که شرکت جت برینز اعلام کرد که دیگر پلاگین Kotlin Android Extensions منسوخ شده و پشتیبانی نمیشود، برنامه نویسان به سرعت شروع به جستوجو برای روش های جایگزین افزونه نامبرده کردند. چراکه دیگر برنامه نویسان کاتلین قادر به شناسایی view ها نبودند. اما گوگل و جت برینز، خود جایگزین پلاگین منسوخ شده را از پیش تعیین کرده بودند. این جایگزین View Binding میباشد. اگر منسوخ شدن پلاگین Kotlin Android Extensions برای شما هم غیر قابل تصور است و دلیل این کار را درک نمیکنید، می توانید مقاله ( دلایل منسوخ شدن Kotlin Android Extensions ) را مطالعه کنید. 

بهتر بودن View Binding از Data Binding :

کتابخانه Data Binding تنها برای آن دسته از XML هایی کلاس میسازد، که درون تگ قرار گرفته باشند. در نقطه مقابل View Binding میباشد که برای تمامی XML ها شروع به ساختن کلاس های Binding میکند. در ضمن Data Binding به علت ایجاد یک اتصال دو طرفه میان XML و کلاس های کاتلین، سبب افت سرعت در ساخت خواهد شد و در برخی موارد ممکن است بسیار کند ظاهر شود.

شیوه فعال سازی View Binding :

برای فعال سازی ویژگی View Binding کافیست تا قطعه کد viewBinding true را در فایل build.gradle مربوط به ماژول app برنامه خود اضافه کنید. اگر پلاگین Kotlin Android Extensions فعال است آن را حذف کنید. پس از این کار بایستی یک بار gradle پروژه شما sync شود. دقت کنید که در هنگام سینک کردن گردل حتما از نرم افزار های تغییر ip استفاده کنید تا گوگل ایرانی بودن شما را تشخیص نداده و api های خود را غیر قابل دسترس نکند. قطعه کد نمونه :

// Android Gradle Plugin 4.0 or higher
...
android {
    ...
    buildFeatures {
        viewBinding = true
    }
}
View Binding
شیوه فعالسازی View Binding در محیط نرم افزار

شیوه استفاده از View Binding در اکتیویتی :

پس از انجام کارهای بالا، برای تمامی layout های شما یک کلاس با نام layout و ادامه نام Binding ساخته خواهد شد. یعنی اگر شما یک layout با نام main_layout داشته باشید، کلاسی تحت عنوان MainLayoutBinding برای شما ایجاد خواهد شد. حال کافیست از این کلاس ساخته شده برای دسترسی به view های خودتان استفاده کنید. مطابق قطعه کد زیر در اکتیویتی :

class MainActivity : AppCompatActivity() {
    private lateinit var binding: ActivityMainBinding
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater)
        val view = binding.root
        setContentView(view)
        binding.test.setTextColor(Color.BLUE)
    }
}
    

احساس نیاز به آموزشی جدید :

زبان کاتلین در سال 2017 و در اثر معرفی گوگل به شهرت رسید. در سال 2017 و 2018 آموزش های زیادی برای این زبان برنامه نویسی منتشر شد که اکنون دیگر کمی این آموزش ها منسوخ شده محسوب میشوند. چراکه خیلی از روش های کدنویسی و بسیاری از کتابخانه ها منسوخ شده و جای خود را به روش های جدیدتر و حرفه ای تر داده اند. پس امروزه نیاز به یک پکیج آموزشی جدید و بروز رسانی شده که تمامی این تغییرات را پوشش دهد بیشتر احساس میشود. آموزشگام نیز در جهت بی نیازی کاربران شروع به تدوین بروز ترین و جدید ترین آموزش اندروید با استفاده از زبان کاتلین کرده است.

دوره آموزش برنامه نویسی اندروید با کاتلین ورژن 2023

چکیده مطلب آموزش View Binding :

فهمیدیم که پلاگین Kotlin Android Extensions منسوخ شده و ما نیازمند استفاده از روشی جدید برای شناسایی view های خودمان خواهیم بود. این روش جدید View Binding میباشد که توسط گوگل معرفی شده است. با این روش به راحتی میتوانیم بدون افت سرعت، view های خودمان را شناسایی کرده و از آنها استفاده کنیم. برای فعال سازی این قابلیت نیز کافیست تا مقدار viewBinding را در فایل گردل خود برابر با true قرار دهیم.

خوب امیدوارم که حال دلتون خوب باشه.

به امید روزای بهتر…

2 دیدگاه

  • zynb
    13/10/2023 - 5:16 ب.ظ

    کامل و جامع
    فوق العادس ممنون استاد احمدی عزیز:)

    پاسخ

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *