问题标签 [retrolambda]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
389 浏览

android - Lambda 方法参考 Function抛出 NoClassDefFoundError

我正在使用带有 Java 8 的 Android 的 Retrolambda,并且在将 lambda 方法引用保存到 Android 的Function<F,T>接口中时遇到了运行时致命异常,并抛出了java.lang.NoClassDefFoundError.

在浪费了一些时间检查我自己的代码之后,我实际上意识到这个接口正在使用javax.annotation.Nullable,它已经移动到另一个依赖项,导致它不显示任何编译错误,而是在运行时抛出提到的异常。

0 投票
1 回答
371 浏览

android - 如何在android中删除lamba库?

我已经开始编写其他开发人员预先编写的代码,它有:'me.tatarka.retrolambda',它对 apk 大小的影响是什么。

这些是 gradle 文件中的行;

0 投票
1 回答
941 浏览

java - 如何使用 @WorkerThread 注释 lambda?

我正在更新一些代码以在 Android 上使用retrolambda。该代码大部分都有效,但 Android Studio 2.1 IDE 似乎标记了之前 OK 的代码:

以下屏幕截图显示正确推断出旧的可运行语法(或者更确切地说,它没有被推断出,并且run()需要使用 @WorkerThread 注释该方法才能使注释在内部正常工作......)但在 retrolambda 语法版本中,该方法被推断为在 UI 上运行,这不是:

在此处输入图像描述

如何使用注释对 lambda 进行@WorkerThread注释?我试过把它放在几个地方,但我似乎无法让 IDE 满意。

0 投票
1 回答
9655 浏览

android - 使用 Android Gradle Experimental 插件时如何指定 sourceCompatibility 编译选项

我目前在我的一个应用程序中使用 Android Gradle Experimental 插件,我希望能够使用retrolambda库。要求之一是指定一些 compileOptions。在普通的 android 构建插件中,这是有效的:

对于新的 Experimental 插件,我在 model.android 下添加了这个:

但是,上述结果会导致 gradle 同步错误:

如何使用新的 Android Experimental Gradle 插件设置 sourceCompatibility 和 targetCompatibility?

谢谢。

0 投票
1 回答
255 浏览

android - 错误:任务“:app:processStagingDebugResources”执行失败

我目前正在处理自定义视图并有下一个问题。我已经创建了自定义属性,如果我不使用枚举,一切都很好。

但是一旦我用枚举添加属性,我就会得到下一个错误:

错误:任务“:app:processStagingDebugResources”执行失败。com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command'/Users/volodiachorneknyy/Library/Android/sdk/build-tools/23.0.3/aapt'' 完成非零退出值 1

出现此类问题的原因可能是什么?

更新 1 我使用retrolambda。我试着在没有它的情况下做同样的事情,一切都很好。

0 投票
0 回答
650 浏览

android - retrolambda gradle 执行错误

今天,我retrolamda-gradle在我的 Android 项目中使用插件。Sync过程没问题,但是当我运行项目时,出现如下错误:

在我的build.gradle(Project)中,我只是添加classpath依赖项:

在我的build.gradle(module)

PS:我的java家是这样的:JAVA7_HOME=D:\Java\jdk1.7.0_25JAVA8_HOME=D:\Java\jdk1.8.0_91

如果有人能告诉我如何使用,我将不胜感激--stacktrace option。也许会有所帮助!

0 投票
1 回答
1031 浏览

android - 如何为 RetroLambda 设置 CircleCI 环境 JAVA7_HOME

我在我的 Android 应用程序中使用 retrolambda,并使用 circleci.com 作为我的 github 存储库的持续集成。

问题是我已经为Java_Home和Java7_Home配置了我的本地mac环境,一切正常,但我不知道如何为这个问题配置circleci yml文件。

这是我的应用程序仓库:

这是我在 .bash_profile 文件上的本地配置:

这是我的 circleci.yml 文件:

这是circleci错误日志:

请帮忙...

0 投票
1 回答
1220 浏览

android - Android Studio :app:compileDebugJavaWithJavac 包 R 不存在

我已经设置了一个带有 retrolambda 的 App 项目,以实现 JAVA 8 兼容性和对自己的 android 库的模块依赖,因为我也在第二个 App 中使用了这部分。问题是每次我用 gradle 构建我的项目时都没有错误并且构建成功,但是当我想在我的设备上安装应用程序时,gradle 失败了

这是我的gradle设置:

build.gradle(项目:“项目名称”)

build.gradle(模块:app)

build.gradle(模块:myownmodule)

这是 gradle 控制台的输出:

我想知道这一点,因为我可以毫无问题地安装具有相同设置的第二个应用程序。为什么 gradle 在这个应用程序中崩溃?在我的 java 类中,编程没有问题,并且存在对 android R 类的导入,但是在构建安装 gradle 时删除了这个导入,所有 R 将在几秒钟前变为红色。Android Studio 自动导入正确的 R

并且在导入之后,R 不再是红色了。

我已经测试了 gradle clean 并重建了几次(如其他问题中所建议的那样),但没有解决问题......

感谢您的帮助:D

0 投票
3 回答
5711 浏览

android - Correct flow in RxJava with Retrofit and Realm

I'm implementing network API with the combination of RxJava and Retrofit, and I use Realm as my database. I got it pretty much working but I'm wondering if it is the correct approach and flow of events. So, here is the RetrofitApiManager.

And here is the call to get RealmResults<Shop> inside a Fragment.

Here are my questions:

  1. Is it a correct approach to chain events like in the example above or should I manage them in a different way?

  2. Is it OK to useRealm instance in getShops() method and close i there or would it be better to pass it as an argument and then manage it somehow? Although, this idea seems to be a bit problematic with threads and calling Realm.close() always at the right time.

0 投票
1 回答
3157 浏览

java - 错误:不兼容的类型:DeviceCheckCallback 不是功能接口

我有一个曾经可以使用的界面。现在我希望它有更多的抽象方法,所以我将它们添加到接口并更改了所有实现以覆盖这些方法。我在我的项目中使用了 retrolambda。当我运行应用程序时,我收到以下错误:

Error:incompatible types: DeviceCheckCallback is not a functional interface multiple non-overriding abstract methods found in interface DeviceCheckCallback

为什么我会看到这个?我不希望这个界面不再起作用?