我关注了this教程,直接由谷歌编写。
我目前遇到的问题是 UserRepository
类中的 userDao.save(response.body());
行。
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 表达式。
我知道我可以升级我的 Android Studio 以支持 Java 8,例如 that , 但是-还有其他方法吗?我不想升级到 Java 8 只是为了使用 Lambda 表达式。
最佳答案
如果您不想使用 Java 8(您应该重新考虑),您可以手动替换:
executor.execute(() -> {
// task...
});
与:
executor.execute(new Runnable() {
@Override
public void run() {
// task...
}
});
关于android - 如何在不使用 Lambda 表达式的情况下使用新的 Android 架构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46551906/