I am extremely new to Kotlin and APIs in general and can't find the syntax to create an API request using this language. I am creating a mobile version of a website so I'm using Android Studio to create a new UI for an already established backend. What are the steps and syntax to creating a request? Any help is deeply appreciated.

推荐答案

一旦有set your Android Studio to use Kotlin,睡觉调用就非常简单,这与使用JAVA时的逻辑基本相同.


以下是睡觉呼叫OkHttp%的示例:

build.gradle

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

AndroidManifest.xml

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

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())
        })
    }
}

以下是其他库的一些更复杂的示例:

Kotlin相关问答推荐

在没有外部 map 的情况下转换列表项

判断字符串是否除了.&" ",","@""""

将文本与文本字段的内容对齐

是什么让 Kotlin 中的 String 类能够使用方括号?

如何为你的 Flutter 元素添加 Kotlin 支持?

JobIntentService 被销毁,当应用程序被销毁时

无法删除部分子项.这可能是因为进程打开了文件或将其工作目录设置在目标目录中

Kotlin 类的调用方法

将 Android Studio 升级到 3.1.0 后的 Android Support 插件错误

Mockito 的 argThat 在 Kotlin 中返回 null

在用Kotlin编写的Android库公共API中处理R8+JvmStatic Annotation+Lambda

是否在Kotlin中重写enum toString()?

在 gradle android library kotlin 项目中禁用 META-INF/* 生成

kotlin 委托有什么用?

保存对象时未填充 Spring Boot JPA@CreatedDate @LastModifiedDate

Kotlin,什么时候按map授权?

Kotlin中默认导入哪些包/函数?

从 Kotlin 访问 Integer.class

具有多个 parameter的 Kotlin 枚举

类型推断失败:RecyclerViewActions.scrollTo()