我正在尝试对Realm上的迁移进行单元测试。我的主要问题是:如何维护RealmObject的不同模式版本,以便能够创建旧对象的实例,进行迁移,然后根据新模式版本检查它是否正确?我开始尝试保留不同的架构版本,但它不会编译,因为对象具有相同的名称,尽管它们位于不同的包中。 最佳答案 在Realm,我们通过将旧的Realm文件存储为Assets来测试迁移机制(参见https://github.com/realm/realm-java/tree/master/realm/realm-library/src/androidTest/asset
对不起我的英语。我有列表对象,它列表包含开关btn。当用户更改某些开关时,我需要它在数据库中更新。我但是当我尝试更改开关时,出现错误:java.lang.IllegalStateException:Cannotmodifymanagedobjectsoutsideofawritetransaction.我不明白如何创建适配器,谁可以更新实时数据我的适配器:publicclassDocumentTypeAdapterDBextendsRealmRecyclerViewAdapter{RealmListdocTypes;publicDocumentTypeAdapterDB(@Nullab
我无法开始使用Realm.io,我已经在我自己的项目以及IntroExample中尝试过。当我尝试查找某些内容时,我得到:java.lang.IllegalStateException:Mutablemethodcallduringreadtransaction.当我尝试存储一些东西时,我得到:io.realm.exceptions.RealmException:Couldnotfindthegeneratedproxyclass我似乎在某处存在根本缺陷。applyplugin:'com.android.application'android{compileSdkVersion19bu
我有以下产生错误的代码:Error:Parceler:Unabletofindread/writegeneratorfortypeio.realm.Realmforio.realm.RealmObject.realm在没有extendsRealmObject的情况下一切正常,但是我想使用Realm轻松地放入数据库。有没有办法排除RealmObject字段并只使用@Parcel的基本pojo字段?@ParcelpublicclassFeedextendsRealmObject{intid;publicStringtext;publicStringtime_created;Stringti
我有2个服务,其中一个是生产者(将对象保存到Realm),另一个是从Realm读取这个对象并在计划任务中将它们发送到REST服务。我的异常(exception):java.lang.IllegalStateException:Realmaccessfromincorrectthread.Realmobjectscanonlybeaccessedonthethreadtheywerecreated.服务1:this.scheduler.schedule("*/2****",newRunnable(){publicvoidrun(){Listlocations=dataStore.getA
我想在执行完成后在executeTransactionAsync中关闭我的Realm实例。原因是我的应用程序主线程一直卡住,我认为原因是后台Realm实例在执行完成后没有关闭。请参阅下面的代码:realm.executeTransactionAsync(newRealm.Transaction(){@Overridepublicvoidexecute(Realmrealm){//Executerealmcoderealm.copyToRealmOrUpdate(myData);//CanIclosetherealminstanceherewithoutgettingan//error?
我将Realm.init(this)放在我的应用程序类的onCreate中。但是当我在Activity的onCreate中调用Realm.getDefaultInstance()时它会抛出异常。atandroid.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2511)atandroid.app.ActivityThread.-wrap11(ActivityThread.java)atandroid.app.ActivityThread$H.handleMessage(ActivityThread.java:13
前言:我正在使用Retrofit来处理我的API调用,并使用Realm(realm.io)来存储数据。我处理的API使用以下结构:数组响应{"response":[{"objectField1":"abc""objectField2":"abc""objectField3":"abc""objectField4":"abc"},{"objectField1":"abc""objectField2":"abc""objectField3":"abc""objectField4":"abc"}]}单一对象响应{"response":{"objectField1":"abc""objectF
我开始研究我的迁移逻辑,使用以下代码:https://github.com/realm/realm-java/blob/master/examples/migrationExample/src/main/java/io/realm/examples/realmmigrationexample/MigrationExampleActivity.java写完代码后,我在这一行报错:Stringpath3=MigrationClass.copyBundledRealmFile(this,this.getResources().openRawResource(R.raw.default1),"
我有表说Student。我想更新表中的值,但它没有任何主键。我正在使用Realm数据库。 最佳答案 假设您有VisitingCardPOJO,您可以根据“no”找到元素,如果您只想更新第一个元素,请使用findFirst()您可以使用findAll()获取记录列表,然后使用for循环以相同的方式更新publicvoidupdateNewCard(Realmrealm,VisitingCardPOJOcard){VisitingCardPOJOtoEdit=realm.where(VisitingCardPOJO.class).equ