【问题标题】:Default http client alternatives and optimization [closed]默认http客户端替代方案和优化[关闭]
【发布时间】:2015-02-11 12:28:36
【问题描述】:

我目前使用默认的 http 客户端向我的 php 脚本发送 httpget 调用,该脚本从 mysql 服务器接收数据,因此还有 json 解析等工作。

  1. 我使用上述 ..etc 将更多项目加载到列表视图中。我应该在每次通话后关闭我的 http 客户端还是让它保持打开状态?
  2. 是否有更优化的替代方案,我查找了改造和凌空但我不确定。
  3. 有没有其他方法可以优化整个操作?

【问题讨论】:

    标签: php android json listview http-get


    【解决方案1】:

    您可以使用AQuery。试一试。它非常易于使用,对我来说效果很好。

    用法如下:

    Aquery aq = new AQuery(context);
    aq.ajax(...);
    

    【讨论】:

    • 一定会尝试的!谢谢
    【解决方案2】:

    我推荐Retrofit,我已在多个项目中使用它来发出 HTTP 请求。如果你愿意,你也可以使用Volley。还有许多其他选项可用。

    我的观点是,大多数时候库(如 Retrofit)比自己编写要好得多。这是因为他们花费了无数时间来开发它,并且很可能是该领域的专家。如果你想要一些定制的东西,那就继续吧,但在这种情况下,我会使用图书馆。您不必担心诸如关闭 HTTP 客户端之类的事情。您还可以编写更少的代码,减少可能引入的错误到您的代码库中。

    使用 Retrofit,您可以创建一个接口,定义您希望调用的所有端点。您还可以创建POJO 来保存返回的数据。你调用 Retrofit 的生成方法,它会发出请求,解析 JSON 并用数据填充你的 POJO。然后,您可以将这些对象输入到您的列表视图中。


    进一步阅读

    1. 官方Retrofit guide 了解如何在您的项目中实施它。
    2. Jake Wharton's blog post about Retrofit 在 Square 的工程博客上
    3. Another tutorial on Retrofit

    【讨论】:

    • 谢谢你的回答,像教程这样的小帮助会很好。
    • 我已经编辑了我的答案以包含更多教程 - 享受吧!
    • 愿查克诺里斯与你同在;)谢谢!
    猜你喜欢
    • 2017-01-08
    • 2023-04-08
    • 2010-11-12
    • 1970-01-01
    • 2010-12-06
    • 1970-01-01
    • 2019-05-23
    • 1970-01-01
    • 2012-02-22
    相关资源
    最近更新 更多