Как мне успешно сделать запрос okHttp в Kotlin - PullRequest
1 голос
/ 22 марта 2020

Проблемы: 1. Запрос не попадает на мой python flask сервер. 2. Мое приложение вылетает при каждом запуске этого кода. * Примечание: я использовал Postman для проверки адреса локального хоста, что успешно

Я пытаюсь создать запрос okHttp в моем приложении kotlin android. В моем файле build.gradle реализованы необходимые зависимости:

implementation 'com.squareup.okhttp3:okhttp:3.10.0

edit: Я включил разрешение Inte rnet в файл манифеста

<uses-permission android:name="android.permission.INTERNET" />

Я попытался использовать свой IP-адрес в качестве части URL-адреса вместе с несколькими различными ссылками на локальный хост и определил, что URL-адрес не является проблемой.
Если я не являюсь ошибочно, во время build () возникает ошибка app cra sh, но я не могу понять, почему.

В идеале этот код может попасть в остальные API и вернуть данные (напечатанные в виде текста) при моем входе в систему. экран. После нескольких дней изучения и опробования других методов запроса я не могу найти решение.

val mTextviewResult: TextView = findViewById(R.id.text_view_result)
            //http client
            var client = OkHttpClient()

            val url = "http://localhost:5000/test"
            val request = Request.Builder()
                .url(url)
                .build()
            Log.d(request.toString(), ":  I build Request")

            client.newCall(request).enqueue(object : Callback {
                override fun onFailure(call: Call, e: IOException) {
                    Log.d(url, ":  I fail")
                    e.printStackTrace()
                }

                @Throws(IOException::class)
                override fun onResponse(call: Call, response: Response) {
                    if (response.isSuccessful()) {
                        Log.d(url, ": I success")
                        val myResponse = response.body()?.string()
                        this@LoginActivity.runOnUiThread(object : Runnable {
                            override fun run() {
                                mTextviewResult.setText(myResponse)
                            }
                        })
                    }
                }
            })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...