作者:liutiancinet | 来源:互联网 | 2023-01-29 09:22
我对Kotlin和API一般都是新手,并且找不到使用这种语言创建API请求的语法.我正在创建一个网站的移动版本,所以我使用Android Studio为已经建立的后端创建一个新的UI.创建请求的步骤和语法是什么?非常感谢任何帮助.
1> Evin1_..:
一旦你将Android Studio设置为使用Kotlin进行REST调用非常简单,它与Java的逻辑几乎相同.
以下是使用OkHttp进行REST调用的示例:
的build.gradle
dependencies {
//...
implementation 'com.squareup.okhttp3:okhttp:3.8.1'
}
AndroidManifest.xml中
MainActivity.kt
class MainActivity : AppCompatActivity() {
private val client = OkHttpClient()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
run("https://api.github.com/users/Evin1-/repos")
}
fun run(url: String) {
val request = Request.Builder()
.url(url)
.build()
client.newCall(request).enqueue(object : Callback {
override fun onFailure(call: Call, e: IOException) {}
override fun onResponse(call: Call, response: Response) = println(response.body()?.string())
})
}
}
以下是其他库的一些更复杂的示例:
使用Retrofit在Kotlin中进行网络请求
Kotlin的网络请求,包括Retrofit和coroutines
Kotlin中的网络请求与Dagger,RxJava,MVP中的Retrofit
2> Oussema Arou..:
你可以使用Retrofit
或者AsyncTask
举例AsyncTask
:
class getData() : AsyncTask() {
override fun doInBackground(vararg params: Void?): String? {
}
override fun onPreExecute() {
super.onPreExecute()
}
override fun onPostExecute(result: String?) {
super.onPostExecute(result)
}
}
对于Retrofit
检查这个要命教程