Вызов REST api на эмулятор android вызывает приложение к сбою

Я относительно новичок в студии Android. Я пытаюсь создать очень простое приложение, которое выбирает цену криптовыделения, используя бирки Bittrex api. Однако каждый раз, когда я пытаюсь получить информацию из URL-адреса, мое приложение падает. Кстати, я использую Kotlin. У меня возникли проблемы с этим, потому что я не знаю, как запустить эмулятор в режиме отладки, просто компилятор. Вот мой код:

package com.example.sebastian.cryptoapp import android.support.v7.app.AppCompatActivity import android.os.Bundle import java.net.URL import java.net.MalformedURLException import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { fun search(): String { //read in value var market = searchBar.getText().toString() //output text from URL query val result = URL("https://bittrex.com/api/v1.1/public/getticker?market=" + market).readText() return result } fun getPrice(): String { //calling search function var info = search() //split the string into a list var list: List<String> = info.split(":", "}") //access 7th index of list for last traded price return list[6] } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) button.setOnClickListener { text_output.setText(getPrice()) } } } 

    Эта строка здесь: val result = URL("https://bittrex.com/api/v1.1/public/getticker?market=" + market).readText() выглядит так, будто он запускается в основном потоке. Это приведет к сбою приложения с aa NetworkOnMainThreadException .

    Здесь вы можете прочитать больше об этом исключении.

    Кроме того, убедитесь, что в вашем AndroidManifest.xml есть следующее:

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

    Ознакомьтесь с этими ответами для получения дополнительной информации о том, как запустить это в фоновом режиме:

    • Как исправить android.os.NetworkOnMainThreadException?
    • Android – android.os.NetworkOnMainThreadException

    Кроме того, в Котлине вы могли бы также Anko или Coroutines .

    Давайте будем гением компьютера.