Как вызвать конструктор внутри его функции-члена kotlin? - PullRequest
0 голосов
/ 23 марта 2020

Следуя документации Microsoft, я хотел бы преобразовать следующий код из Java в Kotlin. Тем не менее, Kotlin имеет init и конструктор, в котором я не очень уверен, как мне реализовать его в моем коде. Это потому, что мне нужно вызвать класс конструктора в одной из его функций-членов.

public class AzureServiceAdapter {
private String mMobileBackendUrl = "https://myappname.azurewebsites.net";
private Context mContext;
private MobileServiceClient mClient;
private static AzureServiceAdapter mInstance = null;

private AzureServiceAdapter(Context context) {
    mContext = context;
    mClient = new MobileServiceClient(mMobileBackendUrl, mContext);
}

public static void Initialize(Context context) {
    if (mInstance == null) {
        mInstance = new AzureServiceAdapter(context);
    } else {
        throw new IllegalStateException("AzureServiceAdapter is already initialized");
    }
}

Приведенный выше код представляет собой код Android Java от Microsoft.

Ссылаясь на код ниже, я пытался преобразовать код java в kotlin. Однако, когда я попытался проявить фантазию и добавить init and constructor к своему kotlin коду, я понял, что получу ошибку в mInstance!!.AzureServiceAdapter(context) ?: throw IllegalStateException("AzureServiceAdapter is already initialised")

class AzureServiceAdapter{
private val mMobileBackendUrl = "https://test123.azurewebsites.net"
private lateinit var mContext: Context
private lateinit var azureClient: MobileServiceClient
var mInstance : AzureServiceAdapter? = null


private fun AzureServiceAdapter(context: Context){
    mContext = context
    azureClient = MobileServiceClient(mMobileBackendUrl, mContext)
}


fun initialize(context: Context) {
    mInstance!!.AzureServiceAdapter(context) ?: throw IllegalStateException("AzureServiceAdapter is already initialised")
}

}

Следовательно Есть ли способ конвертировать Java код в kotlin в профессиональной структуре?

1 Ответ

3 голосов
/ 23 марта 2020
for Convert java file to kotlin

Открыть Android Studio-> Открыть ваш проект-> Выбрать файл java, затем Go на панели навигации -> Код -> Конвертировать java файл в kotlin файл

For this make sure your project is integrate with kotlin plugins
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...