在看android基础的时候,关于网络操作一般都会介绍HttpClient以及HttpConnection这两个包。前者是apache的开源库,后者是android自带的api。既然提到了他们,都二者进行一个比较,谷歌在官方文档已经说明了,建议在2.3以及以上版本使用HttpConnection。具体原因呢,是因为对2.1和2.2版本,HttpURLConnection有那么几个Bug,所以建议用Apache的HTTP Client;之后的版本,建议用HttpURLConnection。Apache的HTTP Client比较强大,拥有庞大而灵活的API,这个实现很稳定,并且Bug很少。然而,也就是因为太庞大了,以至于很难在保证兼容性的情况下改进它,故android 开发团队不应该维护该库而是转投更为轻量级的httpurlconnection。

当我们开发企业级应用的时候,一般都会选择使用已经封装好的http框架。开源的比较流行的有:

1、volley
2、android-async-http
3、retrofit
4、okhttp
5、androidquery
6、AndroidAsync

等。他们各有优劣,不同的框架有不同的效率,在使用的时候可以因地制宜地测试,根据效果来选择使用哪个,之前个人则比较喜欢用android-async-http,。如今Google推出了官方的针对Android平台上的网络通信库volley,能使网络通信更快,更简单,更健壮,Volley在提供了高性能网络通讯功能的同时,对网络图片加载也提供了良好的支持,完全可以满足简单REST客户端的需求, 我们没有理由不跟上时代的潮流。另外,但volley的扩展性很强,可以根据需要定制你自己的网络请求。所以,最后推荐还是使用volley进行开发,当然其他几个库也是非常具有学习以及参考意义的,可以将他们的精髓之处汲取到volley框架的拓展开发之中,做出自己理想的http通讯框架。
推荐博客:
http://instructure.github.io/blog/2013/12/09/volley-vs-retrofit/

http://blog.csdn.net/t12x3456/article/details/9221611

http://blog.csdn.net/guolin_blog/article/details/12452307

Android 网络开发框架的选择相关推荐

  1. Android之---项目开发中网络框架的选择

    项目开发中网络框架的选择 Android常用的网路框架: 大多数应用程序基本都需要连接网络,发送一些数据给服务端,或者从服务端获取一些数据.通常在 Android 中进行网络连接一般使用 Scoket ...

  2. 【Android】Android网络编程概述

    Android网络编程概述 原文来自:http://blog.csdn.net/kieven2008/article/details/8210737 首先,应该了解的几个问题: 1)Android平台 ...

  3. ym—— Android网络框架Volley(终极篇)

    转载请注明本文出自Cym的博客(http://blog.csdn.net/cym492224103).谢谢支持! 没看使用过Volley的同学能够,先看看 Android网络框架Volley(体验篇) ...

  4. Android -- 网络请求

    一. HttpURLConnection 二. HttpClient 三.Volley 四.OkHttp 五. Retrofit ----------------------------------- ...

  5. Android网络库的比较:OkHTTP,Retrofit和Volley [关闭]

    本文翻译自:Comparison of Android networking libraries: OkHTTP, Retrofit, and Volley [closed] Two-part que ...

  6. android游戏开发框架libgdx环境搭建

    原文链接: android游戏开发框架libgdx的使用(一)--环境搭建 Libgdx是一款支持2D与3D游戏开发的游戏类库,兼容大多数微机平台(标准JavaSE实现,能运行在Mac.Linux.W ...

  7. Android 网络属性详解

    在实际开发中,我们可能会遇到需要判断当前Android设备的网络等方面的需求,这里所说的网络是指WiFi和手机移动网络,也就是指手机的上网方式.最近有空,就来总结有关Android网络方面的.废话不多 ...

  8. Android网络数据JSON解析使用总结

    一.JSON基础知识 (一)什么是json JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于Java ...

  9. Android网络编程基础(第一弹)

    Java 原生API进行网络请求 先了解底层,才能更好地上手Android网络请求框架. 一.android使用Java原生API进行网络请求的步骤 声明网络权限 <uses-permissio ...

最新文章

  1. CSS实现 全屏 遮罩
  2. c语言计算坐标三角形面积公式,c语言计算三角形面积代码
  3. 坚持跑步与读书,方不辜负此生
  4. 当阳一中2021高考成绩查询,宜昌2021高考最高分多少分,宜昌历年高考状元资料
  5. orchard mysql_如何在Orchard CMS 1.3.10中使用MySQL数据库?
  6. MySQL笔记-死锁原理与分析及InnoDB中如何减少死锁
  7. 二叉树的相关操作(c语言)
  8. zz android touch panel
  9. MDM监控预警设计方案
  10. VC调用3dmax自动化对象
  11. 最好用的jpg转pdf软件
  12. 转:Provisioning profile XXXX can't be found
  13. 基于jira的缺陷自动化报表分析 (四)按人员统计缺陷情况
  14. 一篇 CVPR 2022顶会论文是如何炼成的,顶会一作亲述
  15. java面试题(无序版)
  16. java 调用打印机
  17. 12306订票助手java_GitHub - zhilongxia/12306-hunter: 开源免费Java Swing C/S版本12306订票助手...
  18. 计算机二级excal试题,2016年计算机二级excel题库及答案
  19. ksweb如何安装php5.6_KSWEB在手机上搭建php+mysql环境
  20. 部队计算机操作使用教案,操作计算机教案

热门文章

  1. input type属性为file时(type=file),上传一次然后做更新input的change事件
  2. 网站性能优化小结和spring整合redis
  3. 阅读SSM项目之scm【第一篇】
  4. 简单易操作的跨浏览器JavaScript单元测试解决方案
  5. WebSocket的实现原理?为什么可以实现持久连接?
  6. Apache Maven --- [标准目录布局]
  7. Redis基础笔记 (二)
  8. 查看perl的模块版本
  9. 利用HTML5 LocalStorage实现跨页面通信channel
  10. Centos7快速部署CloudStack服务器