我已经按照谷歌直接编写的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表达式.
我知道我可以升级我的Android Studio以支持Java 8,如that,但是还有其他方法吗?我不想仅仅为了使用Lambda Expressions而升级到Java 8.
解决方法:
如果您不想使用Java 8(您应该重新考虑),可以手动替换:
executor.execute(() -> {
// task...
});
有:
executor.execute(new Runnable() {
@Override
public void run() {
// task...
}
});