我试图从匕首移植到剑柄,但我得到了这个构建错误
基本应用程序,预计使用@DefineComponent进行注释。已找到:@kotlin。Metadata(mv={1, 4, 1}, bv={1, 0, 3}, k=1, d1={“\u0000\u0012\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0000\b\u0007\u0018\u00002\u0002\u0001B\u0005\u000a2\u0006\u00010\u0002J\b\u0010\u0003\u001a\u00020\u0004H\u0016\u000a8\u0006\u0005”}, d2={“Lcom/example/unioncoop/BaseApplication;”, “Landroid/app/Application;”, “()V”, “onCreate”, “”, “app_debug”}),@dagger.hilt.android.HiltAndroidApp
我不知道错误在哪里,这是我的代码My Application Class
@HiltAndroidApp
class BaseApplication : Application() {
override fun onCreate() {
super.onCreate()
}
}
活动类别
@AndroidEntryPoint
class MainActivity : AppCompatActivity () {}
我的模块
@Module
@InstallIn(BaseApplication.class)
public class NetworkModule {
private static final String BASE_URL = "";
@Provides
OkHttpClient getOkHttpClient() {
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor(message -> Log.w("Logger", "log: " + message));
interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
return new OkHttpClient().newBuilder()
.connectTimeout(30, TimeUnit.SECONDS)
.readTimeout(5, TimeUnit.MINUTES)
.writeTimeout(5, TimeUnit.MINUTES)
.addInterceptor(interceptor)
.build();
}
@Provides
public Gson getGson() {
return new GsonBuilder()
.registerTypeAdapterFactory(new NullStringToEmptyAdapterFactory())
.serializeNulls()
.setLenient()
.create();
}
@Provides
Retrofit getRetrofit(OkHttpClient client, Gson gson) {
return new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create(gson))
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.client(client)
.build();
}
}
我只是在如下所示的< code>InstallIn注释中用ApplicationComponent替换了BaseApplication,一切都正常。
@InstallIn(ApplicationComponent.class)
如何注入抽象类我有一个抽象类 我尝试使用< code>@Module和< code>@Binds注释来初始化该类的对象。但这并不能创建并抛出一个错误。 但这给出了错误。我犯了什么错误?请您告诉我如何为抽象类创建。我们如何注入抽象类?从文档中,它说。有时,不能注入构造函数。发生这种情况可能有多种原因。例如,不能构造函数注入接口。也不能构造函数注入不属于的类型,例如外部库中的类。在这些情况下,您可以使
本文向大家介绍数据结构中的希尔伯特树,包括了数据结构中的希尔伯特树的使用技巧和注意事项,需要的朋友参考一下 希尔伯特R树是R树的变体,被定义为多维对象的索引,例如线,区域,3-D对象或基于高维特征的参数对象。可以将其想象为对多维对象的B +树的扩展。 R树的性能取决于将数据矩形聚集在节点上的算法的质量。Hilbert R树实现了空间填充曲线,特别是Hilbert曲线,用于对数据矩形强加线性排序。
希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法。 希尔排序是基于插入排序的以下两点性质而提出改进方法的: 插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率; 但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位; 希尔排序的基本思想是:先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“
1. 前言 本节内容是排序算法系列之一:希尔排序,主要讲解了希尔排序的主体思路,选取了一个待排序的数字列表对希尔排序算法进行了演示,给出了希尔排序算法的 Java 代码实现,帮助大家可以更好的理解希尔排序算法。 2. 什么是希尔排序? 希尔排序(Shell Sort),是计算机科学与技术领域中较为简单的一种排序算法。 希尔排序是插入排序的一种,有时候也被称为 “缩小增量排序”。它是插入排序的改进版
我有一个Java web应用程序,我正在IntelliJ中开发,并使用Apache Tomcat进行部署。我定义了一些在团队中每个人之间共享的运行配置。这些运行配置定义为将分解的war工件部署到本地tomcat中。其他团队成员能够很好地部署和运行,但我遇到以下错误: IntelliJ似乎不想创建分解/项目。war目录。如果我手动创建这些目录,我不会收到该错误消息,但WAR内容都不会放入该目录。 我
希尔排序(有时称为“递减递增排序”)通过将原始列表分解为多个较小的子列表来改进插入排序,每个子列表使用插入排序进行排序。 选择这些子列表的方式是希尔排序的关键。不是将列表拆分为连续项的子列表,希尔排序使用增量i(有时称为 gap),通过选择 i 个项的所有项来创建子列表。 这可以在 Figure 6 中看到。该列表有九个项。如果我们使用三的增量,有三个子列表,每个子列表可以通过插入排序进行排序。完