位置: 编程技术 - 正文

Android 网络框架 android-async-http(android网络框架okhttp)

编辑:rootadmin

推荐整理分享Android 网络框架 android-async-http(android网络框架okhttp),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android常用网络框架,android常用网络框架,android 网络框架封装,android网络框架okhttp,android网络框架okhttp,android 网络框架 Net,android 网络框架封装,android网络框架,内容如对您有帮助,希望把文章链接给更多的朋友!

转载请注明出处:明桑Android

这是Android网络框架系列的最后一篇了~~, 文章主要介绍第三方库 android-async-http的使用,之后作为Android网络框架系列的完结,对在开发中如何学习和使用第三方框架做个总结!

1,Android Asynchronous Http Client简介

android-async-http是封装了HttpClient的顶层实现,它所发起的Request全部运行于不同于UI线程的其它线程中,但它回调的处理逻辑和使用Handler发送message处理的回调逻辑一样,你也可以将它运行在Service线程或者background线程中。

特点:

异步HTTP请求,匿名回调响应函数在其他线程而非UI线程中发送RequestRequests使用线程池管理限制并发资源可以自定义GET/POST参数多种文件上传方式JSON数据的上传Request重试机制解析多种数据格式支持持久化存储Cookie支持SAX解析支持多种内容和语言编码格式,不仅仅是UTF-8

更多特性android-async-http

2,Android-async-http的使用跟所有第三方库的使用一样,我们需要将其添加进我们的项目:可以直接下载最新.jar包( android-async-http.jar),也可以从github中将其clone到本地:android-async-http 如果是直接下载的.jar包,将其添加至项目libs文件夹下,并右键jar包,选择将其Add As Library:如果是clone的项目,你还是需要将其编译成jar包,然后根据第1步操作添加进项目:以下是编译过程: 首先进入你clone的android-async-http目录下,然后在命令行执行如下命令

2.android-async-http的基本用法: 我们首选需要创建一个AsyncHttpClient实例,然后用它发起Request

推荐用法:创建 static Http Client;

跟Volley框架一样,我们应该单独创建一个类,将我能需要的代码初始化,以便于全局持有某些对象。在这里将我们所需要的封装在一个static Client类中,可以根据自己的需求具体编写自定义Client类,具体的使用参考API: AsyncHttpClient, RequestParams and AsyncHttpResponseHandler

3.Cookie的存储:通过使用PersistentCookieStore,它实现了HttpClient中CookieStore接口,自动将Cookie存储到本地SharedPerferences中,常用来存储用户登录信息等。

4.为Request添加GET/POST参数:需要用到RequestParams类, 创建方法有以下几种:

5.通过RequestParams上传文件:上面我们知道了如何试着RequestParams,那么怎么才能上传一个文件呢,可以通过以下三种方式:

通过输入流上传:

“passwords.txt”);

Android 网络框架 android-async-http(android网络框架okhttp)

通过文件对象上传:

通过字节数组上传:

6.下载二进制文件:通过FileAsyncHttpResponseHandler类可以下载图片等二进制文件

那我们如何发送其他类型的例如Json请求呢,其实观察可以发现只需要:new JsonHttpResponseHandler(){..}

7.HTTP身份验证Request:webservice中常需要进行身份验证,可通过以下两种方式实现:

以上即android-async-http 框架的基本用法,不写具体的Demo了,更多内容参见官网提供的API:android-sync-http API

总结:

Android网络框架的学习就告一段落了,主要介绍了Volley、Picasso、android-sync-http三种框架的使用,希望能对正在学习Android网络编程部分的同学有所帮助。

在使用中,我们需要根据自己的需求和各个框架的特点选择自己所需的框架,初期我们掌握基本的使用就可以了,很多时候我们应该去试着研究它们的源码,这样才能在以后的开发中运用自如。

其实几篇文章下来,我们可以发现开发中使用第三方框架基本上无非以下几步:

根据自己的需求去github等网站寻求目前比较流行的框架;熟悉你所选定框架的特点和使用场景以及缺陷。将对应jar包引入项目。根据官方示例掌握基本用法。多做练习,熟悉使用场景。研究源码,改写框架以适应自己的需求。

接下来准备写篇实战的文章,灵活运用以上所学框架我们实现一个简单APP,有兴趣的关注微博或公众号,随时更新~~

参考资料:

Android Asynchronous Http Client

