草庐IT

android - 使用 Realm 和 LiveData。将 LiveData<RealmResults<CustomModelObject>> 转换为 LiveData<List<CustomModelObject>>

我正在试用Realm以及包括LiveData在内的Android架构组件。我一直在关注Google的应用程序架构指南:https://developer.android.com/topic/libraries/architecture/guide.html...用Realm代替Room。我有一切工作使用:LiveData>从我的存储库层直接通过ViewModel到View。我认为从存储库返回更多通用类型可能会更好,所以LiveData>而不是LiveData>.这是我遇到问题的代码fragment:@NonNull@OverrideprotectedLiveData>loadFromD

android - Realm Android javassist.NotFoundException : io. realm.com_example_realmtest_data_SomethingRealmProxyInterface

我对android中的Realm完全陌生,我从只有一个只有一个字段的实体的简单kotlin项目开始。openclassSomething:RealmObject(){@PrimaryKeyvarid:Long=0}我在我的应用程序类中初始化了Realm:classRealmApp:Application(){overridefunonCreate(){super.onCreate()Realm.init(this)valconfig=RealmConfiguration.Builder().build()Realm.setDefaultConfiguration(config)}}当然

android - 我们可以免费使用 Realm 数据库来替代 Sqlite 和 CoreData 吗?

我在做一个React-Native项目。我被要求在本地保存数据,然后我决定在Realm中保存。很快我发现它有针对云数据库的定价选项。我无法确定此数据库是否可以像它提到的那样使用sqlite或CoreData之类的替代方法:"Usedby100k+developersanddownloadedovertwobilliontimes.RealmDatabaseisafast,easytouse,andopensourcealternativetoSQLiteandCoreData."我可以免费使用Realm在本地保存数据吗? 最佳答案

java - 仅当 Record 是新的时才更新 Realm 表 (Java)

只有当记录是新记录时(通过检查记录的objectId在我的存储表中尚不存在),我才尝试更新我的表,我的objectId是主键。我尝试添加条件realm.where(NotesRealmClass.class).notEqualTo("objectId",Id);但它似乎没有用我怎么能只在记录是新记录时添加记录或者我们可以说-停止更新以前存储的记录publicvoidstoreNotes(StringId,StringTitle,StringLocation){realm.beginTransaction();NotesRealmClassNotes=newNotesRealmClass

android-如何向 Realm 数据库添加和删除对象?

我正在尝试在我的应用程序中实现收藏夹列表。为此,我使用Realm作为我的数据库来存储内容。我能够成功添加内容,但在尝试删除项目时应用程序崩溃了。我正在尝试使用作为movieId变量的主键删除对象。但它会使应用程序崩溃。感谢任何帮助。添加和删除内容的代码:mFavoriteButton.setOnFavoriteChangeListener(newMaterialFavoriteButton.OnFavoriteChangeListener(){@OverridepublicvoidonFavoriteChanged(MaterialFavoriteButtonbuttonView,bo

android - 为什么/何时使用 realm.beginTransaction?由于有executeTransaction和executeTransactionAsync

例如,如果我有这段代码:Realmrealm=Realm.getDefaultInstance();realm.beginTransaction();mUser.setName("Roy");realm.commitTransaction();textView1.setText(mUser.getName());根据文档,它表示如果事务中出现错误,将捕获Exception并且不会保留数据。所以在上面的代码中,如果mUser.setName("Roy");或realm.commitTransaction();有问题,就不会崩溃,并且代码还会继续吗?但是,在这种情况下不会调用cancelT

android - Realm 已经在/Users/cm/Realm/中的写入事务中

我在运行我的应用程序时出现此异常。我该如何解决?E/AndroidRuntime:FATALEXCEPTION:mainProcess:theo.testing.realmapplication,PID:3359java.lang.RuntimeException:UnabletostartactivityComponentInfo{theo.testing.realmapplication/theo.testing.realmapplication.MainActivity}:java.lang.IllegalStateException:TheRealmisalreadyinawr

Android:更改 Realm 迁移中的旧主键

我可以在Realm迁移脚本中用新的主键更改旧的主键吗? 最佳答案 是的,这是可能的。RealmObjectSchemaobjectSchema=schema.get("MyObject");objectSchema.addField("newId",long.class).transform(newRealmObjectSchema.Function(){@Overridepublicvoidapply(DynamicRealmObjectobj){obj.setLong("newId",getNewId(obj));}}).rem

Android Realm 查询关系

我有一个名为TodoList的Realm对象,它具有这样的RealmList属性。@PrimaryKeyprivateintid;privateStringtitle;privateRealmListtasks;我这里是TaskRealm对象@PrimaryKeyprivateintid;privateStringtitle;privatebooleancompleted;privateTodoListtodoList;我的问题是编写返回属于特定TodoList的任务列表的Realm查询的最佳方法是什么。这是我的方法。publicRealmResultsgetTodoListTasks

android - 如何过滤 Realm 适配器中的数据?

我在过滤Realm适配器中的数据时遇到了问题。我正在创建搜索View以通过过滤Realm适配器中的数据来搜索数据。我的搜索View实现代码是@OverridepublicvoidonCreateOptionsMenu(Menumenu,MenuInflaterinflater){inflater.inflate(R.menu.main_menu,menu);finalMenuItemitem=menu.findItem(R.id.action_search);finalSearchViewsearchView=(SearchView)MenuItemCompat.getActionVi