草庐IT

android - Realm 数据库 : Clean architecture in Android

我正在评估RealmDb,我觉得RealmDb与模型层紧密耦合。这让我觉得,如果明天我需要用其他本地数据库替换,那将是一项巨大的重构工作。我的问题是如何使用RealmDB实现干净的架构?有什么我可以效仿的例子吗? 最佳答案 如果您愿意,Realm只是让您更容易将数据库模型重新用作View模型。但是没有什么能阻止您拥有数据层实体和View层实体,然后在边界上进行映射。例如//DatalayerpublicclassFooEntityextendsRealmObject{//Realmfieldsandmethods...publics

android - 在 Clean Architecture 中管理 Realm 实例的最佳实践是什么?

我的项目使用干净的架构。在这种情况下,UI层与Realm层是分开的。所以我认为UI层最好不要拥有Realm实例。由于realm的文档建议在Activity的生命周期中管理realm实例,那么我应该如何处理realm实例呢?更清楚地说,我的项目太重了,无法更改所有对象扩展RealmObject。所以我使用单独的对象来持久化数据。当api调用完成时,业务对象转换为Realm对象,从Realm查询时相反。我创建这样的方法:publicvoidinsert(Tobject){finalRealmrealm=RealmProvider.getRealm();realm.executeTransa

构建期间的 Android 错误 - "default public constructor with no argument must be declared"。什么原因?

AndroidStudio在构建期间返回错误,即使在运行Clean和重建之后也是如此:Adefaultpublicconstructorwithnoargumentmustbedeclaredifacustomconstructorisdeclared.我找不到行号,也找不到引用的文件。我不知道是什么原因导致的,因为构建中没有任何迹象表明这是什么原因。 最佳答案 如果你有这样的自定义构造函数publicclassDogeextendsRealmObject{publicDoge(Stringname){...那么你还必须有一个没有额

android - 如何在整个应用程序生命周期中维护单个 Realm 实例并关闭它?

如何在应用程序的整个生命周期中维护单个Realm实例并关闭它。我可以使用单例类来维护实例,但是当应用程序关闭时我该如何关闭它?此外,Realm实例一旦打开就不要关闭是否安全? 最佳答案 我倾向于使用单例RealmManager对于UI线程,对于后台线程,我使用try-with-sources打开/关闭Realmblock。所以对于UI线程:publicclassRealmManager{privatestaticfinalStringTAG="RealmManager";staticRealmrealm;staticRealmCon

Android Realm - 调试

这个问题在这里已经有了答案:Cannotretrievefieldvaluesfromrealmobject,valuesarenullindebugger(5个答案)关闭5年前。我想查看Realm对象变量的值例如:Student(intstudentID,ArrayListsubjectList)Subject(intsubjectID,StringsubjectName)我想在使用AndroidStudio进行调试时查看学生对象中的科目名称。我应该在androidstudio调试窗口的哪个位置查看学生的科目列表?

android - Realm 单元测试

我正在尝试对Realm及其交互进行单元测试,但进展不太顺利。我已经包含了所有依赖项并不断出现模糊的失败,下面是我的Helper类代码,它是Realm的包装器。问题这是测试Realm的正确方法吗?我如何测试应用沙盒中的数据,只能通过UI/Instrumentation测试来测试该数据吗?我目前(如下)收到错误消息,之前收到“Powermock零参数构造函数不存在”GitHubrepo下面是我的单元测试的当前代码:@RunWith(PowerMockRunner.class)@PowerMockRunnerDelegate(RobolectricTestRunner.class)@Conf

android - 无法使用 Realm 编译Android应用程序

当我将realm.io库添加到我的Android应用程序并尝试运行该应用程序时,我在编译期间遇到此错误:错误:任务':compileDebugJava'执行失败。>java.lang.ClassCastException:com.sun.tools.javac.code.Symbol$ClassSymbol无法转换为javax.lang.model.element.PackageElement这是我的build.gradle:buildscript{repositories{mavenCentral()maven{url'http://download.crashlytics.com/

android - 同一个项目中的 Realm.io/Dagger/Databinding

在通过gradle添加Realm.io作为依赖项后,我在编译项目时遇到问题。找不到由dagger和databinding创建的生成文件。如果我删除realm.io,应用程序会正确编译。这是我的build.gradleapplyplugin:'com.android.application'applyplugin:'com.neenbedankt.android-apt'applyplugin:'com.android.databinding'android{compileSdkVersion23buildToolsVersion"23.0.2"defaultConfig{multiDe

android - 在 Eclipse 上集成 Realm.io

我正在尝试将Realm.io数据库集成到Eclipse上的一个新项目中,但是在编译时会抛出以下错误:[2014-10-0916:21:48-DatabaseBenchmark]Thelibrary'realm-0.71.0.jar'containsnativelibrariesthatwillnotrunonthedevice.[2014-10-0916:21:48-DatabaseBenchmark]Additionallysomeofthoselibrarieswillinterferwiththeinstallationoftheapplicationbecauseoftheir

java - Android:Realm了解LinkingObjects

我需要有关Realm中LinkingObjects的帮助。请看这些简单的代码:publicclassProductextendsRealmObject{@PrimaryKeyprivateintprodId;@RequiredprivateStringname;privateRealmListproductItems;@LinkingObjects("productParent")privatefinalRealmResultslinkProductItems=null;.........}publicclassProductItemextendsRealmObject{@Primar