我的 Android 应用程序中的 Retrofit 代码有什么问题?
what is the problem withe my Retrofit Code in my Android App?
大家好我想知道我的代码有什么问题
我正在尝试 运行 这个 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>
}
这是模特 class
package com.mammoth.retrofitkotlin
data class model (var userId : String,var id : String,var title : String,var body : String)
请问我的代码有什么问题
According to documentation 您必须在 build.gradle
中添加 Java 8 兼容性:
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"
大家好我想知道我的代码有什么问题 我正在尝试 运行 这个 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>
}
这是模特 class
package com.mammoth.retrofitkotlin
data class model (var userId : String,var id : String,var title : String,var body : String)
请问我的代码有什么问题
According to documentation 您必须在 build.gradle
中添加 Java 8 兼容性:
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"