草庐IT

random_room

全部标签

java - 从 Java 8 开始有什么理由写 `new Random()` 吗?

出于某种原因,我曾经认为java.util.Random是线程不安全的,例如HashMap或BitSet,并且Math.random()被实现为使用synchronizedblock包装对Random的访问,或ThreadLocalRandom.current().nextDouble().其实java.util.Randomisthread-safe(通过原子)。因此,要点:即使我需要在单个线程中进行一些随机输入,使用ThreadLocalRandom也是有意义的,因为内部没有原子读写,编译为锁定指令并发出内存屏障。此外,由于Java8,ThreadLocalRandom本质上是一个

kotlin - 测试 RxJava2 Flowable Query Room

我一直在尝试为我的Room数据库编写单元测试,过去当我有查询返回一个列表并创建一个允许主线程查询的数据库时,我已经这样做了,但现在我正在尝试用RxJava值测试我没有运气。这是我的DAO代码:@DaointerfaceAccountDAO{@Query("SELECT*FROMaccount")fungetAll():Flowable>@Insertfuninsert(accounts:List):List//...}这是我的数据库测试代码,我尝试了一些方法让它通过:@RunWith(AndroidJUnit4::class)classCCDatabaseTest{//...@JvmF

android - Kotlin:如何将对象列表插入到 Room 中?

我正在尝试定义常见的CRUD基接口(interface)中的方法,如下所示:interfaceBaseDao{@Insert(onConflict=OnConflictStrategy.REPLACE)funcreate(obj:I)@Insert(onConflict=OnConflictStrategy.REPLACE)funcreateAll(objects:List)@Deletefundelete(obj:I)}以下ProductDaoRoom的接口(interface)从基接口(interface)继承:@DaointerfaceProductDao:BaseDao{//S

android - 使用 Kotlin 协程时 Room dao 类出错

我正在尝试使用kotlin协程通过here描述的方法访问房间数据库,添加了插件和依赖,并在gradle中启用了kotlin协程。在gradle文件中:kotlin{experimental{coroutines'enable'}}dependencies{implementation"org.jetbrains.kotlinx:kotlinx-coroutines-core:0.21"...}所以我添加了suspenddao类中所有方法的关键字,如下所示:道类@Query("select*frommyevent")suspendfunall():List@Deletesuspendfu

java - 是否可以在 Android Room 中使用 String 作为 PrimaryKey

我在我的java后端服务器中使用uuid。所以我需要在房间android中使用该uuid来确保实体正确同步。我知道Isitpossibletoapplyprimarykeyonthetextfieldsinandroiddatabase和textasprimarykeyinandroid.我想创造这样的东西@Entity(tableName=CrewColumns.TABLE_NAME)@TypeConverters(BigDecimalConverter::class)@JsonIgnoreProperties(ignoreUnknown=true)classCrew(){const

android - 找不到类,使用 Android Studio 3.0.1、Room、Kotlin 的 androidTest 中的空测试套件

我在运行我的androidTest时遇到问题。这是我在gradle中的设置:applyplugin:'com.android.application'applyplugin:'kotlin-android'applyplugin:'kotlin-android-extensions'applyplugin:'kotlin-kapt'android{compileSdkVersion26defaultConfig{applicationId"com.blabla.shoppinglistapp"minSdkVersion17targetSdkVersion26versionCode1ve

random - 使用 kotlin 流从列表中获取随机项

如何以简单明了的方式从列表中获取随机项。例如:如果我想从这个列表中得到一个偶数随机数。vallist=listOf(1,2,3,4,5,6,7,9).filter{it%2==0}注意:我知道在java中有一些类似的答案可以解决这个问题,但我认为我们可以在kotlin中有更简洁的方式。 最佳答案 Kotlin1.3及更高版本:Kotlin1.3现在可用于多平台随机数生成器!你可以这样使用它:importkotlin.random.Randomfunmain(){println(Random.nextBoolean())println

android - Room 不能选择一个构造函数,因为多个构造函数是合适的错误

我尝试在我的androidkotlin项目中实现持久库,但在编译时发现此错误:error:Roomcannotpickaconstructorsincemultipleconstructorsaresuitable.Trytoannotateunwantedconstructorswith@Ignore.错误代码:@EntitydataclassSite(varname:String="",varurl:String="",@PrimaryKey(autoGenerate=true)varid:Long=0) 最佳答案 我有这个错误

android - 当列名相同时,如何表示与 Android Room 的 "many to many"关系?

如何表示与Room的“多对多”关系?我的列名也一样。例如我有Guest和Reservation。Reservation可以有多个Guest,并且一个Guest可以是多个Reservation的一部分。这是我的实体定义:@EntitydataclassReservation(@PrimaryKeyvalid:Long,valtable:String,valguests:List)@EntitydataclassGuest(@PrimaryKeyvalid:Long,valname:String,valemail:String)在查看文档时,我遇到了@Relation.不过我发现它真的很困

android - 查看使用 Room Persistence Library 创建的数据库的内容

有没有更简单的方法可以在AndroidStudio中查看使用RoomPersistenceLibrary创建的数据库的内容? 最佳答案 在旧版AndroidStudio中:Emulator->AndroidStudio->DeviceFileExplorer->/data/data/{$packageId}/databases/->SaveAs->https://sqlitebrowser.org/在以后的AndroidStudio版本(3.5+)中:View->ToolWindows->DeviceFileExplorer->/d