我目前已经安装了Java7 JDK。已经有一段时间了。然而,最近,我的教授正在指示全班卸载JavaJDK 7,安装JavaJDK 8,以便能够处理家庭作业等。
我一直在使用Java JDK 7编写和部署Android应用程序,没有任何问题,所以我想知道现在升级JDK 8是否安全?我假设在我的Android开发中不需要任何Java 8特定的方法或函数。那么,如果我远离这一点,我的Android开发会受到任何影响吗?
顺便说一句,我还没有找到任何官方留档来说明JavaJDK 8是否安全或如何使其安全。无论如何,我将不得不很快升级到Java8...
如果不使用java 8特性,那么它是安全的。
尽管您可能热衷于java 8 with reportLambda和集合查询。https://github.com/evant/gradle-retrolambda和https://bitbucket.org/mart_bogdan/collectionsquery/src
这将允许您将代码编写为以下内容:-
mButton.setOnClickListener( v-> doClickEvent());
mView.postDelayed( () -> someMethodToRun() , 1000);
Queryable.from(listOfObject).forEachR(r -> doProcess(r));
而不是笨重的
mButton.setOnClickListener( new View.OnClickListener(){
@Override
public void onClick(View v) {
doClickEvent();
}
});
要将java 8与retrolambda一起使用,只需在gradle文件中添加即可。
apply plugin: 'com.android.application'
apply plugin: 'me.tatarka.retrolambda'
android {
// :
// Snips the rest of configuration.
// :
compileOptions {
encoding "UTF-8"
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.innahema:collections-query:0.2.9'
}
并在项目gradle.build文件中添加以下内容...
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'
classpath 'me.tatarka:gradle-retrolambda:3.2.3'
classpath 'me.tatarka.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
}
}
如果您一直在使用Java7来部署Android应用程序,那么可以肯定的是,到目前为止,您还没有使用任何Java8功能,所以我看不出这有什么关系。
按照老师的指示,当您为学校做作业时,只需在项目结构中选择JDK或语言级别。
按住CTRL键,选择项目
您可以默认使用Java 8 SDK,但仅限于Android应用程序的Java 7功能。或者,您可以简单地将家庭作业项目设置为Java 8 SDK。
假设Android Studio包含Intellij的核心设置,那么我们就要冒险了。
在Google I/O 2016中,他们宣布Android现在支持Java 8的一些功能,但不是所有功能。
功能如下
此外,还提供以下Java 8语言API:
java.util.function
java.util.stream
所有你应该做的是使用新的插孔编译器,要做到这一点,你只需要将它添加到你的gradle文件build.gradle(模块: app)
:
android {
...
defaultConfig {
...
jackOptions {
enabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
参考文献:
我目前安装了Java7 JDK。这样已经有一段时间了。然而,最近,我的教授正在指导全班卸载Java JDK7,并安装Java JDK8,以便能够完成家庭作业等。 我一直在使用Java JDK7编写和部署Android应用程序,没有任何问题,所以我想知道现在升级JDK8是否安全?我假设在Android开发中不需要任何Java8特定的方法或函数。所以如果我远离这些,我的Android开发是否会受到影响
问题内容: 我目前安装了Java 7 JDK。已经有一段时间了。但是,最近,我的教授正在指导全班教师卸载Java JDK 7并安装Java JDK 8,以便能够从事家庭作业等。 我一直在使用Java JDK 7编写和部署Android应用程序而没有任何问题,所以我想知道现在升级JDK 8是否安全?我假设我在Android开发中不需要任何Java 8特定的方法或函数。因此,如果我不这样做,我的And
问题内容: 我们可以将其用于 (Android开放源代码项目) 开发吗,有没有办法做到这一点。我没有找到一个。有人对此有任何想法吗? 问题答案: 您可以将Android Studio用作AOSP的IDE,因为它只是InteliJ IDE的修改版本。 从AOSP根目录: 然后只需在Android Studio中“打开项目”,然后选择它生成的android.ipr。
我将使用PWA和React开发一个跨平台的移动应用程序,由于我对这些技术不熟悉,我想知道什么是使其具有响应性的最佳和最简单的方法。 我知道可以使用媒体查询。 https://developers.google.com/web/fundamentals/design-and-ux/responsive/ 但与Bootstrap相比,似乎还有更多的工作要做,但不幸的是,我找不到任何指导我在同一项目中使
我正在为Eclipse3.7.2版本的equinox开发一些插件。不幸的是,我无法升级到最新的equinox平台。所提供的equinox平台在其清单中没有提供“require-capability:osgi.ee;filter=”(&(osgi.ee=javase)(version=1.8))“条目。所以我不能在我的插件中使用”bundle-requiredexecutionEnvironment
请问我是否有可能在Spring Cloud中使用kubernetes而不是Eureka服务器?我问的原因是我们的环境中已经有了库伯内特斯,我知道库伯内特也提供服务发现,所以我不想为了服务发现目的启动尤里卡服务器。如果我能用库伯内取代尤里卡,那就太好了。