如何限制Realm返回的对象数量?.findAll返回匹配查询的所有行,而.findFirst只返回第一行。但是像前1000这样的东西呢?.findAll可能会返回太多的行,以至于它会消耗太多内存。 最佳答案 很酷的是,使用Realm,您无需担心这一点。当您访问对象及其字段时,查询返回的结果对象会延迟加载。您的对象永远不会被复制,因此只会在内存/磁盘中出现一次。这方面的(当前)实现细节是从查询返回的RealmResults对象只是对匹配对象的引用列表。这些引用是压缩存储的微小数字,因此它们占用的内存非常少。所以即使有100.000个
我想将android应用程序与服务器同步。在服务器中,我通过触发器维护了上次更新日期,因为它使用SQL服务器,但我的android应用程序使用Realm,所以我如何在插入或更新任何行时在字段中设置当前日期时间。任何建议将不胜感激。 最佳答案 用这个realm.beginTransaction();RealmResultshallos=realm.where(ModelClass.class).equalTo('name','hello').findAll();for(ModelClassobject:hallos){object.s
我在Application对象上使用一个静态全局Realm实例(从未关闭),仅用于UI线程,@UiThreadpublicstaticRealmgetRealm(){if(Thread.currentThread()==Looper.getMainLooper().getThread()){returnrealmInstance;}else{Timber.e("IllegalaccesstogetRealmObservable");thrownewIllegalStateException("OnlyUIThreadcanaccessthisrealm");}}和WorkerThrea
我正在使用Realm来存储和检索数据。通常当我们打开一个Realm来存储一些我们喜欢的数据时:Realmrealm=Realm.getDefaultInstance();realm.beginTransaction();//CopytheobjecttoRealmrealm.copyToRealm(myObject);realm.commitTransaction();realm.close();在上述情况下,我正在关闭Realm。但是当我检索一些数据时:RealmResultsresults=Realm.getDefaultInstance().where(MyClass.class
我在RealmAndroid中使用RealmString替代List。但我对RealmChangeListener有疑问。我在许多模型中使用RealmString,例如下面的示例中的Dog、Cat、Chicken。但是,当其中的任何人更改数据时,所有数据也会更改。例如:当我保存Dog->DogChange和CatChange时。我可以通过使用RealmDogString、RealmCatString、RealmChickenString来解决这个问题,但它重复了我的代码。有没有更好的解决方案?这是我的示例代码:publicclassRealmTestActivityextendsApp
如果Realm模型中的字段实际上需要getter和setter,我无法在任何地方找到它的明确记录。例如,https://realm.io/docs/java/latest/api/io/realm/RealmObject.html处的文档说TheonlyrestrictionaRealmObjecthasisthatfieldsarenotallowedtobefinal,transient'orvolatile.Anymethodaswellaspublicfieldsareallowed.Whenprovidingcustomconstructors,apublicconstruc
在Realm中,为了使对象能够持久化,它必须实现RealmModel或扩展RealmObject。使用一个比另一个有好处吗?realmdocs中的所有内容是:AnalternativetoextendingtheRealmObjectbaseclassisimplementingtheRealmModelinterfaceandaddingthe@RealmClassannotation.AllmethodsavailableonRealmObjectarethenavailablethroughstaticmethods. 最佳答案
我想创建可以在线和离线运行的Android应用程序。可以将Realm.io用于离线数据库,将Firebase用于在线服务。我正在尝试制作直接将Realm对象添加到firebase的简单应用程序,但我得到这样的错误异常:java.lang.NoClassDefFoundError:rx.Observableatlibcore.reflect.InternalNames.getClass(InternalNames.java:55)atjava.lang.Class.getDexCacheType(Class.java:476)atjava.lang.reflect.Method.getR
我在使用Retrofit+Gson和Realm时遇到问题。我知道这3个库的组合存在问题。一些答案建议为Gson设置一个ExclusionStrategy可以解决这个问题,我试过了但是没有用。我的代码如下:publicclassObjectList{publicListanotherObject;}publicclassAnotherObjectextendsRealmObject{privateStringpropA;publicvoidsetPropA(StringpropA){this.setPropA=propA}publicStringgetPropA(){returnprop
我使用的是0.81.1版本的Realm。我有这个类:publicclassKanjiCompextendsRealmObject{@PrimaryKeyprivateStringcharacter;privateStringstrokes;privateintfrequency;publicStringgetCharacter(){returncharacter;}publicvoidsetCharacter(Stringcharacter){this.character=character;}publicStringgetStrokes(){returnstrokes;}public