القائمة الرئيسية

الصفحات

شرح مكتبه : Android Butter Knife

مكتبه:android butter knife

مكتبه باتر نايف او بالعربيه سكينه الذبده، هي مكتبه هامه لجميع مطورى اندرويد استوديو. فهى توفر الكثير من الوقت والمجهود. حيث ان اى مشروع تعمل عليه يحتاج الكتير من الاوجيكت او الفيوز (Views) مثل الزراير والصور والتكست والامبوت تكست، وهنا تاتى المشكله لان كل عنصر يحتاج الى عمل تهيئه (initialization) على حدى وعمل متغير له او اوبجكت من الكائن خارج الكلاس. وتعريفه داخل الداله (onCreate) وذلك ياخد وقت وجهد كبير وهنا تاتى اهمية هذه المكتبه


Butter Knife


مبرمج هذه المكتبه هو "Jake Wharton" 

جاك ورثون البالغ من العمر .. سنه عملاق البرمجه لما له من اسهامات كثيره

  • طور مكتبه butterknife عام 2013 ولاقت احسان  الكثير من المطورين   ..  للينك المكتبه على الجيت هاب اضغط github
  • وطور مكتبه RxAndroid عام 2015  ...  للمزيد من التفاصيل حول المكتبه اضغط   هــنــا  وللينك المكتبه على الجيت هاب اضغط github
  • وطور مكتبه Retrofit  عام 2013   ...  للمزيد من التفاصيل حول المكتبه اضغط   هــنــا   وللينك المكتبه على الجيت هاب اضغط  github

كيفيه إضافه المكتبه Butter Knife للبروجكت فى الاندرويد استوديو

ملحوظه : الشرح على احدث اصدار من برنامج اندرويد استوديو نسخه 4.0.1  مع العلم ان الفكره فى الاصدار انه يستخدم مكتبه android X وليس android support 

لذلك وجب التنبيه :  ويمكن استخدام android X  فى اصدار اقدم من البرنامج ولكن يجب تحديث الجرادل والتعديل على المشروع

قبل اضافه مكتبه باتر نايف نعرف الفرق بين استخدام المكتبه وبدونها

لدينا مشروع بسيط يقوم بعمليه جمع رقمين يحتاج ل 2 EditText لادخال الرقمين  و Button لتنفيذ العمليه و 2 TextView واحد لاظهار ناتج عمليه الجمع والثانى لتعريف المستخدم ان العمليه التى يقوم بها التطبيق جمع فقط 

كما بالصوره التاليه
calculator
وربط العناصر والكود سيكون كما بالشكل التالى
butterknife

حسنا الان نبدء اضافه المكتبه ، نذهب لملف الجرادل ونضيف السطرين التاليين داخل اقواس كلمه اندرويد


// Butterknife requires Java 8.
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }

كما بالصوره التاليه
butterknife


ونضيف فى نفس الملف (gradle) داخل اقواس (dependencies) السطرين التاليين



dependencies {
  implementation 'com.jakewharton:butterknife:10.2.3'
  annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.3'
}

كما بالصوره التاليه
butterknife


بعد الضغط على  Sync Now  للمشروع ننتظر حتى الانتهاء ولابد ان يعمل بشكل صحيح بدون مشاكل او اخطاء اثناء الاضافه.

الان نبدء استخدام مكتبه Butter Knife

  بدل من اخد ابجكت من الكلاس نكتب كلمه  @BindView   وبعد ذلك نحدد الكائن الذى نريده بكتابه  بين قوسين 
(R.id.item_name_xml) و نقوم بعمل كاستج لنوع المتغير وليكن من نوع TextView  وبعد ذلك نعطى اسم للمتغيرمثل item_name_java

ليصبح السطر كامل كما بالشكل التالى
@BindView(R.id.item_name_xml) TextView item_name_java;
واذا كانت الكائن من نوع  Button سيكون الكود كما يلى

@BindView(R.id.item_name_xml) Button item_name_java;

ملاحظة : item_name_xml اسم الكائن فى ملف ال xml و item_name_java اسم المتغير للكائن الذى سنعطيه له فى كلاس الجافا


 ليصبح كما بالشكل التالى

butterknife


وهنا الفرق واضح جدا فى عدد سطور الكود وكلما كان المشروع ضخم كلما زادت اهميه المكتبه مع العلم تم صدور مكتبه خاصه بجوجل حديثا بديله عن تلك المكتبه تحمل اسم View binding وسيتم شرحها فى القريب العاجل ان شاء الله وشرح الاخ الفاضل

 
تلك المكتبه بامكانك مشاهدتها من خلال الضغط هنا
تم بحمد لله
وبالتوفيق للجميع
هل اعجبك الموضوع :

تعليقات

التنقل السريع