草庐IT

random_room

全部标签

android - 在 dao room 数据库中创建一个带有 body 的自定义函数

我想用这样的自定义函数创建一个DAO对象@DaointerfaceDataAccessObjDao{@Insertfuninsert(someEntity:SomeEntity)@IgnorefunsampleFun(){insert(SumEntity())}}但是编译器提示样本有趣类“DataAccessObjDao_Impl”必须声明为抽象类或在“DataAccessObjDao”中实现抽象方法“sampleFun()” 最佳答案 @Ignore用于属性或实体,不能用在方法上。您可以通过扩展界面来做到这一点:funDataAc

android - 使用 COUNT(*) AS 的 Room SQL 查询

我在AndroidRoom中遇到SQL查询问题。我有如下查询@Query("SELECTuserId,COUNT(*)ASuserCountFROMUser"+"GROUPBYuserId"+"ORDERBYuserCountASC")ListgetUserAndCount();但AndroidStudio显示Cannotresolvesymbol'userCount'。由于上面的语句在SQL中运行良好,你能告诉我代码中的问题是什么以及如何在AndroidRoom中使用AS吗? 最佳答案 从orderby中删除别名,您需要使用COU

Android Room 无法弄清楚如何将此字段保存到数据库中

我尝试通过房间持久性库将值保存到数据库。我的SettingsValueModelConverter有问题,缺少一些东西。如何以最佳方式保存SettingsKeyContract对象?日志:SettingsModelError:(14,1)error:Cannotfigureouthowtosavethisfieldintodatabase.Youcanconsideraddingatypeconverterforit.代码:objectSETTING_CONS{constvalTABLE="Content_Setting"constvalID="uid"constvalKEY="key

Android RoomDatabase - 无法解析 android.arch.persistence.room :compiler:1. 0.0

Error:Couldnotresolveallfilesforconfiguration':app:debugAnnotationProcessorClasspath'.Couldnotresolveandroid.arch.persistence.room:compiler:1.0.0.Requiredby:project:appNocachedversionofandroid.arch.persistence.room:compiler:1.0.0availableforofflinemode.Nocachedversionofandroid.arch.persistence.r

android - 在 Room ORM 中批量插入或更新

我正在尝试使用androidroomORM。许多ORM都有这种方法insertOrUpdate方法。我如何实现这一目标?我想在单个事务中插入或更新多行,即,如果存在行则更新它,否则插入一个新条目。 最佳答案 您可以使用conflictresolutionsettoreplace进行插入:@DaopublicinterfaceMyDao{@Insert(onConflict=OnConflictStrategy.REPLACE)publicvoidinsertUsers(User...users);}请注意(来自Roomdocumen

android - 程序在每次执行时生成相同的 'random' 数字

我正在尝试使用c4droidIDE为Android终端编写一个具有随机生成世界的简单ASCII风格游戏。它有C++支持,基本上我生成array[width][height]使用规则rand()%2-1createswalkabletile,0是墙。但是有问题。每次我“随机”生成map时,它看起来都一样——因为rand()并不是真正随机的。我听说过使用HDD或其他部件产生的熵。问题是我在android上使用它,所以对我来说实现它很奇怪,因为C++不像Java那样被使用,所以我在谷歌上找不到解决方案。如此简短的问题:如何在Android上使用C++生成“相当真实的”随机数?

Android Rooms - 在字符串中搜索

在AndroidRooms持久性库中,如何将以下SQL语句编写为@Query?SELECT*FROMtableWHEREfieldLIKE%:value%此语法无效,我在文档中找不到任何相关信息。 最佳答案 您可以使用SQLite字符串连接进行连接。@Query("SELECT*FROMtableWHEREfieldLIKE'%'||:value||'%'") 关于AndroidRooms-在字符串中搜索,我们在StackOverflow上找到一个类似的问题:

android - RecyclerView 使用 Room 和 PagingListAdapter 向下滚动数据更新

我创建了一个示例项目来展示我在使用RecyclerView、Room和Paging时遇到的一个问题,即RecyclerView意外地向下滚动数据更新。https://github.com/HappyPeng2x/RoomRecyclerViewExample该应用有一个Room数据库,我使用派生自PagedListAdapter的适配器在RecyclerView中显示它的值。如下面的代码所示,查询被观察到,因此表的每次更新都会被适配器反射(reflect)出来。PagedList.ConfigplConfig=newPagedList.Config.Builder().setEnabl

快速了解Android Room使用细则进阶

2、@ForeignKey和@PrimaryKey考验你数据库知识的时候来了!因为你会频繁看到@PrimaryKey所以先讲它@ForeignKey 注解用于定义外键关系,它指定了一个实体类中的一个字段是另一个实体类的主键。这种关系被称为“外键关系”,并且可以用于在多个表之间建立关联。例如,如果有两个实体类 User 和 Address,并且想要将它们关联起来,则可以使用 @ForeignKey 注解来指定 Address 中的 user_id 字段是 User 的主键:1234567891011121314151617181920@Entity(tableName="users")datac

cannot find implementation for xx.xxDatabase. xxDatabase_Impl在Android中使用Room框架访问数据库报错的解决办法

最近在开发AndroidApp的过程中,我使用了Room框架来访问数据库。在编译代码时,却遇到了一个奇怪的错误:cannotfindimplementationforxx.xxDatabase.xxDatabase_Impl。这个错误提示信息表明,Room无法找到xxDatabase_Impl的实现。但是,在我的代码中确实有xxDatabase_Impl类的定义,为什么会出现这种情况呢?经过仔细排查,我发现了问题所在:我在使用Room框架时,没有按照规范正确地设置注解处理器。在通过Gradle引入Room框架后,我们需要在module的build.gradle文件中配置注解处理器,否则Room