استارت‌آپ و کارآفرینی

استفاده از Lambda Expressions در Android Studio

همانطور که اطلاع دارید، قابلیت Lambda Expressions در جاوا نسخه ۸ معرفی شد و مهمترین قابلیت این نسخه از جاوا به حساب می‌آید. این قابلیت توسعه در این زبان را به شکلی قابل توجه، ساده و سریع می‌کند. اما همانطور که اطلاع دارد، در حال حاضر اندروید از این نسخه از جاوا پشتیبانی نمی‌کند. اما چطور می‌توانیم امکان استفاده از این قابلیت مفید را به Android Studio اضافه کنیم؟ در ادامه مراحل اضافه کردن این قابلیت در Android Studio و محیط لینوکس Ubuntu را دنبال کنید.

برای اضافه کردن پشتیبانی از این قابلیت از پلاگین Retrolambda برای Gradle استفاده خواهد شد، این پلاگین با تبدیل بایت کد جاوا نسخه ۸ به ۷ و یا ۶ در هنگام کامپایل، این قابلیت را برای شما فراهم می‌نماید. اما در ابتدا نیاز به نصب نسخه ۸ جاوا به عنوان نسخه پیش‌فرض در اوبونتو خواهید داشت.

از آنجا که استفاده از جاوای اوراکل برای توسعه اندروید توصیه شده است و این نسخه از جاوا در مخازن رسمی اوبونتو موجود نیست ابتدا می‌بایست مخزن webupd8team که یکی از PPA های معتبر اوبونتو است را به پکیج منجر خود اضافه کنید، سپس برای نصب از پکیج منجر استفاده کنید. دستورات زیر را به تریتیب در ترمینال وارد نمایید.

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

پس از اتمام پروسه نصب برای اطمینان از نصب جاوا ۸ به صورت پیش فرض دستور زیر را برای نصب پکیج دیگری که به این منظور ایجاد شده وارد نمایید.

sudo apt-get install oracle-java8-set-default

پس از اتمام نصب، موارد زیر را در انتهای فایل /etc/profile.d/jdk.sh اضافه نمایید.

export JAVA6_HOME="/usr/lib/jvm/java-6-oracle"
export JAVA7_HOME="/usr/lib/jvm/java-7-oracle"
export JAVA8_HOME="/usr/lib/jvm/java-8-oracle"

سپس، موراد زیر را نیز در انتهای فایل /etc/profile.d/jdk.csh اضافه نمایید.

setenv JAVA6_HOME="/usr/lib/jvm/java-6-oracle"
setenv JAVA7_HOME="/usr/lib/jvm/java-7-oracle"
setenv JAVA8_HOME="/usr/lib/jvm/java-8-oracle"

سپس فایل اصلی بیلد پروژه خود را در اندروید استدیو باز نموده و از طریق اضافه کردن خط مشخص شده در کد زیر، پلاگین Retrolambda را به Gradle معرفی کنید.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.2.3'
        classpath 'me.tatarka:gradle-retrolambda:3.1.0'
    }
}

سپس برای فعال سازی پلاگین خطوط مشخص شده در کد زیر را به فایل بیلد مربوط به اپ اضافه نمایید.

apply plugin: 'com.android.application'
apply plugin: 'me.tatarka.retrolambda'

retrolambda {
    jdk System.getenv("JAVA8_HOME")
    oldJdk System.getenv("JAVA7_HOME")
    javaVersion JavaVersion.VERSION_1_7
}

پس از انجام مراحل بالا برای معرفی نسخه زبان مورد استفاده، کد زیر را به بلاک android در فایل بیلد اپ خود اضافه نمایید.

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

به عنوان آخرین مرحله، کد زیر را به فایل proguard-rules.pro اضافه نمایید و Gradle را مجددا سینک کنید.

-dontwarn java.lang.invoke.*

 

2 نظرات
  1. آرش می گوید

    خوبه،ممنون
    قرار بود شما یه سری پست ادامه بدید

    1. میلاد نکوفر می گوید

      هنوز هم اون قرار سر جاش هست. بخش بعدی اون مطالب هم در دست آماده سازی هست.

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.