如何在Kotlin中创建API请求?

我对Kotlin和API非常陌生,找不到使用此语言创建API请求的语法。 我正在创建网站的移动版本,所以我正在使用Android Studio为已建立的后端创建新的用户界面。 创建请求的步骤和语法是什么? 任何帮助深表谢意。

一旦你将Android Studio设置为使用Kotlin,就可以非常简单地进行REST调用,而且它与Java的逻辑几乎相同。


下面是一个使用OkHttp进行REST调用的例子 :

的build.gradle

dependencies { //... compile 'com.squareup.okhttp3:okhttp:3.8.1' } 

AndroidManifest.xml中

 <uses-permission android:name="android.permission.INTERNET" /> 

MainActivity.kt

 class MainActivity : AppCompatActivity() { 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()) }) } } 

我在这个版本库中创建了一个更复杂的例子,我使用了Dagger,RxJava,MVP Retrofit。

https://github.com/Evin1-/Kotlin-MVP-Dagger2-RxJava-Retrofit

改造是在Android上使用API​​的好工具。 这里有一个关于如何在Kotlin上使用Retrofit的教程

你可以使用Retrofit或者AsyncTaskAsyncTask例子:

  class getData() : AsyncTask<Void, Void, String>() { override fun doInBackground(vararg params: Void?): String? { } override fun onPreExecute() { super.onPreExecute() } override fun onPostExecute(result: String?) { super.onPostExecute(result) } } 

对于Retrofit检查这个简单的教程