如何使用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类的类。

  • FirebaseRecyclerAdapter - populateViewHolder不访问数据
  • Kotlin的“@Parcelize”是否适用于非数据类?
  • Kotlin通用对话框不显示
  • Kotlin使用Gson的JSONParser解析对象数组
  • Kotlin扩展未解决的参考
  • 在使用Kotlin协同程序时,与Room dao类错误
  • 运行时崩溃与Proguard启用房间持久性库
  • Kotlin执行可选操作
  • 调试Kotlin内联函数
  • 无法在kotlin`whenexpression式中使用string.contains()
  • org.gradle.api.tasks.TaskExecutionException:执行失败的任务':app:compileDebugKotlin'
  • Kotlin language will be the best programming language for Android.