إضافة المكونات إلى مشروعك

الإعلانات

إضافة المكونات إلى مشروعك

 

 

 

إضافة المكونات إلى مشروعك

 

قبل البدء، نوصي بقراءة دليل إلى بنية التطبيق لمكونات البنيه. يحتوي الدليل على بعض المبادئ المفيدة..

التي تنطبق على جميع تطبيقات الأندرويد، ويعرض كيفية إستخدام مكونات البنية معاً.

مكونات البنيه تتوفر من مستودع Maven من قوقل. لإستخدامها، أتبع الخطوات التالية:

 

تعقب المشكلة

الإبلاغ عن المشكلات حتى نتمكن من إصلاح الأخطاء.

مجتمع قوقل بلي 
قم بتقديم الملاحظات ومناقشة الأفكار مع مطورين آخرين.

 

 

 

إضافة مستودع Maven من قوقل


لم يتم تكوين مشروعات أندرويد ستوديو للوصول إلى هذا المستودع بشكلٍ إفتراضي.

لإضافته إلى مشروعك، أفتح ملف البناء build.gradle الخاص بمشروعك (وليس ملفات البناء الخاصه بتطبيقك أو وحدتك النمطيه)..

ثم أضف مستودع ()google كما هو موضح أدناه:

allprojects {
    repositories {
        google()
        jcenter()
    }
}

 

 

 

 

إعلان الإعتمادات


أفتح ملف البناء build.gradle الخاص بتطبيقك أو وحدتك النمطيه وقم بإضافة العناصر التي تحتاج إليها كإعتمادات. يمكنك إضافة جميع الإعتمادات، أو إختيار مجموعة فرعية.

 

AndroidX

يتم تطوير الإصدارات الحالية من مكونات البنيه بإستخدام حزم AndroidX. يتم إدراج هذه أولاً إذا كانت متوفرة، وتختلف في الأسم عن الإصدارات السابقة (1.X).

لمزيد من المعلومات حول إعادة تصميم AndroidX، وكيف يؤثر هذا على حزم الفئه ومعرفات الوحدة النمطية، راجع وثائق إعادة تصميم AndroidX.

 

Kotlin

وحدات توسيع كوتلن تدعم العديد من إعتمادات AndroidX المسماه بـ

  use -ktx for kotlin //  أدناه، قم فقط بإستبدال المثال:

implementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycle_version" // use -ktx for Kotlin

بـ…

implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"

 

يمكن العثور على مزيد من المعلومات، بما في ذلك المستندات الخاصه بتوسيع الكوتلن، في وثائق ktx.

 

ملاحظة: للتطبيقات المصممه على الكوتلن، تأكد من إستخدام kapt بدلاً من annotationProcessor التعليق التوضيحي.

يجب عليك أيضاً إضافة، الإضافه kotlin-kapt.

 

 

 

دورة الحياة

إعتمادات دورة الحياة، بما في ذلك LiveData و ViewModel.

AndroidX

dependencies {
    def lifecycle_version = "2.0.0"

    // ViewModel and LiveData
    implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
    // alternatively - just ViewModel
    implementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycle_version" // use -ktx for Kotlin
    // alternatively - just LiveData
    implementation "androidx.lifecycle:lifecycle-livedata:$lifecycle_version"
    // alternatively - Lifecycles only (no ViewModel or LiveData). Some UI
    //     AndroidX libraries use this lightweight import for Lifecycle
    implementation "androidx.lifecycle:lifecycle-runtime:$lifecycle_version"

    annotationProcessor "androidx.lifecycle:lifecycle-compiler:$lifecycle_version" // use kapt for Kotlin
    // alternately - if using Java8, use the following instead of lifecycle-compiler
    implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version"

    // optional - ReactiveStreams support for LiveData
    implementation "androidx.lifecycle:lifecycle-reactivestreams:$lifecycle_version" // use -ktx for Kotlin

    // optional - Test helpers for LiveData
    testImplementation "androidx.arch.core:core-testing:$lifecycle_version"
}

 

قبل AndroidX

dependencies {
    def lifecycle_version = "1.1.1"

    // ViewModel and LiveData
    implementation "android.arch.lifecycle:extensions:$lifecycle_version"
    // alternatively - just ViewModel
    implementation "android.arch.lifecycle:viewmodel:$lifecycle_version" // use -ktx for Kotlin
    // alternatively - just LiveData
    implementation "android.arch.lifecycle:livedata:$lifecycle_version"
    // alternatively - Lifecycles only (no ViewModel or LiveData).
    //     Support library depends on this lightweight import
    implementation "android.arch.lifecycle:runtime:$lifecycle_version"

    annotationProcessor "android.arch.lifecycle:compiler:$lifecycle_version" // use kapt for Kotlin
    // alternately - if using Java8, use the following instead of compiler
    implementation "android.arch.lifecycle:common-java8:$lifecycle_version"

    // optional - ReactiveStreams support for LiveData
    implementation "android.arch.lifecycle:reactivestreams:$lifecycle_version"

    // optional - Test helpers for LiveData
    testImplementation "android.arch.core:core-testing:$lifecycle_version"
}

 

 

 

