Классификатор JSONObject не имеет объекта-компаньона и поэтому должен быть здесь инициализирован

import org.json.JSONObject
JSONObject deviceInformation = ...

Я пытался создать объект-компаньон, как это, но на самом деле не работает... извините, довольно нуби в Java и Kotlin....

и да, JSONObject правильно импортируется с

import org.json.JSONObject

1 ответ

Решение

Вы используете неправильный синтаксис. Переменные в Kotlin объявлены как:

[var/val] name: OptionalExplicitType = something

Что значит JSONObject var instance:... не допускается

Измените это на:

var instance: JSONObject = ...

Также важно, чтобы вы установили его. Так как похоже, что вы пытаетесь создать синглтон, вы можете просто использовать object вместо класса.

Если вы чувствуете, что делаете это по старинке, сделайте это обнуляемым:

var instance: JSONObject? = null

Затем проверьте, является ли оно нулевым, инициализируйте, установите и верните его, в противном случае верните текущее значение.

Если это не ваша цель, вам все равно нужно инициализировать ее, если вы не сделаете это поздно. Но если вы сделаете это, вам нужно инициализировать его, прежде чем пытаться получить к нему доступ, иначе оно выдаст исключение.

Другие вопросы по тегам