- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我目前正在尝试使用 Retrofit2 设置 Room。我想将 Retrofit2 中的数据插入房间数据库,但插入对我不起作用,应用程序崩溃了。我使用 Room Library 实现了三个组件:实体、Dao 和数据库。
我有这个错误。E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.a694532.e_controlling, PID: 31841
java.lang.NoClassDefFoundError: Failed resolution of: Landroid/arch/core/executor/AppToolkitTaskExecutor;
at android.arch.persistence.room.InvalidationTracker.refreshVersionsAsync(InvalidationTracker.java:403)
at android.arch.persistence.room.RoomDatabase.endTransaction(RoomDatabase.java:219)
at com.example.a694532.e_controlling.data.db.dao.GareDao_Impl.insertGares(GareDao_Impl.java:116)
at com.example.a694532.e_controlling.service.repository.TotoRepository$1.onResponse(TotoRepository.java:106)
at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run(ExecutorCallAdapterFactory.java:70)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.arch.core.executor.AppToolkitTaskExecutor" on path: DexPathList[[zip file "/data/app/com.example.a694532.e_controlling-2/base.apk", zip file "/data/app/com.example.a694532.e_controlling-2/split_lib_dependencies_apk.apk", zip file "/data/app/com.example.a694532.e_controlling-2/split_lib_slice_0_apk.apk", zip file "/data/app/com.example.a694532.e_controlling-2/split_lib_slice_1_apk.apk", zip file "/data/app/com.example.a694532.e_controlling-2/split_lib_slice_2_apk.apk", zip file "/data/app/com.example.a694532.e_controlling-2/split_lib_slice_3_apk.apk", zip file "/data/app/com.example.a694532.e_controlling-2/split_lib_slice_4_apk.apk", zip file "/data/app/com.example.a694532.e_controlling-2/split_lib_slice_5_apk.apk", zip file "/data/app/com.example.a694532.e_controlling-2/split_lib_slice_6_apk.apk", zip file "/data/app/com.example.a694532.e_controlling-2/split_lib_slice_7_apk.apk", zip file "/data/app/com.example.a694532.e_controlling-2/split_lib_slice_8_apk.apk", zip file "/data/app/com.example.a694532.e_controlling-2/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/com.example.a694532.e_controlling-2/lib/arm, /vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
at android.arch.persistence.room.InvalidationTracker.refreshVersionsAsync(InvalidationTracker.java:403)
at android.arch.persistence.room.RoomDatabase.endTransaction(RoomDatabase.java:219)
at com.example.a694532.e_controlling.data.db.dao.GareDao_Impl.insertGares(GareDao_Impl.java:116)
at com.example.a694532.e_controlling.service.repository.TotoRepository$1.onResponse(TotoRepository.java:106)
at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run(ExecutorCallAdapterFactory.java:70)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Suppressed: java.lang.ClassNotFoundException: android.arch.core.executor.AppToolkitTaskExecutor
at java.lang.Class.classForName(Native Method)
at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
... 13 more
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available
存储库.class
@Singleton
public class TotoRepository {
//Converters
private GareDtoConverter mGareConverter = new GareDtoConverter();
private TrainDuJourDtoConverter mTrainDuJourConverter = new TrainDuJourDtoConverter();
private TotoService totoService;
private Executor executor;
private GareDao gareDao;
private TrainDao trainDao;
private TronconDao tronconDao;
GareEtTrainDuJour mGareEtTrain=new GareEtTrainDuJour();
MyDatabase database;
OkHttpClient okHttpClient = UnsafeOkHttpClient.getUnsafeOkHttpClient();
public TotoRepository (Application application) {
Gson gson = new GsonBuilder()
.setDateFormat("yyyy-MM-dd'T'HH:mm:ss")
.create();
Retrofit.Builder builder = new Retrofit.Builder()
.baseUrl(EndPoint.TICKET)
.client(okHttpClient)
.addConverterFactory(GsonConverterFactory.create(gson));
Retrofit retrofit = builder.build();
totoService = retrofit.create(TotoService.class);
database = MyDatabase.getInstance(application);
gareDao=database.garesDao();
trainDao=database.trainDao();
tronconDao=database.tronconDao();
}
/*
@Inject
public TotoRepository(TotoService totoService, GareDao gareDao,TrainDao trainDao,TronconDao tronconDao, Executor executor) {
this.totoService=totoService;
this.gareDao=gareDao;
this.trainDao=trainDao;
this.tronconDao=tronconDao;
this.executor = executor;
}*/
public GareEtTrainDuJour getGareEtTrainDuJour() {
refreshGareEtTrainDuJour();
// return a LiveData directly from the database.
Log.d("loadFromDb","Recuperation des gares et trains du jours depuis la BD");
mGareEtTrain.setGareList(gareDao.getGares());
mGareEtTrain.setTrainList(trainDao.getTrains());
mGareEtTrain.setTronconList(tronconDao.getTroncons());
return mGareEtTrain;
}
public void refreshGareEtTrainDuJour(){
totoService.garesEtTrainsDuJour().enqueue(new Callback<GaresEtTrainsDuJourDTO>() {
@Override
public void onResponse(Call<GaresEtTrainsDuJourDTO> call, Response<GaresEtTrainsDuJourDTO> response) {
gareDao.insertGares(mGareConverter.toModelList(response.body().getGares()));
Map<String, Gare> listNameGare = mGareConverter.myListMapper(mGareConverter.toModelList(response.body().getGares()));
trainDao.insertOrReplaceTrains(mTrainDuJourConverter.toTrainModelList(response.body().getTrains(),listNameGare));
Log.d("RBRBRBRBRB",mTrainDuJourConverter.toTrainModelList(response.body().getTrains(),listNameGare).toString());
}
@Override
public void onFailure(Call<GaresEtTrainsDuJourDTO> call, Throwable t) {
Log.d("RBRBRBRBRBFFFF",t.getCause().toString());
Log.d("RBRBRBRBRBFFFF",t.toString());
t.printStackTrace();
}
});
}
}
public class TotoViewModel extends AndroidViewModel {
private GareEtTrainDuJour mGareEtTrain;
private TotoRepository totoRepo;
@Inject
public TotoViewModel(Application application) {
super(application);
totoRepo=new TotoRepository(application);
}
public void init() {
mGareEtTrain=totoRepo.getGareEtTrainDuJour();
}
public GareEtTrainDuJour getGaresTrain() {
return this.mGareEtTrain;
}
最佳答案
我只是将 gradle 依赖项设置为 latest 和 有用。
build.gradle(项目级)
dependencies {
classpath 'com.android.tools.build:gradle:3.3.1'
classpath 'com.google.gms:google-services:4.2.0'
}
dependencies {
implementation 'com.google.firebase:firebase-core:16.0.7'
implementation 'com.google.firebase:firebase-messaging:17.4.0'
implementation 'com.google.android.gms:play-services-location:16.0.0'
}
关于android - : Landroid/arch/core/executor/AppToolkitTaskExecutor 解析失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50802804/
因为我遇到了问题 java.lang.NoSuchMethodError: No static method isCtrlPressed(Landroid/view/KeyEvent;) 并与 jav
好吧,这很奇怪。当我在模拟器中运行应用程序时,我的 logcat 突然发生崩溃,之前我从未遇到过它,并且自上次在模拟器中运行应用程序以来我没有对我的应用程序进行任何更改几周前,它正在运行。 这是完整的
我将 Android Studio 更新到 2.2,我的项目将不再构建。我的 Activity 的 super.onCreate(savedInstanceState) 给我一个错误: java.la
完全错误 java.lang.NoSuchMethodError: No static method asAttributeSet(Lt/g/a/a;)Landroid/util/AttributeS
查看我的日志 Java.Lang.NoSuchMethodError: no non-static method "Landroid/content/Context;.getColorStateLis
I updated my android studio to version 3.3 canary 13 (latest as of this writing). I was prompted
我在执行 App 时遇到了这种类型的错误。 我的代码在支持库 24.2.0(Linux 操作系统中的 Android studio)中运行,当我在 Windows 操作系统中运行这段代码时出现了一些错
我使用UniversalImageLoader(displayImage方法)来加载图像 但它抛出 NoSuchFieldException 异常: No field mMaxWidth in cla
这是我见过的最奇怪的错误,在我遇到数据库泄漏错误后,我通过使用静态实例解决了它,现在我的 Activity 崩溃了,但不是每次都崩溃,只有当我多次使用它并使用另一个 Activity 时回到它,它会崩
我想尝试来自 google ( https://developer.android.com/arch ) 的新生命周期内容,但在应用打开时崩溃。我所做的就是添加依赖项。还有其他人遇到这个问题吗? 日志
几个小时以来,我一直在努力解决这个问题。我尝试导入 2bard 的 AndroidPianoView作为一个库项目(PianoView 和 PianoViewExample 都在里面),它们都有一个
我尝试将应用程序的支持库从26.0.2更新为27.1.0,但遇到以下错误。 Gradle apply plugin: 'com.android.application' android { c
我正在慢慢地尝试学习 android,但我遇到了一个我不太明白的挂断。我正在尝试使用一些全局变量。我扩展了应用程序类。我在 list 中添加了我认为正确的内容(类的名称是 Fortune Crunch
我将我的 android studio 更新到版本 3.3 canary 13(撰写本文时为最新版本)。我被提示更新我的项目的 gradle 版本,我将它更新到版本 3.3.0-alpha13 类路径
我无法编译项目得到以下错误编译: 错误:任务 ':myApp:dexDebug' 执行失败。 com.android.ide.common.internal.LoggedErrorException:
我目前正在尝试使用 Retrofit2 设置 Room。我想将 Retrofit2 中的数据插入房间数据库,但插入对我不起作用,应用程序崩溃了。我使用 Room Library 实现了三个组件:实体、
真的找不到词,我的项目只是不从一天编译到另一天。 这就是我所做的: 我下载并显示一个 PDF,然后我将其作为保存的 PDF 打印到设备上,然后崩溃发生了。 这是崩溃: at java.lang.Cla
在谷歌上玩这个错误 FATAL EXCEPTION: main Process: com.sonymobile.scan3d, PID: 13877 java.lang.NoSuchMethodErr
我在多个论坛和相关答案中看到了这个错误,我尝试了所有但它似乎对我的情况不起作用。让我简单介绍一下我的环境。我正在使用 sunjdk 1.7 和 androidsdk 21 在 mac osx 10.7
1.每当我在我的应用程序中滑动查看下一张图片时,应用程序就会崩溃,我不知道出了什么问题 2.这个问题在更新到 Android 30 之后才正常工作 java.lang.NoSuchMethodErro
我是一名优秀的程序员,十分优秀!