الثلاثاء، 17 أكتوبر 2017

استخدام ميزات لغة جافا 8

استخدام ميزات لغة جافا 8



في هذه الوثيقة:
دعم جافا 8 ميزات اللغة وواجهات برمجة التطبيقات
تمكين ميزات جافا 8 و جاك تولشين
تكوين غرادل
مشاكل معروفة
تم إيقاف أداة جاك تولشين ، وفقا لهذا الإعلان . يمكنك الاستمرار في استخدامه، أو محاولة أحدث إصدار المعاينة من أندرويد ستوديو لاستخدام دعم محسن لميزات لغة جافا 8 المضمنة في تولشين الافتراضي .

يدعم أندرويد جميع ميزات لغة جافا 7 ومجموعة فرعية من ميزات لغة جافا 8 التي تختلف حسب إصدار النظام الأساسي. تصف هذه الصفحة ميزات اللغة الجديدة التي يمكنك استخدامها، وكيفية تهيئة مشروعك بشكل صحيح لاستخدامها، وأية مشكلات معروفة قد تواجهها.

ملاحظة: عند تطوير تطبيقات لالروبوت، وذلك باستخدام ميزات لغة جافا 8 اختيارية. يمكنك الاحتفاظ بقيم التوافق مع المصدر والهدف في المشروع الذي تم تعيينه على جافا 7، ولكن لا يزال يلزمك تجميع باستخدام جدك 8.

هذه الصفحة تظهر لك كيفية تمكين الدعم لميزات لغة جافا 8 باستخدام مترجم دعا جاك ، والذي يتوفر فقط على الروبوت ستوديو 2.1 وأعلى.

إذا كان لديك أندرويد ستوديو مثبت من قبل، فتأكد من التحديث إلى أحدث إصدار من خلال النقر على مساعدة> البحث عن تحديث (في نظام التشغيل ماك، أندرويد ستوديو> البحث عن تحديثات ). إذا لم يكن لديك بالفعل إيد مثبتة على محطة العمل الخاصة بك، تحميل الروبوت ستوديو هنا .

دعم جافا 8 ميزات اللغة وواجهات برمجة التطبيقات
الروبوت لا يدعم جميع ميزات لغة جافا 8. ومع ذلك، تتوفر الميزات التالية عند تطوير تطبيقات تستهدف أندرويد 7.0 (مستوى واجهة برمجة التطبيقات 24):

أساليب الواجهة الافتراضية والثابتة
عبارات لامبدا (متوفرة أيضا على مستوى واجهة برمجة التطبيقات 23 وأقل)
التعليقات التوضيحية القابلة للتكرار
أسلوب المراجع (متاح أيضا على مستوى أبي 23 وأقل)
اكتب التعليقات التوضيحية (تتوفر أيضا على مستوى واجهة برمجة التطبيقات 23 وما دونها)
ملاحظة: ملاحظة: تتوفر معلومات التعليق التوضيحي في وقت الترجمة، ولكن ليس عند وقت التشغيل. أيضا، تدعم المنصة TYPE في أبي 24 وما دونها، ولكن ليس ElementType.TYPE_USE أو ElementType.TYPE_PARAMETER. .

لاختبار تعبيرات لامدا، مراجع الأسلوب، واكتب التعليقات التوضيحية على الإصدارات السابقة من أندرويد، انتقل إلى ملف build.gradle الخاص بك، وقم بتعيين compileSdkVersion و targetSdkVersion إلى 23 أو أقل. سوف لا تزال بحاجة إلى تمكين جاك تولشين لاستخدام هذه الميزات جافا 8.

بالإضافة إلى ذلك، تتوفر واجهات برمجة التطبيقات لغة جافا 8 التالية أيضا:

تأملات واجهات برمجة التطبيقات ذات الصلة بالغة:
java.lang.FunctionalInterface
java.lang.annotation.Repeatable
java.lang.reflect.Method.isDefault()
وواجهات برمجة تطبيقات ريفلكتيون المرتبطة بالتعليقات التوضيحية القابلة للتكرار، مثل: AnnotatedElement.getAnnotationsByType(Class)
واجهات برمجة تطبيقات الأدوات المساعدة:
java.util.function
java.util.stream
تمكين ميزات جافا 8 و جاك تولشين
من أجل استخدام جافا 8 ميزات اللغة، تحتاج أيضا إلى استخدام جاك تولشين . هذا الروبوت تولشين يجمع مصادر لغة جافا في الروبوت .jack ، لديها الخاصة .jack شكل مكتبة، ويوفر معظم الميزات .jack كجزء من أداة واحدة: إعادة حزم، تقلص، التشويش و مولتيدكس.

هنا هو مقارنة بين اثنين من سلاسل الأدوات المستخدمة لبناء ملفات الروبوت ديكس:

ليغاسي جافاك تولشين: 
جافاك ( .java → .class ) → دكس ( .class → .dex )
جديد جاك تولشين: 
جاك ( .java → .jack → .dex )
تكوين غرادل
لتمكين ميزات لغة جافا 8 و جاك لمشروعك، أدخل ما يلي في ملف build.gradle مستوى build.gradle :

android {
  ...
  defaultConfig {
    ...
    jackOptions {
      enabled true
    }
  }
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }

}

مشاكل معروفة
لحظة تشغيل لا تعمل حاليا مع جاك وسيتم تعطيل أثناء استخدام تولشين الجديد.

لأن جاك لا تولد ملفات فئة وسيطة عند تجميع التطبيق، الأدوات التي تعتمد على هذه الملفات لا تعمل حاليا مع جاك. بعض الأمثلة على هذه الأدوات هي:

كاشف لينت التي تعمل على ملفات الفئة
الأدوات والمكتبات التي تتطلب ملفات فئة التطبيق (مثل اختبارات الأجهزة مع جوكوكو)

إذا وجدت مشاكل أخرى أثناء استخدام جاك، يرجى تقديم علة .

ليست هناك تعليقات:

إرسال تعليق

للوضع الليلي في التطبيق DayNight

في هذا البرنامج التعليمي ، سنناقش ونستخدم موضوع Android DayNight في تطبيقنا. إذا كان لديك تطبيق يحتوي على مواد للقراءة ، فإن استخدام الوض...