当前位置: 首页 > 知识库问答 >
问题:

将Android Room数据库与RXJava2一起使用时,找不到符号类EmptyResultSetException

连昊天
2023-03-14

我正在尝试将RXJava2用于房间数据库。我使用单个可观察对象来获取我的对象列表。但每次我犯这个错误

找不到符号类EmptyResultSetException

我正在使用本教程ANDROID ROOM PERSISTENT和RXJAVA2

我以前在没有RXJava的AsyncTask中使用过它,它可以工作,所以我想在RXJava中使用它

这是我的身材。格拉德尔

apply plugin: 'com.android.application'

  android {
compileSdkVersion 28
defaultConfig {
    applicationId "apit.net.sa.simpleusingroom"
    minSdkVersion 16
    targetSdkVersion 28
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
}
}

    dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'




implementation 'com.android.support:support-v13:28.0.0'
implementation 'com.android.support:recyclerview-v7:28.0.0'
implementation 'com.android.support:design:28.0.0'
implementation 'com.jakewharton:butterknife:8.5.1'
    //ROOM database
implementation 'android.arch.persistence.room:runtime:1.0.0'
annotationProcessor 'android.arch.persistence.room:compiler:1.0.0'

//RXJava2
implementation 'io.reactivex.rxjava2:rxjava:2.1.9'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'

//RXjava with room
implementation 'android.arch.persistence.room:rxjava2:1.0.0-alpha1'

annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'
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'
 }

道类

 @Query("SELECT * FROM UserEntity")
Single<List<UserEntity>> getUsersSingle();

我的活动

DatabaseSingInstance.getInstance(this)
            .getOurDatabase()
            .userDAO()
            .getUsersSingle()
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(new DisposableSingleObserver<List<UserEntity>>() {


                @Override
                public void onSuccess(final List<UserEntity> userEntities) {
                    adapter = new UserAdapter(userEntities, MainActivity.this, new UserAdapter.OnLongClickListner() {
                        @Override
                        public void onClick(int position) {
                            showPopupWindow(userEntities,position);
                        }
                    });
                    myRec.setAdapter(adapter);
                }

                @Override
                public void onError(Throwable e) {
                    Log.e("error"," "+e.getMessage());
                }


            });

共有1个答案

华凌
2023-03-14

我根据这个答案解决了这个问题

我刚刚将room\u版本更改为1.1.0。顺便说一句,我正在等待任何一位能够解释这个错误或只是解释它发生的原因的人。

 类似资料:
  • 问题内容: 使用Java Selenium Firefox geckodriver时出现问题。这是问题所在: OS:Windows 7 selenium ersion:Selenium 3.0.0 beta4 Java:8 Geckodriver:v0.10.0 Error msg: Exception in thread “main” java.lang.NoClassDefFoundError

  • 问题内容: 您如何在不进行更改的情况下,高效,优雅地从Python中提取项目3..6 : 在片符号似乎并没有与工作… 问题答案: import itertools output = list(itertools.islice(q, 3, 7)) 例如: 与到目前为止发布的其他解决方案相比,这应该更有效。证明?

  • 我试图针对我的项目中使用podspec中一些库的功能的类编写一些iOS逻辑测试。我使用Xcode中提供的标准单元测试包(尽管不是应用程序测试,只是单元测试)。 例如,我使用Magic Record,并在我的podspec中链接了该库。它出现在我工作区的Pods项目中,当应用程序在模拟器或设备上运行时,它会按预期工作。然而,当我试图链接到使用Magic Record的测试对象时,我收到一个链接器错误

  • 问题内容: 2 能否从2个不同的mongdb数据库服务器中检索数据? 问题答案: 更新资料 现在可以连接到远程/多个数据库: mongodb url 在哪里,例如(带有数据库名称) 目前,这样做有一个缺点:没有Oplog 旧答案 目前,这是不可能的。每个流星应用程序都绑定到一个数据库。 您可以通过几种方法解决此问题,但其价值可能会更复杂: 一种选择-使用单独的Meteor应用 在另一个流星应用程序

  • 我正在开始使用特性。我正面临这方面的问题。