Acabo de empezar con esa nueva aplicación y quería ver si obtengo alguna respuesta de Retrofit e imprimo en un TextView.
Pero la aplicación falla sin ningún seguimiento de pila, por lo que no hay excepción ... simplemente nada.
Tengo una interfaz Retrofit y una "Fábrica" que crea la Solicitud, todo se ejecuta en un hilo diferente a través de Kotlin Coroutine.
class MainActivity : AppCompatActivity() { private lateinit var debugTextView: TextView override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) debugTextView = findViewById(R.id.debugTextView) val service = RetrofitFactory.makeCarDataService() GlobalScope.launch(Dispatchers.Main) { val request = service.getData() val response = request.await() debugTextView.text =response.toString() } } }Me encantaría publicar un Error... pero no hay ninguno, todo debería funcionar perfectamente :/
Para usar Dispatchers.Main , debemos agregar la siguiente línea a las dependencias del archivo build.gradle de la aplicación:
implementación 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.0.1'
La ausencia de esa dependencia podría ser la razón por la cual la aplicación falla sin ningún rastro de pila.
Sin stacktrace estos son los posibles problemas:
service.getData() puede lanzar NullPointerException
debugTextView.text puede lanzar NullPointerException
response.toString() puede lanzar NullPointerException
No estoy muy familiarizado con las rutinas, pero ¿ha intentado usar el hilo principal solo mientras configura el texto en la vista? algo como esto:
val service = RetrofitFactory.makeCarDataService() GlobalScope.launch(Dispatchers.Default/*change here*/) { val request = service.getData() val response = request.await() /*change here*/ withContext(Dispatchers.Main) { debugTextView.text = response.toString() } } }