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

这是我的代码:

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

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

4 Solutions collect form web for “如何使用kotlin来定义一个android应用程序类?”

解决方法是使用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类的类。

  • 在Kotlin文件的主要方法中,android studio“error:can not find or load main class”
  • 匕首2不能从子组件(kotlin)注入
  • Volley-Mysql,Kotlintypes不匹配错误
  • 在kotlin中设置UserDefaultsKeys(swift)
  • Kotlin库'classes.jar'具有不受支持的格式。 请更新库或插件
  • 如何写while循环与在kotlin中的responseInputStream.read - (while((i = responseInputStream.read(byteContainer))
  • SyncAdapter中的Singleton Room数据库触发LiveData
  • firebase数据库:与Kotlin委托属性的模型
  • 我们如何在不使用第三方库的情况下在kotlin中定义id?
  • 从活动Kotlin获得额外的字符串
  • Kotlin自定义对话框指定为非null的参数
  • Kotlin language will be the best programming language for Android.