自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

VincentChan的博客

路漫漫其修远兮,吾将上下而求索。

  • 博客(21)
  • 收藏
  • 关注

原创 html5 上传压缩文件类型限制解决方案

需求场景:利用input 上传文件,限制文件类型为zip,或者rar压缩包类型。①尝试通过accept限制,发现除了zip和rar文件,excel,doc等文件也能选择。②于是,解决方案是通过对文件名的判断,增加一层过滤,代码如下html代码:au-upload(@change="changeCompress",accept="application/x-zip-compressed,applic...

2018-02-27 16:41:03 11327 2

转载 Css样式覆盖

有时候在写CSS的过程中,某些限制总是不起作用,这就涉及了CSS样式覆盖的问题,如下 Css代码  #navigator {      height: 100%;      width: 200;      position: absolute;      left: 0;      border: solid 2 #EEE;  

2018-01-01 16:34:52 535

原创 js使用return在forEach中跳出循环无效

一次项目中使用forEach进行遍历,达到某一条件,希望跳出循环,代码不继续执行。this.itemTableData.forEach(function(item, index){ if (item.taskValue == 100) { return }经查询资料,得知forEach遍历并不能被终止,会被继续执行。因此要达到所需效果,可以

2017-12-19 09:59:19 4163

原创 ES6箭头函数this指向问题

最近在web项目中遇到许多在函数内部在使用this的地方,都先经过转化绑定:let that=this.如:let that = this;dataJs.query(params).then(_ => { that.goBack();});但记得箭头函数内部this指向的上下文应该是函数定义时候的上下文对象。于是翻阅资料:证实,箭头函数内部并没有绑定

2017-11-21 13:47:38 877

转载 block,inline和inlinke-block区别

总体概念block和inline这两个概念是简略的说法,完整确切的说应该是 block-level elements (块级元素) 和 inline elements (内联元素)。block元素通常被现实为独立的一块,会单独换一行;inline元素则前后不会产生换行,一系列inline元素都在一行内显示,直到该行排满。大体来说HTML元素各有其自身的布局级别(block元素还是i

2017-11-01 10:47:28 249

转载 使用Nginx实现反向代理

一、代理服务器 1、什么是代理服务器 代理服务器,客户机在发送请求时,不会直接发送给目的主机,而是先发送给代理服务器,代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中,再发送给客户机。  2、为什么要使用代理服务器 1)提高访问速度 由于目标主机返回的数据会存放在代理服务器的硬盘中,因此下一次客户再访问相同的站点数据时,会直接从代

2017-10-23 11:10:43 278

转载 nvm和nodejs安装使用(转)

前言安裝 Node.js(以下直接以node稱呼)有很多種方式。不過由於node更新非常快速,開發過程很有可能會有切換node版本的需求,因此強烈建議不要使用MAC上常用的 Homebrew 安裝node,而是使用 nvm ( Node Version Manager )這個tool來安裝並管理node。不過我們還是需要用Homebrew來管理nvm,所以推薦的安裝流程如下:使用H

2017-09-27 14:00:42 209

原创 使用charles抓包工具模拟网络状况,限制网络速度

在app开发的过程中,有时候需要模拟网络请求缓慢的情况来测试一些边界情况,使用charles就可以很好地达到这个效果。如图所示①打开proxy setting,设置下载速度或者其他可选值。②打开网络请求节流控制开关即可。

2017-09-11 15:09:59 3445

翻译 官方文档-理解ConstraintLayout表现上的好处

总结:①支持控件拖拽进行约束布局,简单方便。②ConstraintLayout主要通过减少布局嵌套的层级,来降低视图布局过程中带来的性能损耗。允许你构建负责的布局而不用嵌套View和ViewGroup元素。Understanding the performance benefits of ConstraintLayout24 August 2017

2017-09-11 09:59:11 610

原创 使用charles对app请求进行抓包,请求断点,修改请求与返回的数据,重新发送请求

在App开发与后台联调过程中,经常会遇到后台数据返回不全,请求参数需要修改,请求需要重发等情况。如果每次都在app端修改,或者自己造数据,会增加工作量,而且每次要重新运行app,浪费时间。因此,经过研究,可以使用抓包工具charles,对app进行抓包,请求断点,修改请求与返回的数据,重新发送请求。简单的抓包流程与charels设置这里不做过多介绍,这里举例子使用的是charles4.

2017-09-08 13:43:43 26670 2

原创 AndroidWebView设置缓存方式

1.WebView缓存方式种类:①LOAD_DEFAULT:默认设置,当有缓存而且没有过期使用缓存,否则使用网络数据。②LOAD_CACHE_ELSE_NETWORK:只要有缓存就使用缓存,即使已经过期,否则使用网络数据。③LOAD_NO_CACHE:不适用缓存,只加载网络数据。④LOAD_CACHE_ONLY:不使用网络,只使用缓存数据。

2017-09-07 11:39:51 5051

原创 Android调用系统相机onActivityResult返回参数data为null

一般调用系统相机的代码:filePath = ImageUtil.getCacheFilePath(this, StaticValue.PHOTO_PROTOCOL_ENTRUST);File file = new File(filePath);Intent intentFromCapture = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

2017-09-07 11:03:22 4518 1

原创 使用ButterKnife方法,点击事件响应里面,执行performClick失效,不能再同一帧响应多个点击事件

最近在项目中使用butterKnife绑定点击事件,在一个控件点击中,执行另外一个控件的点击事件,然后发现失效。查看butterknife生成的源码,发现butterknife的OnClickListener外层被包裹了一层,目的在于防止同一帧被多次点击。解决办法:①可以延迟执行控件的performClick②使用系统的的绑定事件方法

2017-09-06 15:45:06 2512 3

转载 Android中js与本地方法进行相互调用

最近项目中用到HTML5,app和Html5的交互,就是webview和js的交互,当然如果是纯网页的话,直接就用webview加载下就好了。在这里说到的是app和HTML的混合开发:webview 首先要支持js [html] view plain copy  print?webView.getSetting

2017-09-06 10:06:18 856

原创 Android 限制EditText输入小数点后面位数

遇到一需求,要限制EditText小数点输入位数,最后经过查阅资料,实现方法如下:①xml中限制输入的类型:android:inputType="numberDecimal"②重写InputFilterpublic class DecimalDigitsInputFilter implements InputFilter { private final i

2017-09-04 17:14:01 4443 2

原创 使用Charels对Android模拟器上的app进行抓包

平时使用Charels进行抓包都是使用真机的,在连接wifi的时候直接设置电脑代理和端口号8888即可。后来想对Android模拟器上的app也进行抓包,发现,Android模拟器上的Android系统设置没有wifi选项。经过摸索,可使用一下方法设置代理。①找到系统设置,点击更多。②点击移动网络:③点击接入点名称,进去编辑,设置电脑代理与端口号8888

2017-09-04 10:12:01 2800

转载 Android Parcelable和Serializable的区别

1、作用Serializable的作用是为了保存对象的属性到本地文件、数据库、网络流、rmi以方便数据传输,当然这种传输可以是程序内的也可以是两个程序间的。而Android的Parcelable的设计初衷是因为Serializable效率过慢,为了在程序内不同组件间以及不同android程序间(AIDL)高效的传输数据而设计,这些数据仅在内存中存在,Parcelable是通过IBinder

2017-08-22 15:46:11 358

原创 PopupWindow 真正 点击返回键,空白区域取消,返回键取消

控制PopupWindow 是否能取消需要同时设置setOutsideTouchable和setFocusable方法,如下:private void setCancelableInternal(boolean isCancelable) {if (isCancelable) {mPopupWindow.setOutsideTouchable(true);//点击空白键取消

2017-08-22 15:40:40 618

转载 热修复框架-Tinker接入常见问题

参考资料:https://github.com/Tencent/tinker/wiki/Tinker-常见问题Tinker编译相关问题?编译过程相关的issue请先查看是否是以下情况:无法打开sample工程: 请使用单独的IDE窗口打开tinker-sample-android工程;tinkerId is not set: 这是因为没有正确的配置IDE的git路径, 若不

2017-04-01 15:45:22 2946

原创 Android View的22500行源码分析系列(一)setFlag 方法,setVisibilty,setFoucus,setEnable等方法内部实现

一直想系统地学习Android源码,最近又计划写一个自定义控件系列的博客,而在自定义控件的过程中,许多技巧和方法需要你在Android View,ViewGroup的源码中得到灵感。因此,这一个View的22500行源码分析系列就诞生了,本系列基于api23的View的源码,主要是对源码的注解作一些翻译和简单的总结,目的是让大家了解整个View的工作流程,一些主要方法实现里面的细节问题。说时迟

2016-10-25 14:46:44 1670

原创 SurfaceView打造自定义时钟ClockView

从事Android开发也一段时间了,一直有做云笔记的习惯,但是博客不怎么写。最近给自己定了个计划,坚持每周至少写三个自定义控件,所谓熟能生巧呀。作为第一篇写的博客,给大家带来用SurfaceView打造的自定义时钟。PS:最近看见洋神的一篇推送,有人写了这个,自己看着效果图就写了哈哈,至少效果感觉还阔以O(∩_∩)O先看下这炫酷的效果哈哈(时钟上的很线是录制的原因,效果是没有那根线的,

2016-10-13 10:36:31 1031

空空如也

空空如也

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

TA关注的人

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