自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (5)
  • 收藏
  • 关注

原创 OKHTTP系列(十一)---自定义拦截器之登录验证再请求拦截器(刷新token再请求)

一、前言在上一篇博文中,我们介绍了怎么自定义拦截器添加公共参数和设置请求头参数,在这里,讲解一下,自定义一个拦截器去验证登陆是否过期,然后做一些相应的操作,流程如下:二、RefreshTokenInterceptor类/** * @author Freak * @date 2019/6/15. */public class RefreshTokenIntercept...

2019-07-13 13:33:11 4014 2

原创 OKHTTP系列(十)---自定义拦截器之添加公共参数拦截器

一、前言在前面,我们在讲拦截器的时候也讲到了拦截器的调用顺序,会优先调用自定义的拦截器,然后才会调用之后的几个拦截器。这里就不多说了,具体的查看博文OKHTTP系列(三)--拦截器Interceptor概述二、自定义拦截器自定义一个拦截器类,实现Interceptor接口,如下所示/** * 添加公共参数 * * @author freak * @date 2019/3/1...

2019-07-13 13:32:57 2067

原创 okhttp系列导航

OKHTTP系列(一)----结构简介OKHTTP系列(二)--请求与响应流程OKHTTP系列(三)--拦截器Interceptor概述OKHTTP系列(四)--拦截器之RetryAndFollowUpInterceptor重定向拦截器OKHTTP系列(五)--拦截器之BridgeInterceptor连接桥拦截器OKHTTP系列(六)--拦截器之CacheIntercept...

2019-07-13 09:57:38 307

原创 webview系列导航

webView系列(一)----相关类介绍webView系列(二)----WebSettingswebView系列(三)----WebViewClientwebView系列(四)----WebChromeClientwebView系列(五)----历史记录webView系列(六)----webview ApiwebView系列(七)----webview加载顺序web...

2019-07-13 09:54:18 805

原创 webView系列(十)----自动登录(刷新token持久化登录)

一、前言在上一篇博文webView系列(九)----登录验证中,我们将到了登录验证,验证token失效后,就会到登陆页面重新登陆,这样用户觉得登陆的比较麻烦,想达到登陆一次,就很久都不需要登陆了,只要一直使用APP就不会,几天不使用都不会退出登录。为达到这样的效果,我们将讲解自动登录。二、自动登录/** * api>=21调用 * @param view * @param...

2019-07-13 09:39:20 3836

原创 webView系列(九)----登录验证

一、前言在上一遍博文webView系列(八)----拼接参数中,我们讲到如何拼接token,拼接token的目的我们也都知道,就是为了识别用户已经登陆了,相当于网页中的cookie(也可以使用cookie,这里就不做介绍),但是虽然是拼接了token了,但是token是有过期时间的,我们怎么才能知道token过期了呢?接下来我们就开始讲解登陆验证。二、登陆验证/** * api&g...

2019-07-13 09:38:58 998

原创 webView系列(八)----拼接参数

一、前言如果项目是进行了三端的开发,而且移动端使用了webview进行混合开发的话,在此时,我们登陆信息就需要拼接到url后面了。如果只是进行一次拼接,那这个很方便,直接在加载url的时候就把登陆信息(token以下都写token)拼接到url里面进行load。但是如果想达到在进入网页的每一个页面都进行token的拼接呢?请继续看下去。二、token拼接@RequiresApi(...

2019-07-13 09:38:36 1885

原创 webView系列(七)----webview加载顺序

一、普通网页加载流程(一开始传入url) WebChromeClient getVisitedHistory WebChromeClient onProgressChanged WebViewClient shouldInterceptRequest(WebView view, final WebResourceRequest request) WebCh...

2019-07-13 09:38:16 1960

原创 webView系列(六)----webview Api

一、加载网页/** * 加载URL指定的网页 * * @param url 访问地址 */@Overridepublic void loadUrl(String url) { super.loadUrl(url);}/** * 携带http headers加载URL指定的网页 * * @param url 访问地址 * @...

2019-07-13 08:13:12 533

原创 webView系列(五)----历史记录

一、概述在每次访问一个网页的时候,webview都会记录访问的地址,保存了一个堆栈中,这就是我们要说的浏览历史记录。网页进行加载时,都会调用doUpdateVisitedHistory(WebView view, String url, boolean isReload)方法去更新历史记录。注意:doUpdateVisitedHistory(WebView view, String url...

2019-07-12 17:15:33 4455

原创 webView系列(四)----WebChromeClient

private WebChromeClient mWebChromeClient = new WebChromeClient() { /** * <video /> 控件在未播放时,会展示为一张海报图,HTML中可通过它的'poster'属性来指定。 * 如果未指定'poster'属性,则通过此方法提供一个默认的海报图。 * * @re...

2019-07-12 17:01:45 516

原创 webView系列(三)----WebViewClient

private WebViewClient mWebViewClient = new WebViewClient() { /** * 通知应用可以将当前的url存储在数据库中,意味着当前的访问url已经生效并被记录在内核当中。 * 此方法在网页加载过程中只会被调用一次。 * 此方法在进行加载url时会更新历史记录 ...

2019-07-12 17:00:49 1888

原创 webView系列(二)----WebSettings

WebSettings settings = mWebView.getSettings();/** * 设置userAgent用户表示,可以给服务器区分是否是移动端访问 */settings.setUserAgentString(settings.getUserAgentString().concat("userAgent"));/** * 根据menuItems标志禁用动作模式菜单...

2019-07-12 17:00:01 1006

原创 webView系列(一)----相关类介绍

WebViewDatabase存储与管理以下几类浏览数据表单自动填充的用户名和密码; HTTP认证的用户名和密码; 曾经输入过的文本;WebViewClient一个web客户端,可自定义实现。WebChromeClient谷歌web客户端。WebViewAndroid的控件,可以在xml中使用,也可以使用动态添加的方式使用。WebStorage该类用于管理...

2019-07-12 16:59:44 1036

原创 OKHTTP系列(九)---http请求头(header)作用

前言在项目开发中,网络请求是必不可少的 ,在http方面的知识学习也是不能拉下的,这里就做一波http请求头的记录。Header:请求头个别参数和描述Header 解释 示例 Accept 指定客户端能够接收的内容类型 Accept: text/plain, text/html,application/json Accept-Charset 浏览器...

2019-07-11 10:03:06 5631

原创 OKHTTP系列(八)--拦截器之CallServerInterceptor请求服务器拦截器

这是链中的最后一个拦截器。 它会对服务器进行网络请求。我们通过ConnectInterceptor已经连接到服务器了,接下来我们就是写入请求数据以及读出返回数据了。整个流程:写入请求头 写入请求体 读取响应头 读取响应体CallServerInterceptor类public final class CallServerInterceptor implements Interc...

2019-07-10 21:06:23 285

原创 OKHTTP系列(七)--拦截器之ConnectInterceptor连接拦截器

一、连接机制连接的创建是在StreamAllocation对象统筹下完成的,我们前面面也说过它早在RetryAndFollowUpInterceptor就被创建了,StreamAllocation对象,主要用来管理两个关键角色:RealConnection:真正建立连接的对象,利用Socket建立连接。 ConnectionPool:连接池,用来管理和复用连接。在这里初始化了一个Str...

2019-07-10 21:06:06 1226

原创 OKHTTP系列(六)--拦截器之CacheInterceptor缓存拦截器

我们知道为了节省流量和提高响应速度,Okhttp是有自己的一套缓存机制的,CacheInterceptor就是用来负责读取缓存以及更新缓存的。一、CacheInterceptor拦截器intercept(Chain chain)方法/** Serves requests from the cache and writes responses to the cache. *///从缓存中...

