【发布时间】:2016-11-29 22:22:05
【问题描述】:
如何在 Clojure Android 项目中发出 HTTP 请求?
-
clj-http和http-kit似乎都不适合 Android -
this question 中的方法给出了
android.os.NetworkOnMainThreadException
尝试根据here 给出的答案解决Exception 有各种问题。首选解决方案(使用AsyncTask)需要子类化,我不完全清楚如何编写这样做的Clojure 代码。尝试更改 StrictMode 设置会导致与命名空间相关的错误。最后,使用 (.start (Thread. (fn [] ...))) 启动一个新线程来处理 Web 请求会导致应用程序在测试中完全崩溃。
那么,再说一遍:如何在使用 Clojure Android 编写的 Android 应用程序中发出 HTTP 请求?
【问题讨论】:
-
你可以尝试使用retrofit,据说在android上工作得很好。这是一个简单的例子:github.com/bamboo/clojure-retrofit-spike
-
@leetwinski - 没有骰子,看起来像:/ 仅仅
importing[retrofit.http GET Path]导致项目在设备上崩溃。