Kotlin Connect Timeout - PullRequest
       5

Kotlin Connect Timeout

0 голосов
/ 14 декабря 2018

Я пытаюсь выполнить задачу с помощью Asynctask в kotlin.Я хочу показать диалоговое сообщение пользователю. Если у пользователя очень медленное или нестабильное соединение с данными во время использования, я бы хотел установить тайм-аут AsyncTask через 5 секунд. Моя точка - гдеЯ положил диалог?после finally в doInBackground?

 inner class Arr : AsyncTask<String, String, String>() {

        val progressDialog = AlertDialog.Builder(this@MainActivity)
        val dialogView = layoutInflater.inflate(R.layout.progress_dialog, null)
        val message = dialogView.findViewById<TextView>(R.id.message_id)
        val dialog = progressDialog.create()

        override fun onPreExecute() {
            super.onPreExecute()

            dialog.setMessage("please wait")
            dialog.setCancelable(false)
            dialog.show()


        }

        //        for build connection
        override fun doInBackground(vararg url: String?): String {

            var text: String
            val connection = URL(url[0]).openConnection() as HttpURLConnection
            connection.connectTimeout = 300

            try {
                connection.connect()
                text = connection.inputStream.use { it.reader().use { reader -> reader.readText() } }


            } finally {

       dialog.setMessage("Sorry you dont have proper net connectivity..!\nCheck your internet settings or retry.")
            dialog.setCancelable(false)
            dialog.show()

            }
            return text
        }

        override fun onPostExecute(result: String?) {

            super.onPostExecute(result)
            handleJson(result)

            dialog.dismiss();

        }

        override fun onProgressUpdate(vararg text: String?) {


        }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...