الروم


إعتمادات الروم، بما في ذلك إختبار ترحيل الروم و Room RxJava

AndroidX

dependencies {
    def room_version = "2.1.0-alpha04"

    implementation "androidx.room:room-runtime:$room_version"
    annotationProcessor "androidx.room:room-compiler:$room_version" // use kapt for Kotlin

    // optional - RxJava support for Room
    implementation "androidx.room:room-rxjava2:$room_version"

    // optional - Guava support for Room, including Optional and ListenableFuture
    implementation "androidx.room:room-guava:$room_version"

    // optional - Coroutines support for Room
    implementation "androidx.room:room-coroutines:$room_version"

    // Test helpers
    testImplementation "androidx.room:room-testing:$room_version"
}

 

قبل AndroidX

dependencies {
    def room_version = "1.1.1"

    implementation "android.arch.persistence.room:runtime:$room_version"
    annotationProcessor "android.arch.persistence.room:compiler:$room_version" // use kapt for Kotlin

    // optional - RxJava support for Room
    implementation "android.arch.persistence.room:rxjava2:$room_version"

    // optional - Guava support for Room, including Optional and ListenableFuture
    implementation "android.arch.persistence.room:guava:$room_version"

    // Test helpers
    testImplementation "android.arch.persistence.room:testing:$room_version"
}

 

 

 

 

الترحيل


إعتمادات الترحيل Paging

AndroidX

dependencies {
    def paging_version = "2.1.0"

    implementation "androidx.paging:paging-runtime:$paging_version" // use -ktx for Kotlin

    // alternatively - without Android dependencies for testing
    testImplementation "androidx.paging:paging-common:$paging_version" // use -ktx for Kotlin

    // optional - RxJava support
    implementation "androidx.paging:paging-rxjava2:$paging_version" // use -ktx for Kotlin
}

قبل AndroidX

dependencies {
    def paging_version = "1.0.0"

    implementation "android.arch.paging:runtime:$paging_version"

    // alternatively - without Android dependencies for testing
    testImplementation "android.arch.paging:common:$paging_version"

    // optional - RxJava support
    implementation "android.arch.paging:rxjava2:$paging_version"
}

 

 

الملاحه


إعتمادات الملاحه

فئات الملاحة موجودة بالفعل في حزمة androidx.navigation، ولكنها تعتمد حالياً على مكتبة الدعم 27.1.1، وإصدارات مكون البنيه المرتبطة.

إصدار الملاحة المحتوي على إعتمادات AndroidX سيتم إصداره في المستقبل.

dependencies {
    def nav_version = "1.0.0-alpha11"

    implementation "android.arch.navigation:navigation-fragment:$nav_version" // use -ktx for Kotlin
    implementation "android.arch.navigation:navigation-ui:$nav_version" // use -ktx for Kotlin
}

 

 

معطيات آمنه

بالنسبة إلى المعطيات الآمنة، أضف مسار الفئة التالي في ملف البناء build.gradle ذي المستوى الأعلى

buildscript {
    repositories {
        google()
    }
    dependencies {
        classpath "android.arch.navigation:navigation-safe-args-gradle-plugin:1.0.0-alpha11"
    }
}

 

وفي ملف البناء build.gradle الخاص بتطبيقك أو وحدتك النمطيه

apply plugin: "androidx.navigation.safeargs"
// alternatively - for Kotlin-only modules
apply plugin: "androidx.navigation.safeargs.kotlin"

 

 

مدير العمل


إعتمادات مدير العمل

إن فئات مدير العمل موجودة بالفعل في الحزمة androidx.work، ولكنها تعتمد حالياً على مكتبة الدعم 27.1..

وإصدارات مكون البنيه المرتبط. إصدار مدير العمل المحتوي على إعتمادات AndroidX سيتم إصداره في المستقبل.

يتطلب مدير العمل الإصدار 28 أو أعلى من compileSdk .

dependencies {
    def work_version = "1.0.0-beta03"

    implementation "android.arch.work:work-runtime:$work_version" // use -ktx for Kotlin+Coroutines

    // optional - RxJava2 support
    implementation "android.arch.work:work-rxjava2:$work_version"

    // optional - Test helpers
    androidTestImplementation "android.arch.work:work-testing:$work_version"
}

 

لمزيد من المعلومات، راجع إضافة إعتمادات البناء.


للإطلاع على المقال باللغة الإنجليزية أضغط هنا.

الإعلانات