مع إنتهاء تعلم أساسيات تطوير تطبيقات الأندرويد .. نبدأ نتطلع لمواضيع جديدة متقدمة تساعدنا في تحسين جودة الطريقة المتبعة في بناء التطبيقات وتفادي بعض المشاكل اللي ممكن تواجهنا .. كل مرة رح نحاول ناخذ موضوع جديد و مشكلة جديدة ونتكلم عنها
خلينا نبدأ??
#android #programming #برمجة https://t.co/7wJJmINDhS
بدايتنا رح تكون خفيفة مع ميزة تقدمها وحدة من مكتبات الـ Jetpack وهي مكتبة الـ ViewBinding .. مكتبة مشهورة سهلت طريقة الربط ما بين الـ XML وأكوادك البرمجية .. وخلتنا نستغني عن أشهر سطر برمجي كان يعاني منه مطوري الأندرويد .. وخصوصاً في الواجهات المعقدة
هذه الميزة هي الـ BindingAdapters .. ميزة تعطيك تحكم أكبر بقيم الـ Views الموجودة داخل الـ XML File .. وتقدر كمان تسوي Custom Attribute جديد تكتب فيه Logic خاص فيك وتستخدمه في كامل التطبيق بحيث تقلل من كمية الاكواد المكررة https://t.co/RjA0YI8DKB
خلينا ناخذ مثال بسيط على UseCase بسيطة موجودة في أغلب التطبيقات .. ميزة تحميل الصورة من URL معين ووضعها على ImageView .. مع كتابة BindingAdapter بسيط .. تقدر تمرر هذا الـ URL من الـ Layout مباشرة عن طريق Custom Attribute إنت تحدده https://t.co/JqKq7o8Cvp
خلينا ناخذ UseCase معقدة أكثر .. بما أنه ميزة الـ BindingAdapter تعطينا القدرة على تمرير الـ View اللي طبقنا عليه الـ Custom Attribute سواء كان EditText او TextView أو غيره .. فهذا معناه رح نقدر نسمع للـ Events اللي ممكن تصير على هذا الـ View ونربطها مع Listeners