Android Firebase-神秘的对象键

时间:2018-06-24 14:36:09

标签: android firebase realm

我尝试将RealmObject扩展的对象推送到Firebase数据库。然后这些键值对突然出现:“已加载”,“托管”和“有效”。

用户对象

enter image description here

将用户对象推送到Firebase

enter image description here

Firebase数据库子示例

Sample Firebase Database child

build.gradle(模块:应用)

apply plugin: 'com.android.application'
apply plugin: 'realm-android'

android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "sample.project"
        minSdkVersion 16
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    realm {
        syncEnabled = true
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support:support-annotations:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.2'
    implementation 'com.android.support:design:26.1.0'
    implementation 'com.google.firebase:firebase-auth:11.0.4'
    implementation 'com.google.firebase:firebase-database:11.0.4'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

    implementation 'com.android.support:cardview-v7:26.1.0'
    implementation 'com.android.support:recyclerview-v7:26.1.0'
    implementation 'de.hdodenhof:circleimageview:2.2.0'
    implementation 'io.reactivex.rxjava2:rxjava:2.1.15'

    implementation 'com.jakewharton:butterknife:8.8.1'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
}

apply plugin: 'com.google.gms.google-services'

我的问题是,这些键值对来自哪里?

仅供参考: 我使用以下依赖来解决将RealmObjects推送到Firebase时遇到的问题。

 implementation 'io.reactivex.rxjava2:rxjava:2.1.15' 

引用此帖子:Crash combining Firebase and Realm - Failed resolution of: Lio/reactivex/Observable;

1 个答案:

答案 0 :(得分:1)

  

我的问题是,这些键值对来自哪里?

当然来自extends RealmObject

  

boolean isLoaded()

     

检查查询是否用于查找此RealmObject   已经完成。

     

boolean isManaged()

     

检查此对象是否由Realm管理。

     

boolean isValid()

     

检查RealmObject是否仍然有效   即RealmObject尚未删除,Realm也没有删除   关闭。

但是,Realm专门为这种情况提供了使用@RealmClass public class MyClass implements RealmModel代替extends RealmObject的方法。