区长的专栏

业精于勤,荒于嬉;行成于思,毁于随!

排序:
默认
按更新时间
按访问量

Android最佳实践——深入浅出WebSocket协议

WebSocket协议是一种建立在TCP连接基础上的全双工通信的协议。全双工就是指客户端和服务端可以同时进行双向通信,强调同时、双向通信。WebSocket可以应用于即时通信等场景,比如现在直播很火热,直播中的弹幕也可以使用WebSocket去实现。

2016-10-17 22:25:54

阅读数:26293

评论数:20

Android OkHttp实现HttpDns的最佳实践(非拦截器)

之前写过一篇文章 Android 使用OkHttp支持HttpDNS,该文章中使用的是OkHttp的拦截器来实现HttpDNS。在请求发出去之前,将URL中的域名替换成ip,再往Header中添加Host。这种方式有以下优点。 上层方便控制哪些请求使用了HttpDNS,可以做相应的容灾处理,比如i...

2016-06-20 16:47:23

阅读数:12203

评论数:10

Android 获取当前网速质量调整网络请求

在开发中,有时候常常需要根据用户当前的网速来做一些操作,比如图片的加载,当网速非常好的时候,比如连接的是wifi,我们就会下载高分辨率的图片,反之,当用户使用的是2g网时,我们则给他下载低分辨率的小图,从而节省用户流量。而Facebook其实已经给我们提供了这么一个库,详见network-conn...

2016-02-22 13:22:07

阅读数:8983

评论数:6

Android 扩展OkHttp支持请求优先级调度

在当今这个App泛滥的时代,网络请求几乎是每一个App必不可少的一部分,请求几乎遍布App的每一个界面中。我们进入A界面后,App发起了一系列请求,这时候假如还有一部分请求没有被执行,我们就进入B界面开始新的网络请求,这时候原来A界面的网络请求我们有两个选择: 取消A界面的所有未开始执行的网络请求...

2016-01-24 19:52:17

阅读数:4430

评论数:2

Android开发中无处不在的设计模式——动态代理模式

继续更新设计模式系列,写这个模式的主要原因是最近看到了动态代理的代码。 先来回顾一下前5个模式: - Android开发中无处不在的设计模式——单例模式 - Android开发中无处不在的设计模式——Builder模式 - Android开发中无处不在的设计模式——观察者模式 -...

2016-01-21 11:37:17

阅读数:8953

评论数:4

Android 使用OkHttp支持HttpDNS

首先,需要明确一个概念,什么叫做HttpDNS以及为什么要用HttpDNS。HttpDNS是使用HTTP协议向DNS服务器的80端口进行请求,代替传统的DNS协议向DNS服务器的53端口进行请求。也就是使用Http协议去进行dns解析请求,将服务器返回的解析结果,也就是域名对应的服务器ip获得,直...

2016-01-17 17:36:51

阅读数:13690

评论数:9

Android 使用OkHttp扩展Volley

我们先来回忆一下Volley的用法,使用Volley前,我们一般会先构造出一个RequestQueue,然后不断往该对象中添加请求Request,之后Volley便会进行调度,至于走缓存还是走网络这就看就没有请求过了。而构造RequestQueue的方法如下。 Volley.newRequestQ...

2015-10-25 21:06:55

阅读数:6710

评论数:3

Android 基于OkHttp的UI层回调封装

用多了OkHttp你会发现,它的返回结果都是在子线程中的,我们对返回结果进行解析后,必须通过handler去更新UI,这么一来,便会多出很多重复的机械代码。我们需要进行一层封装,在onResponse回调方法中对返回结果进行解析,然后将解析结果发出去到UI线程进行更新UI。因此,我们需要一个解析的...

2015-10-08 16:09:13

阅读数:15328

评论数:10

Android 即时音视频解决方案1——环信

环信将基于移动互联网的即时通讯能力,如单聊、群聊、发语音、发图片、发位置、实时音频、实时视频等,通过云端开放的 Rest API 和客户端 SDK 包的方式提供给开发者和企业。让App内置聊天功能和以前网页中嵌入分享功能一样简单。环信全面支持Android、iOS、Web等多种平台,在流量、电量、...

2015-09-29 10:39:57

阅读数:6384

评论数:15

