热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在Kotlin中发出API请求?

如何解决《如何在Kotlin中发出API请求?》经验,为你挑选了2个好方法。

我对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检查这个要命教程


推荐阅读
author-avatar
liutiancinet
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有