草庐IT

realm-migration

全部标签

android - 使用新的 Realm 配置打开 Realm

直到现在,我还在我的安卓系统中使用RealmnewRealmConfiguration.Builder(this).build();我只是稍后阅读有关添加模式和迁移的可能性的信息。所以在我的应用程序的新版本中,我想添加迁移功能。所以我将上面的行更改为:newRealmConfiguration.Builder(this).schemaVersion(0).migration(newMigration()).build();但是现在我得到了错误IllegalArgumentException:Configurationscannotbedifferentifusedtoopenthesa

android - 更改 Realm 模型时出现 RealmMigrationNeededException

这个问题在这里已经有了答案:"realmmigrationneeded",exceptioninandroidwhileretrievingvaluesfromrealmdb(5个答案)关闭5年前。每当我更改模型(如添加更多字段)时,应用程序就会崩溃并出现io.realm.exceptions.RealmMigrationNeededException错误。这只能在我卸载并重新安装应用程序后才能解决。有什么迁移建议吗?我仅使用默认实例。

Android Studio : Migrate complex build. xml 到 build.gradle

我已经成功地将我的项目从eclipse迁移到androidstudio,并且生成了一个默认的build.gradle文件。项目构建正确,我可以部署调试等。但真正的问题是构建发布APK文件(从命令行),我曾经有一个自定义的ant-build(通过命令行调用,而不是从eclipse中调用)。我的自定义build.xml通过以下方式从SDK文件夹导入标准sdkbuild.xml文件:所以我在build.xml中要做的就是覆盖目标或通过“依赖”连接到它们。覆盖示例:添加依赖的例子:所以总的来说,使用ant整个事情真的很简单。但是现在,当谈到迁移到gradle时,我完全不知所措,如何完成我以前在

java - 我使用 Singleton 和 Realm Database 是否正确?

我有一个应用程序,用户可以在其中创建/删除/编辑来自DialogFragment的列表。在我的DialogFragments中有这样的方法之前:MainActivtity.adapter.add(Stringname,Stringlocation,doubleprice);adapter是我的recyclerView适配器对象。适配器的类具有我对recyclerView中的项目的创建/删除/编辑方法。它的调用方式如上所示,据我所知,这也是一种可怕的调用方法的方式。所以我选择将所有这些CRUD方法放在一个单例类中,并像这样调用这些方法:Service.getInstance().add(

java - RxJava Multithreading with Realm - 从不正确的线程访问 Realm

背景我在我的应用程序中使用Realm。加载数据后,它会进行密集处理,因此处理发生在后台线程上。使用的编码模式是工作单元模式,Realm仅存在于DataManager下的存储库中。这里的想法是每个存储库可以有不同的数据库/文件存储解决方案。我尝试过的下面是一些与我的FooRespository类中的类似代码的示例。这里的想法是获取Realm的一个实例,用于查询Realm中感兴趣的对象,返回它们并关闭Realm实例。请注意,这是同步的,最后将对象从Realm复制到非托管状态。publicObservable>getFoosById(ListfooIds){Realmrealm=Realm.

android - 同时查询两个条件的 Realm

我将如何查询这样的结构:publicclassAnimalextendsRealmObject{RealmListbirds;}publicclassBirdextendsRealmObject{inttype;RealmListspecies;}RealmInteger是一个具有int值的对象我想找到所有具有Bird的Animal对象,该对象具有value3的种类和那个Bird属于类型2我试过了,但它总是忽略类型:realm.where(Animal.class).equalTo("birds.type",2).equalTo("birds.species.value",3).fin

android - 结合使用 Firebase 和 Realm 时发生崩溃 - : Lio/reactivex/Observable; 的解析失败

我正在尝试从Firebase下载对象并将它们存储在Realm中。结合这两个优秀的库时,我遇到了崩溃。我创建了一个非常简单的演示应用程序来说明我的问题。在创建扩展RealmObject的对象时,Firebase似乎感到不安。我可以通过删除RealmObject扩展来完成这项工作,但我必须维护两个相同的对象。随着时间的推移,这变得复杂和令人沮丧,这远非理想。Firebase:FirebaseDatabasedatabase=FirebaseDatabase.getInstance();DatabaseReferencemyRef=database.getReference("players

android - Realm.io Android 从表中获取最后 20 项的最佳方法

在假设有100个项目的表中,这是获取最后20个对象的最佳方法。我能想到的一种方法是加载所有对象,反转数组,创建一个新数组并根据结果循环20次填充新数组并返回它。类似如下:publicArrayListgetLastItems(intqty){RealmResultsresults=realm.where(DataObject.class).findAll();Collections.reverse(results);ArrayListarrayList=newArrayList();for(inti=0;i==qty;i++){arrayList.add(results.get(i))

android - 使用 List 查询 Realm

我正在使用Realm在Android上存储我的数据。很棒的框架!现在我遇到的唯一问题是:我的数据库中有一个带有国家/地区ID的数组列表字符串。现在我检索包含与国家/地区关系的饮料。有没有一种方法可以像这样进行查询:String[]ids;realm.where(Drinks.class).equalsTo("country.id",ids);类似的东西?或者我真的需要做一个查询来获取所有饮料然后手动过滤列表吗?编辑:我的类(class):publicclassDrinksextendsRealmObject{@PrimaryKeyprivateStringid;privateStrin

android - 极限 Realm 结果

如何限制Realm返回的对象数量?.findAll返回匹配查询的所有行,而.findFirst只返回第一行。但是像前1000这样的东西呢?.findAll可能会返回太多的行,以至于它会消耗太多内存。 最佳答案 很酷的是,使用Realm,您无需担心这一点。当您访问对象及其字段时,查询返回的结果对象会延迟加载。您的对象永远不会被复制,因此只会在内存/磁盘中出现一次。这方面的(当前)实现细节是从查询返回的RealmResults对象只是对匹配对象的引用列表。这些引用是压缩存储的微小数字,因此它们占用的内存非常少。所以即使有100.000个