可在房间内流动
Flowable in room
@Database(entities = {User.class}, version = 2, exportSchema = false)
public abstract class AppDatabase extends RoomDatabase {
public abstract userDao userDao();
}
Pojo 用户class
@Entity
public class User {
@PrimaryKey(autoGenerate = true)
private int id;
public User(){
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
道
@Dao
public interface userDao {
@Query("SELECT * FROM User WHERE id = :id")
Flowable<User> get(int id);
@Insert
Completable insert(User user);
}
依赖项
implementation "androidx.room:room-runtime:2.2.3"
annotationProcessor "androidx.room:room-compiler:2.2.3"
implementation "android.arch.persistence.room:rxjava2:1.1.1"
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
implementation "io.reactivex.rxjava2:rxjava:2.2.14"
错误
error: no suitable method found for createFlowable(RoomDatabase,boolean,String[],<anonymous Callable<User>>)
method RxRoom.createFlowable(RoomDatabase,String...) is not applicable
(varargs mismatch; boolean cannot be converted to String)
method RxRoom.<T>createFlowable(RoomDatabase,String[],Callable<T>) is not applicable
(cannot infer type-variable(s) T
(actual and formal argument lists differ in length))
where T is a type-variable:
T extends Object declared in method <T>createFlowable(RoomDatabase,String[],Callable<T>)
我正在尝试弄清楚如何在房间中使用 rxjava,我按照示例进行操作,但它会引发错误,问题是什么?可完成工作正常
根据 Room Declaring Dependencies documentation,您需要依赖 room-ktx
才能使用协程,并且 Flowable
:
implementation "androidx.room:room-ktx:2.2.3"
我不知道你为什么将 ianhanniballake 的答案标记为正确答案。
依赖项“androidx.room:room-ktx:2.2.3”与 RxJava 无关。
我的情况是我通过添加此依赖项
解决了问题
implementation "androidx.room:room-rxjava2:2.2.3"
代替我的旧版本:
implementation 'android.arch.persistence.room:rxjava2:1.1.1'
希望这会有所帮助
@Database(entities = {User.class}, version = 2, exportSchema = false)
public abstract class AppDatabase extends RoomDatabase {
public abstract userDao userDao();
}
Pojo 用户class
@Entity
public class User {
@PrimaryKey(autoGenerate = true)
private int id;
public User(){
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
道
@Dao
public interface userDao {
@Query("SELECT * FROM User WHERE id = :id")
Flowable<User> get(int id);
@Insert
Completable insert(User user);
}
依赖项
implementation "androidx.room:room-runtime:2.2.3"
annotationProcessor "androidx.room:room-compiler:2.2.3"
implementation "android.arch.persistence.room:rxjava2:1.1.1"
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
implementation "io.reactivex.rxjava2:rxjava:2.2.14"
错误
error: no suitable method found for createFlowable(RoomDatabase,boolean,String[],<anonymous Callable<User>>)
method RxRoom.createFlowable(RoomDatabase,String...) is not applicable
(varargs mismatch; boolean cannot be converted to String)
method RxRoom.<T>createFlowable(RoomDatabase,String[],Callable<T>) is not applicable
(cannot infer type-variable(s) T
(actual and formal argument lists differ in length))
where T is a type-variable:
T extends Object declared in method <T>createFlowable(RoomDatabase,String[],Callable<T>)
我正在尝试弄清楚如何在房间中使用 rxjava,我按照示例进行操作,但它会引发错误,问题是什么?可完成工作正常
根据 Room Declaring Dependencies documentation,您需要依赖 room-ktx
才能使用协程,并且 Flowable
:
implementation "androidx.room:room-ktx:2.2.3"
我不知道你为什么将 ianhanniballake 的答案标记为正确答案。
依赖项“androidx.room:room-ktx:2.2.3”与 RxJava 无关。
我的情况是我通过添加此依赖项
implementation "androidx.room:room-rxjava2:2.2.3"
代替我的旧版本:
implementation 'android.arch.persistence.room:rxjava2:1.1.1'
希望这会有所帮助