移动开发

Android10.0 锁屏分析——KeyguardPINView PIN锁分析

学习笔记: PIN 解锁流程跟Android10.0 锁屏分析——KeyguardPatternView图案锁分析一样,这里就不过多讲解了。 在这里主要分析下 PIN 键盘的按钮事件。 1. 确认按钮 // KeyguardPinBasedInputView.java @Override protected void onFinishInflate() { // 省略部分

ES6+ 数组方法

1 、concat() 数组、字符串合并。 let a = [1,2,3] let b = [4,5,6] a.concat(b) // [1, 2, 3, 4, 5, 6] let c = 'hello ' let d = 'world' c.concat(d) // 'hello world' 2、 at() 数组、字符串、类数组中添加.at()方法at()支持正索引和负索引,获取其指定位

对象及日期

Date日期 日期对象的定义(使用new关键词) 1、获取当前的时间(本地的时间) var date=new Date()//不传参 获取当前的时间 2、获取指定的时间 var date=new Date(123456)//一个参数毫秒值 将这个毫秒值加上对应的1970.1.1 0:0:0 var date=new Date('2000/1/1 00:00:00')//指定一个字符串 来指定对

iOS Runtime之KVC

Runtime系列导读 iOS Runtime之方法查找 iOS Runtime之方法替换 iOS Runtime之KVO iOS Runtime之KVC iOS Runtime之反射调用 简介 KVC是Key Value Coding的缩写,意思是键值编码。 在iOS中,提供了一种方法通过使用属性的名称(也就是Key)来间接访问对象属性的方法,这个方法可以不通过getter/setter方法

【建议收藏】17个XML布局小技巧

前言 我们开发时接触最多的就是xml布局了,还记得我们写Android的第一个Hello World吗,就是通过activity_main.xml显示出来的。 虽然xml写的很多,而且也没有什么技术难度,但是,这也往往是我们最容易忽略的地方,写xml不难,写出好的xml还是得下点功夫了。 什么算是好的xml布局呢,我认为核心有两点,一个是提升开发效率,另一个是提升app性能。围绕着这两点,我也精心

不可错过的一些 js小技巧

1. 获取指定范围内的随机整数: function getRandom(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; } 2. 打乱数组顺序 let arr:[31,2,3,'排序','😄'] arr = arr.sort(() => 0.5 - Math.random()) // [ 3

swift Equatable

我来了,swift 定义 用于做值类型对比的协议。 适用范围 遵循Equatable的类型都可以使用==或是!=符号对比判断。这个类型包括struct/class/enum 实现原理 任何遵循Equatable的类型,都需要实现方法static func ==(lhs: Self, rhs: Self) -> Bool在这个方法内按照指定的值和值间对比关系返回true或是false,外部

iOS 三种画板实现方式

UIBezierPath,Quartz2D,OpenGLES 1. UIBezierPath 1 UIBezierPath 使用UIBezierPath可以创建基于矢量的路径,此类是Core Graphics框架关于路径的封装。使用此类可以定义简单的形状,如椭圆、矩形或者有多个直线和曲线段组成的形状等。 UIBezierPath是CGPathRef数据类型的封装。如果是基于矢量形状的路

史上最全的 IDEA Debug 调试技巧(超详细案例)

Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。通常我们也可以启用Debug模式来跟踪代码的运行流程去学习三方框架的源码。 所以学习下如何在Intellij IDEA中使用好Debug,主要包括如下内容: Debug开篇 基本用法&快捷键 变量查看 计算表达式 智能步入 断点条件设置 多线程调试 回

DownloadManager 使用

最近做SDK开发,有个简单的下载功能,为了方便及不增加第三方库,遂采用了系统的DownloadManager来处理下载任务。 官网的说明: The download manager is a system service that handles long-running HTTP downloads. Clients may request that a URI be downloaded t