微博: @明桑Android黑历史邮箱: <@.com>个人主页: 明桑战胜Android汪的黑历史

微信公众号: ITBird

Android eclipse for mac redo 快捷键 Androideclipseformacredo快捷键ShiftCommandZ:Redoctrlz的反向快捷键redo是Undoctrlz的反向快捷键Undo在windows里的eclipse操作是ctrlzRedo在windows里的eclipse操作是ctrlyRedoCtrlYI

Android中的三种菜单 Android的菜单分为三种类型:选项菜单(OptionMenu)、上下文菜单(ContextMenu)、子菜单(SubMenu)一.OptionsMenu当用户单击设备上的菜单按钮(Menu),触发事件弹出

TextWatcher实现一键清空EditText 布局文件main.xml:?xmlversion=1.0encoding=utf-8?LinearLayoutxmlns:android=

标签: android网络框架okhttp

本文链接地址:https://www.jiuchutong.com/biancheng/384326.html 转载请保留说明!

上一篇:cocos2d-x 3.5 入门(三)(cocos2dx 4.0)

下一篇:Android eclipse for mac redo 快捷键

  • 税种核定在电子版怎么查
  • 我国流转税的税种有哪些
  • 出口货物丢失起诉谁
  • 金税四期对个人所得税的影响
  • 工程款按进度付款开票分录
  • 外包和离岸外包一样吗
  • 金蝶KIS专业版报表操作数非数值
  • 支付给个人的佣金怎么做账务处理
  • 长期借款业务的思维导图
  • 电梯安装费支付方式
  • 汇算清缴之后报销去年的票如何分录?
  • 固定资产累计折旧借贷方向
  • 公司股东可以自己买保险吗
  • 买车押金合同要注意什么手续
  • 土地使用权如何办理
  • 自营建造固定资产的账务处理
  • 增值税普通发票和普通发票的区别怎么交税
  • 仓储行业税率是多少
  • 在PDF里怎么将A4缩小转换为一半打印出来
  • 企业自产自用需要交增值税吗
  • 免税的和不免税的可以开在一张发票上吗
  • 火车票飞机票计入什么费用
  • 实际利率法怎么理解
  • 资管公司如何缴纳流转税?
  • 家政公司可以开专票吗
  • 利润表中财务费用可以为负数吗
  • 公司税务风险怎么解决
  • 组织员工出游注意事项
  • 企业亏损可以不缴纳公积金吗
  • word要打印保存在哪个类型
  • 公司收到款后怎么做账
  • 小规模纳税人补缴企业所得税分录
  • 内账怎么处理增值税
  • PHP:imageellipse()的用法_GD库图像处理函数
  • yii框架连接数据库
  • 520要来了要吵架的赶紧
  • 最强大的人工智能武器
  • php接收post
  • 个人所得税大病医疗夫妻双方怎么扣除
  • c++ abort函数
  • 学电脑哪个网站比较好
  • SQLite优化方法
  • mssql使用教程
  • 小规模纳税人工资薪金怎么申报
  • 小微企业所得税税率
  • 预付款已经开了发票要怎么做账
  • 办理注销税务登记的流程和资料
  • 普通发票的开具是?
  • 预付在建工程款的会计分录
  • 分支机构可不可以不建账合并到总机构?
  • 债务人对债权人享有
  • 车辆转让怎么开票
  • sql添加后返回主键
  • WIN10开始菜单点击鼠标右键没反应的处理方法
  • ubuntu系统升级命令
  • hprof-conv.exe
  • mac电脑文件夹怎么重命名
  • ftp 550错误
  • win8激活失败
  • 无线网络连接上但上不了网
  • win7系统IE浏览器打开跳转到360浏览器,怎么阻止
  • win8桌面键盘
  • sessmgr.exe - sessmgr是什么进程 有什么用
  • win7穿越火线一进去就蓝屏
  • win8.1卸载软件在哪里
  • windows7打不了字怎么办
  • win7系统引导坏了怎么修复
  • cocos2dx shader
  • opengl多窗口绘图
  • sed 处理多行
  • Python scikit-learn 做线性回归的示例代码
  • Android:wpa_supplicant决定选择哪种驱动
  • 利用js脚本模拟鼠标点击事件
  • python的字符
  • java script教程
  • 有哪些推荐阅读的书
  • 出口退税期限最长几个月以上
  • 第一次去税务局领发票
  • 商铺缴纳契税需要复印件吗
  • 上海纳税总额
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设