草庐IT

android - Realm - 如何使用异步事务关闭 Realm 实例

每当我运行异步事务时,我都无法理解关闭Realm实例的最佳做法。在我的应用程序中,我有很多Controller,我没有将Activity中的Realm实例传递给它们,而是在每次需要时创建一个新Controller,并在工作完成后立即关闭它。但是最近我发现,如果我在运行异步事务时关闭Realm实例,它无法正常工作。RealmcacheRealm=RealmDelegate.getCacheRealm();cacheRealm.executeTransaction(realm->{doSomeWork(response);realm.copyToRealmOrUpdate(response

android - java.lang.IllegalStateException : Object is no longer managed by Realm. 是否被删除?

我正在学习Realm和Recyclerview。我制作了简单的应用程序,您可以在其中简单地添加和删除项目。一切正常,直到我开始一个接一个地删除项目。在最后一项,当我单击删除时,它给我异常(exception)java.lang.IllegalStateException:ObjectisnolongermanagedbyRealm.Hasitbeendeleted?这是我的代码@OverridepublicvoidonDeleteClick(intposition){mRealm.beginTransaction();mResult.get(position).deleteFromRe

android - 使用 Realm 库获取光标

我正在为我的ListView使用游标适配器。我打算使用内容解析器来获取光标。现在我改变了主意,给它一个学习Realm的机会。如何使用Realm获取“光标”对象?顺便说一句,我也很感激能提供一些fragment来对光标进行排序。谢谢。finalclassContactextendsRealmObject{privateCharSequencemName;publicCharSequencegetName(){returnmName;}publicvoidsetName(CharSequencename){this.mName=name;}finalclassContactListAdap

android - Realm 自动增量字段示例

我需要在android的Realm数据库中添加自动递增键字段。我怎样才能做到这一点?这可能吗?提前致谢。 最佳答案 Relam目前不支持auto_increment在GitHub上查看此问题你可以这样解决realm.executeTransaction(newRealm.Transaction(){@Overridepublicvoidexecute(Realmrealm){//incrementindexNumbernum=realm.where(dbObj.class).max("id");intnextID;if(num==n

java - Realm 构建错误

使用Realm构建代码时出现以下错误:app:compileDebugJavaWithJavacNote:ProcessingclassDataBaseQuestionError:Adefaultpublicconstructorwithnoargumentmustbedeclaredifacustomconstructorisdeclared.Note:CreatingDefaultRealmModuleWarning:Filefortype'io.realm.DefaultRealmModule'createdinthelastroundwillnotbesubjecttoanno

java - 在 Realm 中使用预填充的数据库

我们如何将SQLite数据库转换为Realm数据库?有什么方法可以使用Realm预填充的数据库吗?在安卓上? 最佳答案 目前还没有办法自动将SQLite数据库转换为Realm数据库,您必须手动从SQLite数据库中读取所有数据并将它们插入到Realm中。另一种可能是Realm浏览器,它可能会使这更容易,但它目前仅适用于MacOSX。您可以在此处阅读更多信息:https://github.com/realm/realm-java/issues/435对于第二部分:由于Realm数据库只是一个文件,因此您可以轻松地将预填充的Realm数

android - RealmBaseAdapter 是否已从 realm-java 中删除?

我正在尝试使用github上realm-java的示例,并认为RealmBaseAdapter已从io.realm包中删除。现在保存在哪里? 最佳答案 从RealmJavav0.90开始,它已被拆分为一个单独的依赖项。根据AdapterssectionoftheRealmJavadocumentation,您应该将以下内容添加到您的build.gradle以使用RealmBaseAdapter:dependencies{compile'io.realm:android-adapters:2.1.0'}

android - 在 android 中从 Realm 结果创建独立对象

我是androidRealm的新手。我正在使用以下代码从Realm获取产品对象。ProductModelprodObj=realm.where(ProductModel.class).equalTo("product_id","12").findFirst();如何创建prodObj的独立副本?我想更新一些不应该影响Realm数据库的字段值。我不想用setter方法手动设置它,因为模型类包含太多字段。有什么简单的方法可以创建prodObj的独立副本吗? 最佳答案 从0.87.0开始AddedRealm.copyFromRealm()

java - Realm ORM : how to deal with Maps?

我正在创建一个Android应用程序,我需要保留一个Map.我刚开始使用RealmORM,因为它支持一对一和一对多、枚举和列表。我还找到了字符串列表的解决方法(即我必须创建一个封装字符串的StringWrapper类。然而,从documentation我知道没有像RealmMap这样简单的方法,就像列表一样。所以,我正在寻找保存map的最佳方法。我目前的想法是用对象列表替换我的mapKeyValueObject封装String(以前的map键)和一个MyClass.类似于Map.Entry.是否有任何其他解决方案不需要我出于技术原因返工域模型? 最佳答案

java - 关闭和重新打开 Realm 实例是否对性能不利?

当使用SQLite时,我通常每个应用程序都有一个SQLiteOpenHelper实例,而且我从不关闭它,因为它的数据库被许多其他类持续使用,关闭/重新打开它会更慢且更复杂。现在我正在研究Realm,我打算只从数据访问对象访问Realm实例。每次调用都将从工作​​线程进行。我一直在阅读示例,它们通常会在每个Activity或后台任务中调用getInstance/close。由于Realm像SQLite一样将数据保存在文件中,因此为每个操作调用getInstance/close是个好主意吗?我的意思是,调用close实际上会关闭文件连接,从而使下一个getInstance调用变慢吗?我应该