2019-07-10 17:12:45 901

原创 OKHTTP系列(五)--拦截器之BridgeInterceptor连接桥拦截器

BridgeInterceptor就跟它的名字那样,它是一个连接桥,它负责把用户构造的请求转换为发送给服务器的请求,把服务器返回的响应转换为对用户友好的响应。 转换的过程就是添加一些服务端需要的header信息。一、BridgeInterceptor拦截器源码/** * Bridges from application code to network code. First it bu...

2019-07-09 23:29:03 333

原创 OKHTTP系列(四)--拦截器之RetryAndFollowUpInterceptor重定向拦截器

在介绍RetryAndFollowUpInterceptor拦截器之前,先了解一下重定向是什么!!!一、http协议中的重定向简单了解原理:在 HTTP 协议中,重定向操作由服务器通过发送特殊的响应(即 redirects)而触发。HTTP 协议的重定向响应的状态码为 3xx 。浏览器在接收到重定向响应的时候,会采用该响应提供的新的 URL ,并立即进行加载;大多数情况下,除了会有一小...

2019-07-09 15:23:33 1030

原创 OKHTTP系列(三)--拦截器Interceptor概述

回顾我们先回顾先我们OKHTTP系列(二)--请求与响应流程中的请求的处理:final class RealCall implements Call {Response getResponseWithInterceptorChain() throws IOException { // Build a full stack of interceptors. List&lt...

2019-07-09 15:18:42 638

原创 OKHTTP系列(二)--请求与响应流程

一 、请求与响应流程Okhttp的整个请求与响应的流程就是Dispatcher不断从Request Queue里取出请求(Call),根据是否已经存存缓存,从内存缓存或者服务器获取请求的数据。 请求分为同步和异步两种,同步请求通过 调用Call.exectute()方法直接返回当前请求的Response,异步请求调用Call.enqueue()方法将请求(AsyncCall)添加到请求队列中...

2019-07-08 22:59:29 1003

原创 OKHTTP系列(一)----结构简介

一、简介OkHttp是一个处理网络请求的高性能框架,由Square公司贡献二、请求流程三、Okhttp的子系统层级结构网络配置层:利用Builder模式配置各种参数;例如:超时时间、拦截器等,这些参数都会由Okhttp分发给各个需要的子系统。 重定向层:负责重定向。 Header拼接层:负责把用户构造的请求转换为发送给服务器的请求,把服务器返回的响应转换为对用户友好...

2019-07-08 22:49:57 467

原创 webview设置setOnKeyListener方法,onKey方法执行两次解决方案

一般我们都会这样设置,代码如下:mWebView.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK &am...

2019-07-04 11:57:18 1759

原创 极光推送之#00 pc 000000000006abe4 /system/lib64/libc.so (tgkill+8) [arm64-v8a]错误

在使用极光推送的时候,在cpu架构为arm64-v8a的时候,闪退率100%,刚开始还以为是项目其他的影响了,但是在其他手机上没有问题,就只能一个一个排查,最终确认是极光推送的sdk的so文件有问题。具体问题如图所示:解决方法:只要把极光的sdk版本与libs包下的各种cpu架构的so文件更新为最新版本,这个问题就可以解决。这个问题排查的时间也比较久,就记录一波。...

2019-07-03 14:37:34 6213

SerialPortTool.zip

使用SerialPort串口进行获取数据,压力测试等串口测试工具

2019-08-16

PrintTool.zip

demo有使用sdk打印方式进行打印小票和不是要sdk进行打印的usb打印、wifi打印,还有USB扫码枪和使用AccessibilityService进行无界面扫码获取数据

2019-08-16

小票打印机sdk

小票打印机sdk,可根据供应商id和产品id去支持多种品牌打印机

2018-12-07

标签打印机sdk

标签打印机的jar包,有需要的可以下载,分数都是一分的

2018-12-07

音频播放文件与源码

此资源附带上播放的代码与播放的音频文件,实现了收款语音的播报功能,如果没有资源分数的朋友,可以在我的博客上联系我直接发你,因为这里上传的资源分数最少只能为1,所以就只能是1分了,我能体会到没有分数下载不了的痛苦。哈哈哈

2018-11-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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