class Connect {
companion object {
private fun getRetrofit(Url:String):Retrofit {
return Retrofit.Builder()
.addCallAdapterFactory(
RxJava2CallAdapterFactory.create())
.addConverterFactory(
GsonConverterFactory.create())
.baseUrl(Url)
.build()
}
fun getApiData():Retrofit{
val retrofitApi = getRetrofit(Url.BASE_URL)
return retrofitApi
}
fun callApi():CallApi{
val retrofitCall = getApiData()
return retrofitCall.create(CallApi::class.java)
}
}
}
我已经在Url类中创建了Url,比如Url.kt
class Url {
companion object {
const val BASE_URL = "your base url"
const val URL = "your url"
}
}
为Api调用创建接口
interface CallApi {
@GET(Url.URL)
//query needed if there is any query
fun getApi(@Query("limit") limit: Int):
//model class is needed
Observable<Model.Result>
}
object Model {
data class Result(val data: Data)
data class Data(val children: List<Children>)
data class Children(val data: Datas)
data class Datas(val author: String,val thumbnail: String,val title: String)
}
6条答案
按热度按时间shyt4zoc1#
一旦你有了set your Android Studio to use Kotlin,执行REST调用就很简单了,它的逻辑与Java几乎相同。
下面是使用OkHttp调用REST的示例:
构建.gradle
安卓清单.xml
主要活动.kt
下面是一些使用其他库的更复杂的示例:
2w3kk1z52#
您可以使用
Retrofit
或AsyncTask
,例如AsyncTask
:对于
Retrofit
,请检查此awsome tutorialoknrviil3#
我使用retrofit 2创建了一个示例API调用。首先,在gradle中添加这些库
然后创建一个类来配置Retrofit 2,例如Connect.kt
我已经在Url类中创建了Url,比如Url.kt
为Api调用创建接口
根据您的响应创建一个模型类,示例响应为
为了创建它的模型类,创建一个对象,比如Model
然后创建一个boiler plate类,以执行从api中获取数据的操作,该操作可以从任何活动中调用。
现在可以从活动调用它,
7kjnsjlb4#
首先在AndroidManifest.xml中添加权限
二、安装Google依赖的Volley包
obs:volley是用于进行JSON调用的官方Google包
链接:https://github.com/google/volley
访问项目结构
单击“依赖项”
在所有依赖项中单击+
点击图书馆附属机构
找到要截击的目标,然后单击“搜索”
指令集
单击“确定”后,单击“应用,完成”。
创建一个名为RequestJSON的新类,在我的例子中,我使用的是Kotlin
试用
4ioopgfo5#
Retrofit是在Android上使用API的一个很好的工具。Here是我在Kotlin上找到的关于如何使用Retrofit的教程
n6lpvg4x6#
https://github.com/NightingaleNath/FlyBuy遵循此链接,它总结了如何对get和post类型api进行改型调用