Android IM之基于Openfire+Smack的聊天服务器的搭建与测试

XMPP协议(Extensible Messaging and PresenceProtocol,可扩展消息处理现场协议)是一种基于XML的协议,目的是为了解决及时通信标准而提出来的,最早是在Jabber上实现的。它继承了在XML环境中灵活的发展性。因此,基于XMPP的应用具有超强的可扩展性。并且...

2015-09-26 09:50:08

阅读数:11526

评论数:8

Android使用Bmob移动后端云Restful API需要注意的问题

如果你自己想做一个客户端玩玩,但是又不想去搭建后台服务器,显然Bmob移动后端云是你的最佳选择。官方地址见bmob,文档地址见http://www.bmob.cn/docs。他提供了Android的sdk,同样也提供了Restful Api,但是个人建议Restful Api还是不适合直接在客户端...

2015-09-24 12:33:36

阅读数:5915

评论数:11

Android OkHttp文件上传与下载的进度监听扩展

相信大家对OkHttp也是相当的熟悉了,毕竟是Square的东西,对于其种种优点,这里也不再叙说。优秀是优秀,但是毕竟优秀的东西给我们封装了太多,那么问题来了,我们使用OkHttp作为我们的网络层,简单地进行GET/POST请求是毫无问题。近日看了产品的设计稿,毛估估会有文件的上传与下载的需求,如...

2015-09-04 09:34:54

阅读数:24413

评论数:32

Android(Java) 模拟登录知乎并抓取用户信息

前不久,看到一篇文章我用爬虫一天时间“偷了”知乎一百万用户,只为证明PHP是世界上最好的语言,该文章中使用的登录方式是直接复制cookie到代码中,这里呢,我不以爬信息为目的。只是简单的介绍使用java来进行模拟登录的基本过程,之前写过的文章android 项目实战——打造超级课程表一键提取课表功...

2015-08-10 11:49:59

阅读数:9860

评论数:2

Android OkHttp的Cookie自动化管理

Android中在使用OkHttp这个库的时候,有时候需要持久化Cookie,那么怎么实现呢。OkHttp的内部源码过于复杂,不进行深究,这里只看其中的HttpEngineer里面的部分源码,在发起请求以及请求结束都会调用这个类的几个方法。我们先看networkRequest方法,在里面通过cli...

2015-07-15 16:23:36

阅读数:19808

评论数:5

Android 各大网络请求库的比较及实战

自己学习android也有一段时间了,在实际开发中,频繁的接触网络请求,而网络请求的方式很多,最常见的那么几个也就那么几个。本篇文章对常见的网络请求库进行一个总结。HttpUrlConnection最开始学android的时候用的网络请求是HttpUrlConnection,当时很多东西还不知道,...

2015-05-11 09:30:07

阅读数:17596

评论数:21

RoboSpice:android异步网络库简单用法

RoboSpice是一个使你建立异步的长时间的运行任务异常轻松的一个网络库,在网络请求,缓存支持,和提供开箱即用的rest请求方面尤为强大 特性如下 支持 SDK版本8以上的版本 异步执行网络请求(后台服务) 支持开箱即用的rest(使用了 Spring Android or Google Htt...

2015-04-16 09:30:04

阅读数:5759

评论数:0

android 项目实战——打造超级课程表一键提取课表功能

如果你是在校大学生,或许你用多了各种课程表,比如课程格子,超级课程表。它们都有一个共同点就是可以一键导入教务处的课程。那么一直都是用户的我们,没有考虑过之间是如何实现的。那么现在就由我来带领大家从程序猿的角度模仿一款”超级课程表“。 PS:由于超级课程表是商用软件,原本提取了一些图片,但是为了避免...

2015-03-01 19:18:52

阅读数:18925

评论数:71

安卓判断网络状态的几个常用函数

// 判断是否有网络连接 public static boolean isNetworkConnected(Context context) { if (context != null) { ConnectivityManager mConne...

2015-01-02 21:52:56

阅读数:1528

评论数:0

HttpClient发起POST请求

private String post() { String url="http://1.lzqtest.sinaapp.com/http.php"; HttpPost httpPost = new HttpPost(url); List params = new ...

2014-07-23 21:49:23

阅读数:1159

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