如何使用kotlin来定义一个android应用程序类?

这是我的代码:

object MyApplication : Application() { override fun onCreate() { super.onCreate() initOkHttp() } } 

当我在AndroidManifest声明MyApplication时,它发生has no default constructor ,任何人都可以帮助我吗? 在这里输入图像说明

解决方法是使用class关键字而不是object 。 Kotlin中的一个object声明是一个单例,这意味着它只有一个实例,它有一个私有构造函数来防止创建任何其他实例。

但是,在Android上的Application类的情况下,框架本身将在您的应用程序启动时创建实例,并且这需要一个可访问的私有构造函数。

在types改为从对象类中使用以下内容

 class MyApplication : Application() { override fun onCreate() { super.onCreate() initOkHttp() } } 

你应该使用class而不是Object ,使其工作。

  class MyApplication : Application() { override fun onCreate() { super.onCreate() initOkHttp() } } 

你得到这个错误的原因是因为object修饰符有效地使你的类成为单例,所以没有实际的方法来实例化它。 因此,将其替换为相当于普通Java类的类。