- 博客(20)
- 资源 (12)
- 问答 (1)
- 收藏
- 关注
原创 Android:Volley框架分析(十)—— Cache的运转步骤
在上一节,Cache的主要方法分析完后,我们就看看Volley是如何使用Cache的。1、开启Cache选项request.setShouldCache(true);2、添加Request到队列,Volley先判断是否使用缓存,使用就添加到缓存队列,不使用就添加到工作队列(RequestQueue.class) public <T> Request<T&...
2019-12-30 10:19:07 254
原创 Android:Volley框架分析(九)—— Cache
目前只要是涉及到网络的框架,基本都要考虑缓存问题,在符合要求的情况下,实现快速响应并且减少网络交互。Volley同样也有一套自己的缓存策略,这一节就来讲讲Volley的缓存实现。因涉及到HTTP的缓存知识,这里只做简单描述,不做重点解释。Volley会把每个请求的信息,存储到本地文件中,文件名是根据url进行运算得到的,所以相同的url会得到相同的文件名。然后配合服务器返回的HTTP缓存信息,...
2019-12-30 10:07:22 235
原创 Android:Volley框架分析(八)—— ImageRequest
这节我们来看Request的另一个子类ImageReqeust,这个类是用来请求图像资源的。先看看使用方法。(图片实际尺寸1920*1080)构造函数: public ImageRequest(String url, Listener<Bitmap> listener, int maxWidth, int maxHeight, ScaleType scaleType, ...
2019-12-25 14:47:50 323 2
原创 Android:Volley框架分析(七)—— Request、StringRequest、JSONRequest
目录RequestStringRequestJsonRequest终于讲到使用Volley过程中,我们直接面对最频繁的一个对象了,那就是Request(请求),你的任何一次请求接口,都要创建一个Request并添加到请求队列中,我们在前端通过Listener回调去接收返回结果。com.android.volley.Request是一个抽象类,我们从这里开始。Request...
2019-12-25 14:41:46 577
原创 Android:Volley框架分析(六)—— 重试机制(RetryPolicy)
当请求超时,Volley内部会启动重试机制,对超时接口进行多次请求,直到超过此数后,抛出错误信息。先看看,重试请求是在哪里发出来的。回到BasicNetwork的performRequest方法,看代码后半部分的几个catch捕获,其中有几个地方会发出重试的动作。catch (SocketTimeoutException var12) { attemptRetryOnExcep...
2019-12-24 14:57:48 897
原创 Android:Volley框架分析(五)—— ByteArrayPool
上一节我们讲了请求发出去的整个过程,在BasicNetwork中,我们发现了一个属性。private static int DEFAULT_POOL_SIZE;protected final ByteArrayPool mPool;DEFAULT_POOL_SIZE = 4096;这个ByteArrayPool是做什么的,看名字是一个字节数组的池子,就好像线程池、连接池一样,大...
2019-12-23 13:56:41 388
原创 Android:Volley框架分析(四)—— BasicNetwork和HurlStack
在前面的文章中,我们提到过,在NetworkDispatcher中传入了BasicNetwork实例,BasicNetwork中又存在HurlStack对象,他们就是负责真正向网络发起请求的部分。Android:Volley框架分析(三)—— Dispatcher中提到了下面的代码,由BasicNetwork对象发起请求。NetworkResponse e = this.mNetw...
2019-12-23 13:56:34 226
原创 Android:Volley框架分析(三)—— Dispatcher
在Android:Volley框架分析(二)——请求队列中我们讲到队列任务开始后,就会将工作交给Dispatcher,这一节我们来看看Dispatcher是如何工作的。在Queue的start方法中,有两个Dispatcher。一个缓存分发(这里先不做介绍),一个工作队列分发NetworkDispatcher。mDispatchers:这是一个数组,Volley内部用来执行请求也是放到线程...
2019-12-19 16:20:44 234
原创 Android:Volley框架分析(二)——请求队列
在Android:Volley框架分析(一)——请求准备并发出的操作步骤中,我们了解了一个请求发出去的步骤,这一节我们就来看看请求队列的事。requestQueue.add(request);通过上面的代码,一个请求就被加入到Volley的请求队列,请求将被逐个执行。先来看看请求队列的内部的几个属性。mCurrentRequests:当前这个队列里面所有的请求集合(包括等待中的和...
2019-12-19 16:20:38 637
原创 Android:Volley框架分析(一)——请求准备及发出的操作步骤
Volley是一个较早出现的网络请求框架,虽然现在已经不在得到官方的维护,但其中的思想还是值得探究一下,直接入题,看看Volley的使用步骤。记得加上网络权限。<uses-permission android:name="android.permission.INTERNET"/>一、创建请求队列。二、创建一个请求三、将请求添加到队列就这样,一个请求就可以执行...
2019-12-19 16:20:23 300
原创 微信公众号开发(十)——扫描带参数二维码事件
我们通过微信扫码二维码已经是十分频繁的操作了,为了满足用户渠道推广分析和用户帐号绑定等场景的需要,微信公众平台提供了创建带参数二维码的接口,通过产生的ticket,去获取二维码图片。当用户扫描这个二维码时,公众平台就会向你设置的接口推送扫描消息。二维码分为临时二维码和永久二维码,介绍可以参考官方文档。https://developers.weixin.qq.com/doc/offiacco...
2019-12-17 16:32:29 7312
原创 微信公众号开发(九)——用户消息接收
目录文本消息图像消息语音消息视频及小视频消息接收到的数据信息如下,小视频唯一区别就是MsgType=shortvideo地理位置当任何一个微信用户,打开你的公众号,通过键盘输入文字、选择图片等信息发送时,你设置的接口,就会收到对方的信息。这个信息结构大致和被动回复(前面讲的点击菜单回复)类似。文本消息<xml> <ToUse...
2019-12-12 11:16:14 1572
原创 微信公众号开发(八)——关注与取消关注
<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[FromUser]]></FromUserName> <CreateTime>123456789</CreateTime> ...
2019-12-12 10:27:31 1667
原创 微信公众号开发(六)——点击菜单回复音乐
<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>12345678</CreateTime>...
2019-12-11 15:11:35 554
原创 微信公众号开发(七)——点击菜单回复图文消息
<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>12345678</CreateTime> &...
2019-12-11 15:10:13 3017 3
原创 微信公众号开发(五)——点击菜单回复视频
回复数据格式如下:<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>12345678</CreateT...
2019-12-11 15:09:50 671
原创 微信公众号开发(四)——点击菜单回复图片和语音
先讲回复图片,语音类似。这个发送图片,并不是点击输入框右侧的“➕”,去选择本地照片,而是要把图片上传的公众号的服务器。按照开发文档https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Passive_user_reply_message.html,被动回复图片消息格式如下:<xml> ...
2019-12-11 15:09:40 3674 3
原创 微信公众号开发(三)——点击菜单回复文本
在测试账号申请时,我们还记得填写过一个URL进行Token验证,那么你和公众号的交互,也将通过此即可进行。这篇文章将讲解如何点击底部菜单,返回文字信息。官方文档https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Passive_user_reply_message.html<xml> ...
2019-12-11 15:09:30 5233
原创 微信公众号开发(二)——创建菜单
官方文档https://developers.weixin.qq.com/doc/offiaccount/Custom_Menus/Creating_Custom-Defined_Menu.html公众号的菜单,是通过微信提供的记录,以POST方式,将JSON串通过BODY提交给服务器处理的,接口如下:https://api.weixin.qq.com/cgi-bin/menu/cre...
2019-12-11 15:09:17 1736
原创 微信公众号开发(一)——测试账号申请
从这篇文章开始,将陆续介绍微信公众号的开发过程,使用测试账号,代码不进行封装,便于大家浏览理解。在没有正式账号的时候,为了方便开发人员开发调试,微信提供了测试账号,供开发人员在开发阶段使用。如图申请了正是账号,这些操作是可以在微信公众号平台进行操作的。打开申请地址http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/lo...
2019-12-11 15:09:05 3692
Android stodio的编译速度太慢,这个有没有提高的途径
2016-08-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人