Tag: 安卓室

我怎样才能在房间持久库中动态的列名构造SQL查询

这是行不通的,我不知道我是否错了,或者是Android的房间的限制 @Query("SELECT * FROM foobar WHERE :column IN (:values)") fun getByFieldName(column: String, vararg values: String): Flowable<List<FooBar>>

房间:使用@Transaction时收到错误

我有一个方法在我的DAO类中使用@Transaction注释,这是导致以下错误: DAO方法只能用以下其中一种进行注释:插入,删除,查询,更新 这是我的班级: @Dao interface Dao { @Insert(onConflict = REPLACE) fun insertList(chacaras: List<String>) @Query("SELECT * FROM chacara WHERE cityId = :cityId") fun getListOfCity(cityId: String): LiveData<List<String>> @Delete fun deleteList(chacaraList: List<String>) @Transaction fun updateList(list: List<String>){ deleteList(list) insertList(list) } } 当我删除用@Transaction注解的方法时,它正常编译。 有没有什么办法解决这一问题?

Android Room,将库数据类添加到数据库

有一个共享库,由桌面应用程序以及一个Android应用程序使用。 共享库不包含android库。 共享库包含一组数据类。 我想将这些数据类注释为Room @ Entity,并将它们添加到android客户端上的数据库中。 桌面应用程序不需要数据库。 有没有一个简单的方法来做到这一点? 到目前为止,我能想到的唯一选择是:从数据类更改类(因为数据类不能被扩展)。 然后只在android应用程序中扩展这些类并添加注释。 编辑:另一种方法来问这是,如果有一个(可能是非开放的)POJO在另一个图书馆想要被添加到房间可以做什么?

Android室 – 使用LIKE选择查询

我试图做一个查询来搜索名称中包含文本的所有对象: @Query("SELECT * FROM hamster WHERE name LIKE %:arg0%") fun loadHamsters(search: String?): Flowable<List<Hamster>> 消息: Error:no viable alternative at input 'SELECT * FROM hamster WHERE name LIKE %' Error:There is a problem with the query: [SQLITE_ERROR] SQL error or missing database (near "%": syntax error) Error:Unused parameter: arg0 另外我试着: @Query("SELECT * FROM hamster WHERE name LIKE […]

如何使用Android Room Persistence Library将Column注释为NOT NULL

我的数据类看起来像这样 @Entity(tableName = "items") data class Item( @ColumnInfo(name = "name") var name: String = "", @ColumnInfo(name = "room") var room: String = "", @ColumnInfo(name = "quantity") var quantity: String = "", @ColumnInfo(name = "description") var description: String = "", @PrimaryKey(autoGenerate = true) @ColumnInfo(name = "id") var id: Long = 0 ) 房间使用SQLite,而且SQLite在其数据库中支持NOT NULL列。 我尝试使用@NonNull注释列,但它没有效果。 有没有办法使房间数据库中的列不可空?

如何将主键作为Room Persistence lib的自动增量

我正在创建一个Entity(Room Persistence lib)类的食物,在这里我想把foodId作为自动增量。 @Entity class Food(var foodName: String, var foodDesc: String, var protein: Double, var carbs: Double, var fat: Double) { @PrimaryKey var foodId: Int = 0 var calories: Double = 0.toDouble() } 我如何设置foodId自动增量字段?

无法找到填充字段 – 使用Kotlin与房间数据库

我正在与Room持久性库集成。 我在Kotlin有一个数据类: @Entity(tableName = "story") data class Story ( @PrimaryKey val id: Long, val by: String, val descendants: Int, val score: Int, val time: Long, val title: String, val type: String, val url: String ) @Entity和@PrimaryKey注释用于Room库。 当我尝试构建时,错误是失败的: Error:Cannot find setter for field. Error:Execution failed for task ':app:compileDebugJavaWithJavac'. > Compilation failed; see the compiler error output […]

房间Kotlin:实体和Pojos必须有一个可用的公共构造函数

当我运行我的应用程序时,我得到了跟进错误。 Error: Entities and Pojos must have a usable public constructor. You can have an empty constructor or a constructor whose parameters match the fields (by name and type). Tried the following constructors but they failed to match: ChatMsg(java.lang.String,int) : [arg0 : null, arg1 : null] Error: Entities and Pojos must have a usable public […]

Android的房间不返回任何与网址作为参数

我试图通过Feed的主键来访问项目列表,如下所示。 主键是一个url。 试图像这样访问它给了我空回来,并指出把:arg0在引号中创建一个编译时错误error: Unused parameter: arg0 。 是否有可能使用此查询的网址? @Query("SELECT * FROM item WHERE feed_url = :arg0") fun observeAllByFeed(feedUrl: String): LiveData<List<Item>> 项目 @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 = […]

在AppDatabase中分析表达式时出现异常

这是我的AppDatabase.kt @Database(entities = arrayOf(Loan::class), version = 3) abstract class AppDatabase : RoomDatabase() { abstract fun loanModel(): LoanDao companion object { private const val DB_NAME = "loans.db" fun createPersistentDatabase(context: Context): AppDatabase = Room.databaseBuilder(context.applicationContext, AppDatabase::class.java, DB_NAME).build() } } 我得到这个错误: e: org.jetbrains.kotlin.util.KotlinFrontEndException: Exception while analyzing expression at (11,54) in /Users/mladenrakonjac/MyFirstKotlinApp/app/src/main/java/me/mnemonic/myloan/data/AppDatabase.kt: 3 at org.jetbrains.kotlin.types.expressions.ExpressionTypingVisitorDispatcher.logOrThrowException(ExpressionTypingVisitorDispatcher.java:250) at org.jetbrains.kotlin.types.expressions.ExpressionTypingVisitorDispatcher.lambda$getTypeInfo$0(ExpressionTypingVisitorDispatcher.java:221) at org.jetbrains.kotlin.util.PerformanceCounter.time(PerformanceCounter.kt:90) at […]