Я использую roomVersion = '2.1.0-alpha03' в ветви AndroidX
// Room (androidx)
implementation "androidx.room:room-runtime:$rootProject.roomVersion"
implementation "androidx.room:room-rxjava2:$rootProject.roomVersion"
implementation "androidx.room:room-guava:$rootProject.roomVersion"
testImplementation "androidx.room:room-testing:$rootProject.roomVersion"
annotationProcessor "androidx.room:room-compiler:$rootProject.roomVersion"
Вот мой запрос @DatabaseView:
@DatabaseView("SELECT * FROM DataPointJoin " +
"INNER JOIN Device ON Device.device_uid = DataPointJoin.device_uid " +
"INNER JOIN Measurement ON Measurement.measurement_uid = DataPointJoin.measurement_uid " +
"INNER JOIN Location ON Location.location_uid = DataPointJoin.location_uid " +
"INNER JOIN User ON User.user_uid = DataPointJoin.user_uid " +
"INNER JOIN SyncRecord ON SyncRecord.sync_uid = DataPointJoin.uid ")
А вот примеро том, как я его использую:
@Query("SELECT * FROM DataPoint WHERE DataPoint.uid = :uid")
Flowable<Optional<DataPoint>> get(String uid);
При использовании @DatabaseView () для инкапсуляции объединения в View и после очистки и перестроения:
- My @DatabaseViewзапрос не проверяется и не выделяется, как в @Query (), просто длинная строка.
![enter image description here](https://i.stack.imgur.com/FmK2k.png)
- Компилируется, но IDE не может разрешить символ просмотра.
![enter image description here](https://i.stack.imgur.com/ASG2p.png)