Android 寻找简单的房间设计,挑战livedata在多个插入场景中的应用

Android 寻找简单的房间设计,挑战livedata在多个插入场景中的应用,android,android-room,android-livedata,Android,Android Room,Android Livedata,使用Room在一个方面很简单,但在我尝试使用它时却很有挑战性。我真的想要一个简单的实现,可以这样称呼: CustomObject customObject = new CustomObject("name"); CustomObjectRepository.insert(customObject).addOnSuccessListener(new OnSuccessListener<Long>() { @Override public void o

使用Room在一个方面很简单,但在我尝试使用它时却很有挑战性。我真的想要一个简单的实现,可以这样称呼:

CustomObject customObject = new CustomObject("name");
CustomObjectRepository.insert(customObject).addOnSuccessListener(new OnSuccessListener<Long>() {
    @Override
    public void onSuccess(Long id) {
        Log.d(TAG, "insert.onSuccess: id=" + id);
    }
}).addOnFailureListener(new OnFailureListener() {
    @Override
    public void onFailure(@NonNull Exception e) {
         Log.d(TAG, "insert.onFailure: " + e.message());
    }
});
CustomObject CustomObject=新的CustomObject(“名称”);
CustomObjectRepository.insert(customObject.addOnSuccessListener)(新OnSuccessListener(){
@凌驾
成功时公共无效(长id){
Log.d(标记“insert.onSuccess:id=“+id”);
}
}).addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常e){
Log.d(标记“insert.onFailure:+e.message());
}
});
LiveData在某些情况下是好的,但并非所有情况下都是好的。当我在一系列插入/更新中进行插入时,这可能是一个挑战。此外,如果片段中存在变化(在编辑时这样做,在插入时我们需要插入/更新3个表),这可能是一个难题。也许我做错了,但我试图在ViewModel中保留很多逻辑,但显然我不应该在那里保留LiveData观察器,所以它变得有点混乱和复杂