草庐IT

android - 更新 Realm 数据库版本

我在当前的android项目中使用Realm,版本0.79.0。现在我想将Realm版本更新为0.84.0并且还想在Application类中使用RealmConfiguration来使用Realm.getDefaultInstance()而不是Realm.getInstance(context)用于Realm初始化。我实现了新的Realm版本并更改了必要的配置。但是当我运行我的应用程序时,它崩溃并显示错误RealmMigrationmustbeprovided以为我没有更改任何模型类。谁能告诉我如何在不进行任何迁移的情况下使用Android的默认配置更改Realm版本?如果没有迁移就

Android Realm 错误,尝试使用异步。说它是从没有循环器的线程中打开的

我在这段代码中收到以下错误:“你的Realm是从一个没有Looper的线程打开的。异步查询需要一个处理程序来发送你的查询结果”在这一行:"RealmResultscompleted=realm.where(UserVehicle.class).equalTo("id",userVehicleID).findAllAsync();"我尝试在Handler(Looper.getMain())中设置realm.executeTransaction但没有成功。我做错了什么?PSVehicleService.getInstance(PSVehicleDetailsActivity.this).f

android - 从 realm.io 读取并添加到 ListView

我想使用Realm.io保存数据,然后在ListView中显示每个项目。这是我创建数据库的方式(我认为):config=newRealmConfiguration.Builder(this).name("timeLog").schemaVersion(42).build();realm.setDefaultConfiguration(config);然后,当我保存数据时,我会执行以下操作:Realmrealm=Realm.getDefaultInstance();realm.beginTransaction();timeDatalogTime=realm.createObject(ti

java - 在库中使用 realm.io 时出现 NoSuchMethodError

我按照realm.ioJava文档部分Sharingschemas中描述的建议将包含realm.io函数的我的Android应用程序的模型类转移到一个库中.当我的应用程序(间接)调用库中的realm.io方法时,我遇到了NoSuchMethodError。java.lang.NoSuchMethodError:NostaticmethodcopyOrUpdate(Lio/realm/Realm;Lmy/package/structure/MyModelClass;ZLjava/util/Map;)Lmy/package/structure/MyModelClass;inclassLio

android - Realm Java - 在查询多个 id 时如何保持项目的顺序?

我正在使用Realmforandroid1.2.0并且在查询多个ID时:query.in(Constants.ID,arraysOfIdsString);结果不按照数组中给定的顺序返回。这是一个Realm错误吗?我可以以某种方式保留ID的顺序和返回元素的顺序吗? 最佳答案 您可以在进行查询时指定排序顺序:query.int(Constants.ID,arrayOfIdString).findAllSorted(Constants.ID,Sort.DESC);但是,如果您在数组中的ID列表与通过ASC或DESC对它们进行排序可能得到的

android - Realm 支持 Maven 或拥有最新源的 jar

我这里的用例有点奇怪,我的项目分为2个模块,一个是服务器项目,另一个是android-app,现在它们共享相同的模型类。在eclipse中使用maven构建工具的服务器项目和在Androidstudio中使用gradle的android-app。看起来Realm没有MavenArtifact,也没有找到最新版本的jar文件。请帮我找出有点奇怪的情况。 最佳答案 您需要在模型中添加一些hack以在android和共享服务器项目之间共享。你可以为你的服务器创建虚拟Realm类,它可以通过gradle排除,你需要在相同的包中创建相同的类。

android - Realm 在多线程场景中给出陈旧的结果

场景我有一个典型的UI线程和工作线程场景。我做了一些工作并将结果写入工作线程中的Realm。结果是一个带有一些字符串字段的简单RealmObject。完成后,我将UI线程上的事件发送到我的Activity(使用Otto事件总线)以报告工作已完成。在我的Activity中收到事件后,我查询了结果,但String字段没有更新为写入值。在工作线程上://Didsomework.Gotsomeresult//Writetorealmtry{realm=Realm.getDefaultInstance();realm.executeTransaction(newRealm.Transaction

android - 使用 kotlin 设置 Realm 时出错

我在现有的Android项目(已经有Realm)中使用一些kotlin类,kotlin类没有使用任何Realm特性,现在在运行时我收到这个错误:app:compileDebugKotlinUsingkotlinincrementalcompilation:app:compileDebugJavaWithJavacDestinationforgeneratedsourceswasmodifiedbykapt.Previousvalue=/home/debu/AndroidStudioProjects/WT_Application/app/build/generated/source/ap

java - Android Realm Java 0.82.1 ArrayIndexOutOfBoundsException

尝试从Realm(0.82.1)更新对象时出现此错误:rowIndex>availablerows:0>0Realmrealm=null;try{realm=Realm.getInstance(context);RealmResultsresults=realm.allObjects(Track.class).where().equalTo("fileType",type).equalTo("fileState",actualState).equalTo("fileName",fileName).findAll();//Atthispointresult.size()=1for(int

android - 试图删除 Android Realm 文件,但出现异常

我正在尝试删除Realm文件以在用户注销时清除缓存。这是我正在尝试的:Realmrealm=Realm.getInstance(activity);realm.close();RealmConfigurationconfig=realm.getConfiguration();Realm.deleteRealm(config);我得到这个异常:11-0523:56:00.90227521-27521/com.my.appE/AndroidRuntime:java.lang.IllegalStateException:It'snotallowedtodeletethefileassocia