La habitación de Android no devuelve nada con url como parámetro

Estoy tratando de acceder a una list de elementos por la key principal de Feed como tal. La key principal es una url. Intentar acceder de esta manera me da una vuelta nula, y al intentar poner :arg0 entre comillas crea un error de time de compilation error: Unused parameter: arg0 . ¿Es posible usar una url para esta consulta?

 @Query("SELECT * FROM item WHERE feed_url = :arg0") fun observeAllByFeed(feedUrl: String): LiveData<List<Item>> 

ít.

 @Entity(foreignKeys = arrayOf(ForeignKey( entity = Feed::class, parentColumns = arrayOf("url"), childColumns = arrayOf("feed_url")))) data class Item( @ColumnInfo(name = "guid") @PrimaryKey var guid: String = "", @ColumnInfo(name = "categoryIds") var categoryIds: List<Int> = emptyList(), @ColumnInfo(name = "comments") var comments: String? = null, @ColumnInfo(name = "content") var content: String? = null, @ColumnInfo(name = "description") var description: String = "", @ColumnInfo(name = "author") var author: String = "", @ColumnInfo(name = "block") var block: Boolean = false, @ColumnInfo(name = "duration") var duration: Int = 0, @ColumnInfo(name = "explicit") var explicit: String = "", @ColumnInfo(name = "image_url") var imageUrl: String = "", @ColumnInfo(name = "keywords") var keywords: List<String> = emptyList(), @ColumnInfo(name = "subtitle") var subTitle: String = "", @ColumnInfo(name = "summary") var summary: String = "", @ColumnInfo(name = "link") var link: String = "", @ColumnInfo(name = "publication_date") var pubDate: Date = Date(), @ColumnInfo(name = "title") var title: String = "", @ColumnInfo(name = "feed_url") var feedURL: String = "", @ColumnInfo(name = "download_state") var downloadState: Int = Item.DownloadState.STATE_NOT_DOWNLOADED ) : Serializable { companion object DownloadState { val STATE_NOT_DOWNLOADED = 0 val STATE_DOWNLOADING = 1 val STATE_DOWNLOADED = 2 } } 

Alimentar

 @Entity(foreignKeys = arrayOf(ForeignKey( entity = Owner::class, parentColumns = arrayOf("id"), childColumns = arrayOf("owner_id") ))) data class Feed( @ColumnInfo(name = "url") @PrimaryKey var URL: String = "", @ColumnInfo(name = "copyright") var copyright: String? = null, @ColumnInfo(name = "description") var description: String? = null, @ColumnInfo(name = "itemGUIDs") var itemGUIDs: List<String> = emptyList(), @ColumnInfo(name = "author") var author: String? = null, @ColumnInfo(name = "block") var block: Boolean = false, @ColumnInfo(name = "categoryIds") var categoryIds: List<Int> = emptyList(), @ColumnInfo(name = "explicit") var explicit: Boolean = false, @ColumnInfo(name = "image_url") var imageUrl: String? = null, @ColumnInfo(name = "owner_id") var ownerId: Int = -1, @ColumnInfo(name = "subtitle") var subtitle: String? = null, @ColumnInfo(name = "summary") var summary: String? = null, @ColumnInfo(name = "language") var language: String = "", @ColumnInfo(name = "link") var link: String = "", @ColumnInfo(name = "title") var title: String = "", @ColumnInfo(name = "expiry") var expiry: Date = Date(), @ColumnInfo(name = "subscribed") var subscribed: Boolean = false ) : Serializable 

Propietario

 @Entity data class Owner( @ColumnInfo(name = "name") var name: String? = null, @ColumnInfo(name = "email") var email: String? = null ) : Serializable { @ColumnInfo(name = "id") @PrimaryKey(autoGenerate = true) var id: Int = 0 } 

Resulta que cuando se usa LiveData con espacio, se devuelve inmediatamente y, por lo tanto, al llamar a LiveData.value inmediatamente se da null mientras se obtienen asincrónicamente los datos reales para proporcionar a los observadores, por lo que no se puede usar como reemploop si se intenta convertir desde una llamada no LiveData . Esto está documentado aquí: https://developer.android.com/reference/android/arch/lifecycle/LiveData.html#getValue ()

Devuelve el valor actual. Tenga en count que llamar a este método en un subprocess en segundo plano no garantiza que se reciba el último set de valores.

  • La synchronization de Gradle falló: no se pudo OBTENER 'https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-gradle-plugin/1.1.3-2/kotlin-gradle-plugin-1.1.3-2.pom'
  • Android Espresso IntentsMatcher funciona en un dispositivo nuevo pero no antiguo
  • ¿Los saltos de línea en cadenas sin formatting dependen de la plataforma?
  • ¿Cómo utilizar las annotations de tipo de soporte de Android en kotlin?
  • Regreso de forEachLine
  • Manejo de la tecla Enter en EditText (Kotlin, Android)
  • @Inject set Not Injecting Property
  • Android Studio (Kotlin) GsonBuilder.registerTypeAdapter () da 2 errores
  • Kotliquery no cierra las conexiones postgresql
  • Es posible get nombres de variables locales programáticamente en Java o Kotlin?
  • ¿Por qué Kotlin no permite ningún código en el constructor primario?