【发布时间】:2015-08-01 21:11:34
【问题描述】:
考虑一个客户端-服务器应用程序,作为一个 Android 应用程序的客户端。众所周知,每次我们想要从服务器访问/下载信息时,都必须经过一些必要的/宗教性的步骤。
假设我们想使用 openweathermap.org API 来检索过去 7 天的天气信息。从客户端 (Android) 的角度来看,有必要:
- 使用 HttpURLConnection 类以及其他类(OutputStreamWriter、BufferedReader 等)编写一个可以从通用 url 下载信息的函数。
- 通过 URI 构建器正确构造 URL 对象,并指定 RequestMethod (GET/POST) 以及设置 RequestProperty 等其他事项。
- 通过详尽的 try-catch-finally 块正确管理错误。
- 解析下载的数据,可以是 XML 或 JSON(或其他)。
有时还有更多的事情要做,这使得从服务器获取可用信息的过程很痛苦。
我想知道是否存在任何库可以为我们处理这个问题,可能是通过具有多个构造函数的简单方法,这些构造函数将从单独的线程或其他东西中调用。
我听说过 www.spring.io,但它似乎是一个巨大的项目,感觉就像用大锤敲碎坚果一样。
【问题讨论】:
-
请求站外资源被认为是 Stack Overflow 的题外话。话虽如此,欢迎您访问the Android Arsenal,那里有许多值得您考虑的库。
-
Spring 主要用于服务器应用程序。你会想专门看看 Spring Android。
-
我有一个(不完整的)库列表:hgoebl.github.io/DavidWebb/#background
-
谢谢大家。哦,CommonsWare,顺便说一句,我在您的书中找到了一个章节,您在其中讨论了这个主题(OkHttp,Retrofit,...)。太好了!
标签: java android rest networking httpurlconnection