你走对了,快到了。现在你有了
myRetrofit
,你需要使用它。您可以通过执行以下操作来使用它:
val repository = myRetrofit.create(RetrofitCalls::class.java)
一旦你有了
repository
,可以调用其上的方法。您的接口中没有任何方法,因此我不确定您的构造是否有效。对我有用的是:
interface RetrofitCalls {
@GET("lnjb8")
fun findPosts(): Call>
}
我已经用过
Call
,但可能
Observable
如果你想做异步调用,效果也一样。
如果要了解如何使用存储库的完整版本:
import retrofit2.Call
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory
import retrofit2.http.GET
data class RetrofitVariables(var name: String, var age: Int, var vehicle: String)
interface RetrofitCalls {
@GET("lnjb8")
fun findPosts(): Call>
}
var myRetrofit = Retrofit.Builder()
.baseUrl("https://api.myjson.com/bins/")
.addConverterFactory(GsonConverterFactory.create())
.build()
val repository = myRetrofit.create(RetrofitCalls::class.java)
fun main(args: Array) {
val call = repository.findPosts()
val variables = call.execute().body()
variables?.forEach {
println(it)
}
}
产生以下输出:
RetrofitVariables(name=John, age=30, vehicle=bicycle)
RetrofitVariables(name=Bob, age=32, vehicle=walking)