草庐IT

database - Android Room Persistence 库和 Kotlin

我正在尝试使用Kotlin和RoomPersistenceLibrary编写一个简单的应用程序.我关注了thetutorial在Android持久性代码实验室中。这是我在Kotlin中的AppDatabase类:@Database(entities=arrayOf(User::class),version=1)abstractclassAppDatabase:RoomDatabase(){abstractfunuserModel():UserDaocompanionobject{privatevarINSTANCE:AppDatabase?=null@JvmStaticfungetIn

Android Room - 使用 LIKE 选择查询

我正在尝试进行查询以搜索名称包含文本的所有对象:@Query("SELECT*FROMhamsterWHEREnameLIKE%:arg0%")funloadHamsters(search:String?):Flowable>消息:Error:noviablealternativeatinput'SELECT*FROMhamsterWHEREnameLIKE%'Error:Thereisaproblemwiththequery:[SQLITE_ERROR]SQLerrorormissingdatabase(near"%":syntaxerror)Error:Unusedparamete

Android Room - 使用 LIKE 选择查询

我正在尝试进行查询以搜索名称包含文本的所有对象:@Query("SELECT*FROMhamsterWHEREnameLIKE%:arg0%")funloadHamsters(search:String?):Flowable>消息:Error:noviablealternativeatinput'SELECT*FROMhamsterWHEREnameLIKE%'Error:Thereisaproblemwiththequery:[SQLITE_ERROR]SQLerrorormissingdatabase(near"%":syntaxerror)Error:Unusedparamete

java - 类 'Room' 是抽象类;不能实例化

我有一个抽象类Room它有子类Family和Standard.我创建了room=newArrayList();在Hostel内类和向ArrayList添加房间的方法;publicStringaddRoom(StringroomNumber,booleanensuite){if(roomNumber.equals(""))return"Error-Emptynamefield\n";elseroom.add(newRoom(roomNumber,ensuite));return"RoomNumber:"+roomNumber+"Ensuite:"+ensuite+"Hasbeenadde

java - Android Room TypeConverters 无法识别

我正在尝试实现一个DateConverter来保留日期。它非常通用,但我不断得到:Cannotfigureouthowtosavethisfieldintodatabase.Youcanconsideraddingatypeconverterforit.我仔细检查并在数据库级别和字段级别定义了注释,它仍然无法解决是否为该字段定义了类型转换器。我的成绩文件依赖:compile('android.arch.persistence.room:runtime:1.0.0-alpha3'){excludegroup:'com.google.code.gson'}compile('android.

Android Room - 简单的选择查询 - 无法访问主线程上的数据库

我正在尝试使用RoomPersistenceLibrary的示例.我创建了一个实体:@EntitypublicclassAgent{@PrimaryKeypublicStringguid;publicStringname;publicStringemail;publicStringpassword;publicStringphone;publicStringlicence;}创建了一个DAO类:@DaopublicinterfaceAgentDao{@Query("SELECTCOUNT(*)FROMAgentwhereemail=:emailORphone=:phoneORlicen

Android Room - 简单的选择查询 - 无法访问主线程上的数据库

我正在尝试使用RoomPersistenceLibrary的示例.我创建了一个实体:@EntitypublicclassAgent{@PrimaryKeypublicStringguid;publicStringname;publicStringemail;publicStringpassword;publicStringphone;publicStringlicence;}创建了一个DAO类:@DaopublicinterfaceAgentDao{@Query("SELECTCOUNT(*)FROMAgentwhereemail=:emailORphone=:phoneORlicen

android - 更新android Room中实体的某些特定字段

我正在为我的新项目使用android房间持久性库。我想更新表格的某些字段。我已经尝试过像我的Dao-//Method1:@DaopublicinterfaceTourDao{@UpdateintupdateTour(Tourtour);}但是当我尝试使用此方法进行更新时,它会更新与游览对象的主键值匹配的实体的每个字段。我用过@Query//Method2:@Query("UPDATETourSETendAddress=:end_addressWHEREid=:tid")intupdateTour(longtid,Stringend_address);它正在工作,但在我的情况下会有很多查

android - 更新android Room中实体的某些特定字段

我正在为我的新项目使用android房间持久性库。我想更新表格的某些字段。我已经尝试过像我的Dao-//Method1:@DaopublicinterfaceTourDao{@UpdateintupdateTour(Tourtour);}但是当我尝试使用此方法进行更新时,它会更新与游览对象的主键值匹配的实体的每个字段。我用过@Query//Method2:@Query("UPDATETourSETendAddress=:end_addressWHEREid=:tid")intupdateTour(longtid,Stringend_address);它正在工作,但在我的情况下会有很多查

android - Room 数据库中的默认值 (Kotlin)

我正在尝试从现有加载程序/内容提供程序迁移到Room。我需要一些列具有默认值。在Kotlin中添加默认值,例如varcolumnName:Int=0但当我检查RoomDatabase_Impl时,它会忽略模式创建中的Kotlin默认值。如何为带有Room的列引入DEFAULT值? 最佳答案 经过一些研究,我认为Room没有提供一种方法来生成带有“ColumnNameDEFAULT1”SQL的数据库模式,这将在数据库级别。我认为它假设数据库只能通过实体访问,如果您想使用加载器使用实体和原始查询,那么您必须在所有加载器中添加默认值。