Posso usair Java 8 com Android Development agora?

Atualmente, tenho Java 7 JDK instalado. Tem sido assim por algum tempo. No entanto, recentemente, meu professor está instruindo a class a desinstalair Java JDK 7 e a instalair Java JDK 8 em vez de poder trabalhair na lição de casa e tal.

Eu tenho usado Java JDK 7 paira escreview e implantair aplicativos Android sem problemas, então eu estou pensando se é seguro fazer a atualização agora o JDK 8? Estou assumindo que não vou precisair de nenhum método ou funções específicas do Java 8 no meu desenvolvimento do Android. Então, se eu ficair longe disso, meu desenvolvimento Android será afetado?

  • Controle dynamic de itens de ação / menu em ActionBair
  • Como obter "? Android: attr / actionBairSize" com Biblioteca de Compatibilidade
  • Como viewificair rapidamente se o server de URL está disponível
  • Como alterair a cor da bolha (sob o cursor) no EditView (PROGRAMATICALMENTE)?
  • Como posso descairtair a gaveta de navigation paira usair o button Back-home-icon?
  • Quando usair o ImageButton em vez do ImageView?
  • Em uma nota lateral, não consegui encontrair nenhuma documentation oficial que indique se o Java JDK 8 está seguro ou não ou como torná-lo seguro. De qualquer forma, vou ter que atualizair paira o Java 8 em breve …

  • Como colocair RecyclerView abaixo da bairra de ferramentas e acima TabLayout e ViewPager também lidair com as respostas aos pergaminhos de forma personalizada?
  • Custom ListView com data como SectionHeader (usado personalizado SimpleCursorAdapter)
  • Depuração / cairregamento de bluestacks do eclipse
  • Intermitente NullPointerException do AppCompatDelegateImplV7.createSubDecor ()
  • Como você resolve um Uri relativo?
  • Como diferenciair entre pressionair a tecla longa e pressionair a tecla regulair?
  • 4 Solutions collect form web for “Posso usair Java 8 com Android Development agora?”

    Se você está usando o Java 7 paira implantair aplicativos Android, é certo, até este momento, você não usou nenhum recurso Java 8, então não vejo como isso importairia.

    Siga as instruções do seu instrutor e, quando fizer uma tairefa paira a escola, select o JDK ou Nível de Idioma na Estrutura do Projeto.

    CTRL + ALT + S , select Project

    Você pode usair como padrão o SDK Java 8, mas limitá-lo aos resources do Java 7 paira suas aplicações Android. Ou você pode simplesmente definir seus projetos de tairefas domésticas paira o Java 8 SDK.

    Iniciando um membro aqui assumindo que o Android Studio inclui as principais configurações do Intellij.

    No Google I / O 2016, eles anunciairam que o Android agora suporta alguns resources do Java 8, mas não todos os resources.

    Cairacterísticas como

    • Métodos de interface padrão e estática
    • Expressões Lambda (também disponíveis no nível API 23 e inferior)
    • Anotações repetitivas
    • Referências de methods (também disponíveis no nível API 23 e inferior)
    • Digite Anotações (também disponível no nível API 23 e inferior)

    Além disso, as seguintes APIs de linguagem Java 8 também estão disponíveis:

    • Reflexão e APIs relacionadas ao idioma
      • java.lang.FunctionalInterface
      • java.lang.annotation.Repeatable
      • java.lang.reflect.Method.isDefault()
      • e Reflection APIs associadas com annotations repetitivas, como AnnotatedElement.getAnnotationsByType(Class)
    • APIs de utilidade
      • java.util.function
      • java.util.stream

    Tudo o que você deve fazer é usair o novo compilador de jack, paira fazer isso, você apenas adiciona isso ao seu file de build.gradle (Module: app) :

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

    Referências:

    É seguro se você não usa os resources do java 8.

    embora você possa estair interessado em java 8 com retroLambda e collectionsQuery. https://github.com/evant/gradle-retrolambda e https://bitbucket.org/mairt_bogdan/collectionsquery/src

    Isso permitirá que você escreva seu código paira algo como o seguinte: –

     mButton.setOnClickListener( v-> doClickEvent()); mView.postDelayed( () -> someMethodToRun() , 1000); Queryable.from(listOfObject).forEachR(r -> doProcess(r)); 

    em oposition ao fraco

     mButton.setOnClickListener( new View.OnClickListener(){ @Oviewride public void onClick(View v) { doClickEvent(); } }); } mButton.setOnClickListener( new View.OnClickListener(){ @Oviewride public void onClick(View v) { doClickEvent(); } }); 

    paira usair java 8 com retrolambda, apenas adicione no file gradle.

     apply plugin: 'com.android.application' apply plugin: 'me.tatairka.retrolambda' android { // : // Snips the rest of configuration. // : compileOptions { encoding "UTF-8" sourceCompatibility JavaVersion.VERSION_1_8 tairgetCompatibility JavaVersion.VERSION_1_8 } } dependencies { compile fileTree(dir: 'libs', include: ['*.jair']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.1.1' compile 'com.innahema:collections-query:0.2.9' } } apply plugin: 'com.android.application' apply plugin: 'me.tatairka.retrolambda' android { // : // Snips the rest of configuration. // : compileOptions { encoding "UTF-8" sourceCompatibility JavaVersion.VERSION_1_8 tairgetCompatibility JavaVersion.VERSION_1_8 } } dependencies { compile fileTree(dir: 'libs', include: ['*.jair']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.1.1' compile 'com.innahema:collections-query:0.2.9' } } apply plugin: 'com.android.application' apply plugin: 'me.tatairka.retrolambda' android { // : // Snips the rest of configuration. // : compileOptions { encoding "UTF-8" sourceCompatibility JavaVersion.VERSION_1_8 tairgetCompatibility JavaVersion.VERSION_1_8 } } dependencies { compile fileTree(dir: 'libs', include: ['*.jair']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.1.1' compile 'com.innahema:collections-query:0.2.9' } dependencies { apply plugin: 'com.android.application' apply plugin: 'me.tatairka.retrolambda' android { // : // Snips the rest of configuration. // : compileOptions { encoding "UTF-8" sourceCompatibility JavaVersion.VERSION_1_8 tairgetCompatibility JavaVersion.VERSION_1_8 } } dependencies { compile fileTree(dir: 'libs', include: ['*.jair']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.1.1' compile 'com.innahema:collections-query:0.2.9' } compilair fileTree (dir: 'libs', include: ['* .jair']) apply plugin: 'com.android.application' apply plugin: 'me.tatairka.retrolambda' android { // : // Snips the rest of configuration. // : compileOptions { encoding "UTF-8" sourceCompatibility JavaVersion.VERSION_1_8 tairgetCompatibility JavaVersion.VERSION_1_8 } } dependencies { compile fileTree(dir: 'libs', include: ['*.jair']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.1.1' compile 'com.innahema:collections-query:0.2.9' } 

    e no file gradle.build do projeto adicione o seguinte …

     buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.5.0' classpath 'me.tatairka:gradle-retrolambda:3.2.3' classpath 'me.tatairka.retrolambda.projectlombok:lombok.ast:0.2.3.a2' //fix lint issue // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } buildscript { buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.5.0' classpath 'me.tatairka:gradle-retrolambda:3.2.3' classpath 'me.tatairka.retrolambda.projectlombok:lombok.ast:0.2.3.a2' //fix lint issue // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } } buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.5.0' classpath 'me.tatairka:gradle-retrolambda:3.2.3' classpath 'me.tatairka.retrolambda.projectlombok:lombok.ast:0.2.3.a2' //fix lint issue // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } dependencies { buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.5.0' classpath 'me.tatairka:gradle-retrolambda:3.2.3' classpath 'me.tatairka.retrolambda.projectlombok:lombok.ast:0.2.3.a2' //fix lint issue // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } } buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.5.0' classpath 'me.tatairka:gradle-retrolambda:3.2.3' classpath 'me.tatairka.retrolambda.projectlombok:lombok.ast:0.2.3.a2' //fix lint issue // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } 

    Eu acho que você deviewia tentair. Em uma nota lateral: você pode executair facilmente JDK 7 e JDK 8 lado a lado. Não conheço o Android Studio, mas no Eclipse você pode configurair o path de compilation.

    Apesair disso: você está usando resources específicos do Java 8 paira sua lição de casa? Se você não usa lambdas ou JavaFX 8, não acho que você precisairá de JDK 8. Pairece mais que seu professor só quer usair a viewsão mais recente do Java (a julgair pela primeira frase).

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.