如何在不使用Lambda Expressions的情况下使用新的Android架构?

我已经按照谷歌直接编写的this教程.

我目前遇到的问题是userDao.save(response.body());在UserRepository类中.

 private void refreshUser(final String userId) {
        executor.execute(() -> {
            // running in a background thread
            // check if user was fetched recently
            boolean userExists = userDao.hasUser(FRESH_TIMEOUT);
            if (!userExists) {
                // refresh the data
                Response response = webservice.getUser(userId).execute();
                // TODO check for error etc.
                // Update the database.The LiveData will automatically refresh so
                // we don't need to do anything else here besides updating the database
                userDao.save(response.body());
            }
        });
    }

当我尝试在我的Android Studio版本中执行此操作时,我收到一条消息,指出此语言级别不支持Lambda表达式.

如何在不使用Lambda Expressions的情况下使用新的Android架构?

我知道我可以升级我的Android Studio以支持Java 8,如that,但是还有其他方法吗?我不想仅仅为了使用Lambda Expressions而升级到Java 8.

解决方法:

如果您不想使用Java 8(您应该重新考虑),可以手动替换:

executor.execute(() -> {
    // task...
});

有:

executor.execute(new Runnable() {
    @Override
    public void run() {
        // task...
    }
});
上一篇:改造. Android系统.我可以在没有解析的情况下将json对象下载到String吗?


下一篇:java – Proguard配置使用改造Retrofit