【问题标题】:http request with Fuel使用 Fuel 的 http 请求
【发布时间】:2019-03-31 08:57:24
【问题描述】:

我正在尝试使用 Android kotlin 中的 Fuel 库进行 HTTP 请求,并且我想同步请求。但我无法使用以下代码获取数据。有谁知道为什么?还是 Fuel 库没有同步功能?

val hoge = "https://xxxxx.com/id/1".httpGet().response()
println(String(hoge.third.component1()))

【问题讨论】:

标签: android kotlin


【解决方案1】:

Fuel 可以同步方式执行请求。您的代码非常好,对我有用。 确保您的服务器工作正常,如果您使用的是安卓系统,请确保您已向AndroidManifest.xml 添加了必要的权限。

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

除此之外,您的代码还可以改进。请注意,Request 类的 response() 方法将获得 ByteArray。如果你需要字符串,你应该使用:

"https://xxxxx.com/id/1".httpGet().responseString()
println(hoge.third.component1())

最新版本的 Fuel 库允许您使用 kotlin 协程以更好的方式完成它。您可以将您的函数标记为挂起并调用awaitString()。线程将被阻塞,直到您得到响应。

"https://xxxxx.com/id/1".httpGet().awaitString()
println(hoge)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-05
    • 2018-11-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-30
    • 2011-12-04
    • 2016-08-06
    相关资源
    最近更新 更多