Вставка Android комнаты с Completable не работает?методы, аннотированные @insert, могут возвращать void, long? - PullRequest
0 голосов
/ 27 февраля 2019

Версии, которые я использую:

implementation 'io.reactivex.rxjava2:rxjava:2.2.4'
implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
implementation 'com.jakewharton.rxbinding2:rxbinding:2.0.0'
implementation 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'
implementation 'android.arch.persistence.room:runtime:2.1.0-alpha04'
kapt 'android.arch.persistence.room:compiler:2.1.0-alpha04'
implementation 'android.arch.persistence.room:rxjava2:2.1.0-alpha04'

и Dao

@Insert(onConflict = OnConflictStrategy.REPLACE)
fun insertStore(stores: Stores): Completable

1 Ответ

0 голосов
/ 01 марта 2019

Из этой замечательной статьи на среде я обнаружил, что

, начиная с комнаты 2.1.0-alpha01, методы DAO с комментариями @Insert, @Delete или @Updateподдержка типов возврата Rx Completable, Single и Maybe

Несмотря на то, что я использовал последнюю версию комнаты, у меня возникла проблема,

implementation 'android.arch.persistence.room:runtime:2.1.0-alpha04'
kapt 'android.arch.persistence.room:compiler:2.1.0-alpha04'
implementation 'android.arch.persistence.room:rxjava2:2.1.0-alpha04'

Я обнаружил, что проблема возниклаиз-за использования androidx в моем проекте, поэтому, чтобы исправить это, мне пришлось использовать компоненты комнаты androidx.

implementation 'androidx.room:room-runtime:2.1.0-alpha04'
kapt 'androidx.room:room-compiler:2.1.0-alpha04'
implementation 'androidx.room:room-rxjava2:2.1.0-alpha04'
...