簡體   English   中英

如何使用 kotlin 定義一個 android Application 類?

[英]How to use kotlin to define a android Application class?

這是我的代碼:

 object MyApplication : Application() {

      override fun onCreate() {
          super.onCreate()
          initOkHttp()
      }
   }

當我在AndroidManifest聲明MyApplication時,它發生has no default constructor ,有人可以幫助我嗎? 在此處輸入圖片說明

解決方案是使用class關鍵字而不是object Kotlin 中的object聲明是單例的,這意味着它只有一個實例,並且它有一個私有構造函數來防止創建任何其他實例。

然而,對於 Android 上的Application類,框架本身將在您的應用程序啟動時創建實例,這需要一個可訪問的私有構造函數。

在類型從對象更改為類的地方使用以下內容

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

您應該使用class而不是Object ,以使其工作。

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

您收到該錯誤的原因是因為object修飾符有效地使您的類成為單例,因此沒有實際的方法可以實例化它。 因此,取而代之的是class也就是相當於一個普通的Java類。

這樣你就可以創建一個應用程序類

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM