الدرس الاول: شرح مكتبة androidKTX

لا تقل انك لازلت تستعمل جافا في الاندرويد اظن انه حان الوقت لاستعمال كوتلن امزح فقط 😁 او ربما لا😂
حسنا لنبدا في  شرح ترسانة jetpack و اول ما سلاح سنتعلم استعماله هو androidKTX و هي او هو افضل هي مكتبة مطورة بلغة البساطة كوتلن الهدف تخليصك من مليارات الاسطر البرمجية و اختصارها في سطر واحد😁  و جعل البرمجة بواسطة كوتلن اكثر امتاعا تستمد هذه المكتبة قدرتها من خلال كوتلن و للامانة هذه المكتبة لا تغير شيئا في APIs و انما تختصر عليك الوقت و الجهد و الاسطر و تجعل الكود الخاص بك اكثر امتاعا. قبل هذه المكتبة كنا نستعمل  مكتبة انكو و هي مكتبة من فريق كوتلن لها نفس الدور تقريبا

بالرغم من ذلك الا اننا يجب علينا الانتضار 😢😢 الى حين صدور النسخة المستقرة منها الا ان هناك البعض سيجربها لا محالة و هذا جيد فهي الان في اصدار الالفا و سننتضر الى حين صدور beta و من ثم stable او النسخة المستقرة .
ما الذي ستحتاجه لابدا باستعمال android KTX -> فقط اتبع الخطوات التالية :
اضف ما يلي الى مشروعك في ملف build.gradle :

repositories {
    google()
}

بعد ذلك قم باضافة المكتبة الى dependency الخاص بالمشروع ->

dependencies {
    implementation 'androidx.core:core-ktx:1.0.0-alpha1'
}

الان كل الامور على ما يرام يمكنك استعمال androidKTX بكل سعادة لكن انتظر ليس هذا كل شيء هناك المزيد من dependencies الاخرى لمختلف APIs الاخرى مثل fragement و اخرى ل sqlite ... يمكنك ان تجدها هنا
الان دعنا نرى ما الذي يميزك ايتها المكتبة الرهيبة :
1-اخيرا

sharedPreferences.edit()
    .putBoolean("key", value)
    .apply()



sharedPreferences.edit {
    putBoolean("key", value)
}

2-هذه ابهرتني

view.viewTreeObserver.addOnPreDrawListener(
    object : ViewTreeObserver.OnPreDrawListener {
        override fun onPreDraw(): Boolean {
            viewTreeObserver.removeOnPreDrawListener(this)
            actionToBeTriggered()
            return true
        }
    }
)



view.doOnPreDraw {
     actionToBeTriggered()
}

3-حتى sqlite

db.beginTransaction()
try {
    // insert data
    db.setTransactionSuccessful()
} finally {
    db.endTransaction()
}


db.transaction {
    // insert data
}

4-اخواني اخواتي هذه هي مكتبة Android KTX

supportFragmentManager
    .beginTransaction()
    .replace(R.id.my_fragment_container, myFragment, FRAGMENT_TAG)
    .commitAllowingStateLoss()


supportFragmentManager.transaction(allowStateLoss = true) {
            replace(R.id.my_fragment_container, myFragment, FRAGMENT_TAG)
}

اخيرا و ليس اخيرا اترك مع بعض المصادر كما العادة و  للعلم هذا المقال هو مقال محدث فلا تنسى متابعتنا على فايسبوك لتتوصل باخر التحديثات=>
هل ترغب في مثل هذه التدوينات

اسماعيل ايت بلا

ببساطة ارغب في تجربة جديدة من التعلم من خلال مشاركة ما تعلمه يجبرني ذلك على البحث لمدة طويلة مما يجعل الموقع جديرا بالثقة

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

الاشتراك بالقائمة البريدية

توصل باحدث مواضيعنا و كن على اطلاع باخر اخبار وتقنيات الاندرويد