首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我们现在应该使用Java 8进行Android开发吗?

我们现在应该使用Java 8进行Android开发吗?
EN

Stack Overflow用户
提问于 2018-07-08 07:41:47
回答 3查看 626关注 0票数 2

有关这方面的其他问题已经有两年多了,因此我想知道Java 8在Android中的地位。

具体来说,我想使用lambda表达式,只从这个开始。我想将如下代码重构为lambda表达式:

代码语言:javascript
复制
 Handler handler = new Handler(Looper.getMainLooper());
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                missileX = ufoX;
                resetRecent();
                waitForUfoTimer = false;
            }
        }, randomize(20000, 18000));
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-07-08 07:54:09

是的,在我看来你应该。它引入了一些很好的特性,比如lambda表达式或方法引用或流(但不是每个版本都支持),使代码更加整洁。另一方面,整洁对某些人来说可能并不是一种优势,因为它可以被认为是可读性较差的。此外,你的安卓Gradle插件至少必须是3.0.0,这可能不是每个项目的选择。

如前所述,如果JAVA 8版本低于24,则不支持minSdk的某些特性。

任何minSdk都支持什么?

  1. Lambda表达式
  2. 方法参考
  3. 类型注解
  4. 默认和静态接口方法。
  5. 重复注释

有关更多信息,请参见- https://developer.android.com/studio/write/java8-support

票数 2
EN

Stack Overflow用户

发布于 2018-07-08 07:43:54

我们现在应该使用Java 8进行Android开发吗?

是。您需要在模块build.gradle中添加以下行

代码语言:javascript
复制
android {
   compileOptions {
       sourceCompatibility JavaVersion.VERSION_1_8
       targetCompatibility JavaVersion.VERSION_1_8
   }
 ..
}

现在默认情况下,android支持使用Java8语言特性。现在你不需要杰克了。您必须拥有Android插件3.0.0或更高版本。

票数 3
EN

Stack Overflow用户

发布于 2018-07-08 08:06:20

是的,使用语言特性(如lambda表达式)非常好。只需更改您的设置以反映版本8。

然而,一些Java8API并不适用于较早的android版本。这方面的一个例子是java LocalDate。如果您的目标是一个足够高的android版本(我相信是26),那么这将有效,否则您将不得不使用java Date或joda timsb。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51229839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档