
【Android 网络请求】
文章平均质量分 85
sbsujjbcy
业精于勤,荒于嬉;行成于思,毁于随!
展开
-
Android 各大网络请求库的比较及实战
自己学习android也有一段时间了,在实际开发中,频繁的接触网络请求,而网络请求的方式很多,最常见的那么几个也就那么几个。本篇文章对常见的网络请求库进行一个总结。HttpUrlConnection最开始学android的时候用的网络请求是HttpUrlConnection,当时很多东西还不知道,但是在android 2.2及以下版本中HttpUrlConnection存在着一些bug原创 2015-05-11 09:30:07 · 19747 阅读 · 20 评论 -
Android 基于OkHttp的UI层回调封装
用多了OkHttp你会发现,它的返回结果都是在子线程中的,我们对返回结果进行解析后,必须通过handler去更新UI,这么一来,便会多出很多重复的机械代码。我们需要进行一层封装,在onResponse回调方法中对返回结果进行解析,然后将解析结果发出去到UI线程进行更新UI。因此,我们需要一个解析的方法,原创 2015-10-08 16:09:13 · 17827 阅读 · 10 评论 -
Android 使用OkHttp扩展Volley
我们先来回忆一下Volley的用法,使用Volley前,我们一般会先构造出一个RequestQueue,然后不断往该对象中添加请求Request,之后Volley便会进行调度,至于走缓存还是走网络这就看就没有请求过了。而构造RequestQueue的方法如下。 Volley.newRequestQueue(mContext);而该方法,内部实际上是调用了两个参数的重载方法原创 2015-10-25 21:06:55 · 7576 阅读 · 3 评论 -
Android使用Bmob移动后端云Restful API需要注意的问题
如果你自己想做一个客户端玩玩,但是又不想去搭建后台服务器,显然Bmob移动后端云是你的最佳选择。官方地址见bmob,文档地址见http://www.bmob.cn/docs。他提供了Android的sdk,同样也提供了Restful Api,但是个人建议Restful Api还是不适合直接在客户端使用,毕竟会暴露一下一些key的信息,但是本篇文章就是在android中使用它的restful api,原创 2015-09-24 12:33:36 · 7430 阅读 · 11 评论 -
Android 使用OkHttp支持HttpDNS
首先,需要明确一个概念,什么叫做HttpDNS以及为什么要用HttpDNS。HttpDNS是使用HTTP协议向DNS服务器的80端口进行请求,代替传统的DNS协议向DNS服务器的53端口进行请求。也就是使用Http协议去进行dns解析请求,将服务器返回的解析结果,也就是域名对应的服务器ip获得,直接向该ip发起对应的api服务请求,代替使用域名。那么为什么要使用HttpDNS呢?主要原因有三点原创 2016-01-17 17:36:51 · 18450 阅读 · 9 评论 -
Android开发中无处不在的设计模式——动态代理模式
继续更新设计模式系列,写这个模式的主要原因是最近看到了动态代理的代码。 先来回顾一下前5个模式: - Android开发中无处不在的设计模式——单例模式 - Android开发中无处不在的设计模式——Builder模式 - Android开发中无处不在的设计模式——观察者模式 - Android开发中无处不在的设计模式——原型模式Android开发中无处不在的设计模式——策略模式原创 2016-01-21 11:37:17 · 11318 阅读 · 4 评论 -
Android 扩展OkHttp支持请求优先级调度
在当今这个App泛滥的时代,网络请求几乎是每一个App必不可少的一部分,请求几乎遍布App的每一个界面中。我们进入A界面后,App发起了一系列请求,这时候假如还有一部分请求没有被执行,我们就进入B界面开始新的网络请求,这时候原来A界面的网络请求我们有两个选择:取消A界面的所有未开始执行的网络请求不取消A界面的所有网络请求,但是B界面的请求要优先于A界面的请求执行,B界面的网络请求执行完毕后再去执行原创 2016-01-24 19:52:17 · 6967 阅读 · 3 评论 -
Android 获取当前网速质量调整网络请求
在开发中,有时候常常需要根据用户当前的网速来做一些操作,比如图片的加载,当网速非常好的时候,比如连接的是wifi,我们就会下载高分辨率的图片,反之,当用户使用的是2g网时,我们则给他下载低分辨率的小图,从而节省用户流量。而Facebook其实已经给我们提供了这么一个库,详见network-connection-class。使用其实超级简单,先加入依赖compile 'com.facebook.net原创 2016-02-22 13:22:07 · 16270 阅读 · 5 评论 -
Android OkHttp实现HttpDns的最佳实践(非拦截器)
之前写过一篇文章 Android 使用OkHttp支持HttpDNS,该文章中使用的是OkHttp的拦截器来实现HttpDNS。在请求发出去之前,将URL中的域名替换成ip,再往Header中添加Host。这种方式有以下优点。上层方便控制哪些请求使用了HttpDNS,可以做相应的容灾处理,比如ip请求失败时使用域名进行重试。同样的也有很多缺点。Https场景下ip直连出现的证书校验问题代理场原创 2016-06-20 16:47:23 · 21346 阅读 · 9 评论 -
Android 即时音视频解决方案1——环信
环信将基于移动互联网的即时通讯能力,如单聊、群聊、发语音、发图片、发位置、实时音频、实时视频等,通过云端开放的 Rest API 和客户端 SDK 包的方式提供给开发者和企业。让App内置聊天功能和以前网页中嵌入分享功能一样简单。环信全面支持Android、iOS、Web等多种平台,在流量、电量、长连接、语音、位置、安全等能力做了极致的优化,让移动开发者摆脱繁重的移动IM通讯底层开发,极大限度地缩短产品开发周期,极短原创 2015-09-29 10:39:57 · 7670 阅读 · 15 评论 -
Android IM之基于Openfire+Smack的聊天服务器的搭建与测试
XMPP协议(Extensible Messaging and PresenceProtocol,可扩展消息处理现场协议)是一种基于XML的协议,目的是为了解决及时通信标准而提出来的,最早是在Jabber上实现的。它继承了在XML环境中灵活的发展性。因此,基于XMPP的应用具有超强的可扩展性。并且XML很易穿过防火墙,所以用XMPP构建的应用不易受到防火墙的阻碍。利用XMPP作为通用的传输机制原创 2015-09-26 09:50:08 · 16845 阅读 · 8 评论 -
Android(Java) 模拟登录知乎并抓取用户信息
前不久,看到一篇文章我用爬虫一天时间“偷了”知乎一百万用户,只为证明PHP是世界上最好的语言,该文章中使用的登录方式是直接复制cookie到代码中,这里呢,我不以爬信息为目的。只是简单的介绍使用java来进行模拟登录的基本过程,之前写过的文章android 项目实战——打造超级课程表一键提取课表功能其实就是模拟登录的范畴。再加上最近在知乎上看到很多人问关于超级课程表的实现,其实本质就是模拟登录,掌握原创 2015-08-10 11:49:59 · 11685 阅读 · 2 评论 -
Android OkHttp的Cookie自动化管理
Android中在使用OkHttp这个库的时候,有时候需要持久化Cookie,那么怎么实现呢。OkHttp的内部源码过于复杂,不进行深究,这里只看其中的HttpEngineer里面的部分源码,在发起请求以及请求结束都会调用这个类的几个方法。我们先看networkRequest方法,在里面通过client.getCookieHandler()函数获得了CookieHandler对象,通过该对象拿到co原创 2015-07-15 16:23:36 · 23238 阅读 · 5 评论 -
RoboSpice:android异步网络库简单用法
RoboSpice是一个使你建立异步的长时间的运行任务异常轻松的一个网络库,在网络请求,缓存支持,和提供开箱即用的rest请求方面尤为强大特性如下支持 SDK版本8以上的版本异步执行网络请求(后台服务)支持开箱即用的rest(使用了 Spring Android or Google Http Client or Retrofit).)你的查询使用POJOs 作为参数,你会获得POJOs的请原创 2015-04-16 09:30:04 · 6435 阅读 · 0 评论 -
HttpClient发起POST请求
private String post() { String url="http://1.lzqtest.sinaapp.com/http.php"; HttpPost httpPost = new HttpPost(url); List params = new ArrayList(); params.add(new BasicNameValuePair("name", "张三"原创 2014-07-23 21:49:23 · 1427 阅读 · 0 评论 -
android 项目实战——打造超级课程表一键提取课表功能
如果你是在校大学生,或许你用多了各种课程表,比如课程格子,超级课程表。它们都有一个共同点就是可以一键导入教务处的课程。那么一直都是用户的我们,没有考虑过之间是如何实现的。那么现在就由我来带领大家从程序猿的角度模仿一款”超级课程表“。PS:由于超级课程表是商用软件,原本提取了一些图片,但是为了避免涉及侵权问题,所有图片均已使用一张绿色圆圈代替,背景图片也以颜色代替,缺乏美观,如果你觉得太丑,可以原创 2015-03-01 19:18:52 · 27485 阅读 · 73 评论 -
安卓判断网络状态的几个常用函数
// 判断是否有网络连接 public static boolean isNetworkConnected(Context context) { if (context != null) { ConnectivityManager mConnectivityManager = (ConnectivityManager) context原创 2015-01-02 21:52:56 · 1735 阅读 · 0 评论 -
Android OkHttp文件上传与下载的进度监听扩展
相信大家对OkHttp也是相当的熟悉了,毕竟是Square的东西,对于其种种优点,这里也不再叙说。优秀是优秀,但是毕竟优秀的东西给我们封装了太多,那么问题来了,我们使用OkHttp作为我们的网络层,简单地进行GET/POST请求是毫无问题。近日看了产品的设计稿,毛估估会有文件的上传与下载的需求,如果使用OkHttp作为网络层进行封装,你会惊讶的发现,简直封装的太“完美”了。如果现在有这么一个需求,要求对文件进行上传原创 2015-09-04 09:34:54 · 29612 阅读 · 32 评论 -
Android最佳实践——深入浅出WebSocket协议
WebSocket协议是一种建立在TCP连接基础上的全双工通信的协议。全双工就是指客户端和服务端可以同时进行双向通信,强调同时、双向通信。WebSocket可以应用于即时通信等场景,比如现在直播很火热,直播中的弹幕也可以使用WebSocket去实现。原创 2016-10-17 22:25:54 · 36257 阅读 · 22 评论