В чем проблема с моим кодом модификации в моем приложении Android? - PullRequest
1 голос
/ 08 апреля 2020

Привет. Все, что я хочу знать, в чем проблема с моим кодом. Я пытаюсь запустить это приложение Kotlin - Android, используя модификацию, но происходит сбой и приложение не запускается

package com.mammoth.retrofitkotlin

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Toast
import kotlinx.android.synthetic.main.activity_main.*
import retrofit2.*
import retrofit2.converter.gson.GsonConverterFactory

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        var url = "https://jsonplaceholder.typicode.com/"
        var retrofit = Retrofit.Builder()
            .baseUrl(url)
            .addConverterFactory(GsonConverterFactory.create())
            .build()
        var API: API = retrofit.create(API::class.java)
        var call = API.calldata()
        var item = call.enqueue(object : Callback<model> {
            override fun onFailure(call: Call<model>, t: Throwable) {

            }

            override fun onResponse(call: Call<model>, response: Response<model>) {
                var xx = response.body()!!.title
                txtView.text = xx
            }


        })

    }

}

я создал этот интерфейс

package com.mammoth.retrofitkotlin

import retrofit2.Call
import retrofit2.http.GET


interface API {

     @GET("posts/1")

     fun calldata() : Call<model>

}

и это класс модели

package com.mammoth.retrofitkotlin

data class model (var userId : String,var id : String,var title : String,var body : String)

пожалуйста, что не так в моем коде

1 Ответ

0 голосов
/ 08 апреля 2020

Согласно документации необходимо добавить Java 8 совместимости в build.gradle:

android {

    ...
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Также помните о разрешении INTERNET в манифесте:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">

    <!--  Add this one:  -->
    <uses-permission android:name="android.permission.INTERNET" />

    <application
        android:allowBackup="true"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...