草庐IT

开房间

全部标签

android - 房间数据库迁移

如果我有dbversion10,我必须为Room迁移做多少种方法?我查看了以下示例GooglePersistenceMigrationSample并且我根据数据库版本4的可能场景找到了迁移可变参数。publicstaticUsersDatabasegetInstance(Contextcontext){synchronized(sLock){if(INSTANCE==null){INSTANCE=Room.databaseBuilder(context.getApplicationContext(),UsersDatabase.class,"Sample.db").addMigrati

android - 房间持久性库 : Cannot resolve symbol Room

我使用具有以下gradle设置的AndroidStudio3.0Beta2我可以搜索RxRoom但没有创建Room类。按照说明AddComponents后,我不能在我的Fragment中使用Room类。这个类在单独的模块中,应用程序模块不包含任何房间库依赖项。错误在IDE中显示为“无法解析符号房间”。构建.gradleapplyplugin:'com.android.library'android{compileSdkVersion26buildToolsVersion"26.0.1"defaultConfig{minSdkVersion15targetSdkVersion26vers

android - 房间持久性在更新时删除子项

我正在使用RoomLibrary将数据保存在我的Android应用程序中。我有2个主表,分别是任务和组。这种关系是一对多的,一个任务只能属于一个组,但是一个组可以属于多个任务。持久性工作正常,但问题是当我尝试更新组中的信息时,与该组相关的每个任务都被删除。下面是我的实体和DAO配置:任务实体@Entity(tableName="task",foreignKeys={@ForeignKey(entity=Group.class,parentColumns="id",childColumns="groupId",onDelete=CASCADE,onUpdate=RESTRICT)},in

Android 房间分页不起作用

我正在尝试使用androidRoomAPI在页面中从sQlite加载记录。问题是Paging库正在将整个数据库加载到模型类中并将其与使UI线程跳帧的适配器绑定(bind)。它假设加载20条记录,然后在需要时继续添加更多记录这是我的View模型类publicclassUserViewModelextendsViewModel{publicLiveData>userList;publicUserViewModel(){}publicvoidinit(UserDaouserDao){PagedList.ConfigpagedListConfig=(newPagedList.Config.Bu

android - 房间在访问它存储数据时崩溃

我使用工作管理器将数据保存到我的本地数据库,然后将相同的数据放到服务器。在localDeleteRequest类中,我将id作为WorkData传递并使用该id获取存储在本地数据库中的对象工作管理器功能:privatefundeleteUserWork(userEntity:UserEntity){valworkManager:WorkManager=WorkManager.getInstance()valconstraint=Constraints.Builder().setRequiredNetworkType(NetworkType.CONNECTED).build()valin

android - 从后台线程查询房间数据库

我读到在房间数据库中查询数据的一种方法是使用Livedata,它可以在主线程上使用,因为它是异步的。我想使用LiveData而不是RxJava或AsyncTask。为此,在我的存储库类中,我有一个返回LiveData的函数getSomeData()>,我在我的viewModel构造函数中调用了这个函数:privatevarmObservableSomeData:LiveData>init{mObservableSomeData=repository.getSomeData()}fungetSomeData():LiveData>{returnmObservableSomeData}然而

java - 房间@查询错误 : Cannot find method parameters

在我的项目中,我有一个库模块和一个使用它的应用程序模块。在这两个模块中,我对Android架构组件库具有相同的gradle依赖性://ViewModelandLiveDataimplementation"android.arch.lifecycle:extensions:1.0.0"implementation"android.arch.lifecycle:common-java8:1.0.0"//Roomimplementation"android.arch.persistence.room:runtime:1.0.0"annotationProcessor"android.arch

android - 房间迁移更改表不添加新列并迁移一次又一次地被调用

所以基本上我正在使用room并尝试添加从数据库版本1到2的迁移,但我的alter命令不起作用我当前的实现如下:voidinit(){db=Room.databaseBuilder(Global.getInstance(),AppDatabase.class,"feed").addMigrations(MIGRATION_1_2).build();}迁移属性:staticfinalMigrationMIGRATION_1_2=newMigration(1,2){@Overridepublicvoidmigrate(SupportSQLiteDatabasedatabase){databa

Android 房间 DAO 接口(interface)不适用于继承

interfaceMarker{fungetSpecialFoo():List}@DaointerfaceFooDao:Marker{@Query("SELECT*FROMfooWHEREbar=:bar")funget(bar:Int):List@TransactionoverridefungetSpecialFoo():List{returnget(1)}}这导致AnabstractDAOmethodmustbeannotatedwithoneandonlyoneofthefollowingannotations:Insert,Delete,Query,Update,RawQuer

android - 如何在下一版本的房间数据库 Android 中删除列?

如何在下一版本的房间数据库android.DROp中删除列或删除不起作用?@Database(entities={User.class,AdTime.class},version=1,exportSchema=false)publicabstractclassAppDataBaseextendsRoomDatabase{privatestaticAppDataBaseINSTANCE;publicabstractUserDaouserModel();publicabstractAdDaoadModel();publicstaticAppDataBasegetInMemoryDataba