自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Samlss的博客

持续分享安卓开发经验

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

原创 SparseArray源码分析

SparseArray源码分析SparseArray(稀疏数组)是什么?类似于map,可以储存key-value键值对,与HashMap不同因为其key只能是整型int而且内部存储结构是数组(最新HashMap存储结构为红黑树+链表+数组);为android的工具类,用于优化HashMap<Integer, V>这种情况。由于其内部使用数组来存储key和value,且数组内容可...

2019-04-28 23:14:27 338

原创 Parse系列之后台搭建与使用

什么是Parse?官网:https://docs.parseplatform.org/Github:https://github.com/parse-communityParse是一个移动后端,最初由提供商Parse Inc开发。该公司于2013年被Facebook收购,并于2017年1月关闭。继2016年宣布即将关闭后,该平台随后开源。 由于托管服务被关闭,Parse Platform...

2019-04-28 11:32:28 1998

原创 JDK 1.8 LinkedHashMap 源码分析

由于其源码并不是很长,直接贴出来:可以看到LinkedHashMap继承自HashMap,同时实现map接口最新JDK 1.8 HashMap的数据结构为数组+链表+红黑树。LinkedHashMap基于HashMap的数据结构,新增了一条双向链表HashMap是无序的,而LinkedHashMap就弥补了该缺点,默认为插入顺序,即最后插入的key-value会加到双向链表的尾部...

2019-04-10 11:40:22 544

原创 JDK 1.8 HashMap 源码分析(二)

空闲时间,根了一下最新HashMap源码,这里记录一下。如有错漏,请指正。get相关函数//根据key获取valuepublic V get(Object key) { Node<K,V> e; return (e = getNode(hash(key), key)) == null ? null : e.value;}//判断是否包含某个keypubli...

2019-04-09 16:21:51 160

原创 JDK 1.8 HashMap 源码分析(一)

空闲时间,根了一下最新HashMap源码,这里记录一下。如有错漏,请指正。构造函数://默认构造函数,默认初始容量为16 ,默认加载因子为0.75public HashMap() { this.loadFactor = DEFAULT_LOAD_FACTOR; }//指定初始容量的构造函数,默认加载因子为0.75public HashMap(int initialCapaci...

2019-04-09 16:21:24 140

原创 Flutter学习之Dart语言基础(内置类型)

Dart支持以下内置类型:numbersstringsbooleanslists (也称为数组)setsmapsrunes (用于在字符串中表示Unicode字符)symbolsNumbersdart中数字有两种变量:int整数值不大于64位,取决于平台。Dart虚拟机中,值可以是-263 到 263 - 1double64位(双精度)浮点数,由IEEE 7...

2019-03-25 16:50:00 1187

原创 Flutter学习之Dart语言基础(构造函数)

最常见的构造函数形式,即生成构造函数,创建一个类的新实例://Dartclass Point { num x, y; //Dart中int和double是num的子类 //this引用当前类对象 Point(num x, num y) { this.x = x; this.y = y; }}使用语法糖的时候可以这样定义:class Point { ...

2019-03-25 12:03:07 1671

原创 Flutter学习之Dart语言基础(关键字)

Flutter日渐火爆,因此在进行Flutter学习前先学习一些其所使用的开发语言dart的基础,这篇文章主要学习了Dart的基础代码示例Dart的概念Dart的关键字Dart的基础代码示例// 定义一个方法。printInteger(int aNumber) { print('The number is $aNumber.'); // Print to console.}...

2019-03-10 01:37:08 2707

原创 Flutter学习之Dart语言注释

Dart支持单行注释, 多行注释和文档注释1.单行注释单行注释以//开头, Dart编译器会忽略//和行尾之间的所有内容say() { // TODO: say something print('Hello dart!'); }2.多行注释多行注释以 /* 开头,以 / 结尾, Dart编译器忽略 / 和 */ 之间的所有内容(除非注释是文档注释), 多行注释可以...

2019-02-19 14:35:32 2629

原创 Android 自定义View之3D骰子旋转

DiceLoadingView一个骰子3D旋转loading view你可以指定立方体中每一面骰子的点数,颜色和背景,同时也可以指定执行的动画时间和动画插值器更多有趣的view使用在根目录的build.gradle添加这一句代码:allprojects { repositories { //... maven { url 'https:/...

2018-12-28 10:27:55 1117 1

原创 Android view的预加载占位效果

在预加载时显示view的占位符效果截图默认效果:自定义动画效果:在RecyclerView使用钉钉考勤依赖Gradle将其添加到你的module的build.gradle中:dependencies { implementation 'me.samlss:broccoli:1.0.0'}Maven&amp;lt;dependency&amp;gt; ...

2018-12-17 10:25:45 4153 1

原创 Android 显示view的粒子爆炸/绽放效果

文章目录照例先上图这个库做了什么?功能形状圆形矩形星型什么是形状分发器?关于自定义形状分发器和形状自定义分发器自定义形状效果器功能点描述锚点速度缩放倾斜旋转加速度淡出监听器照例先上图这个库做了什么?它可以以粒子的形式显示任何view的粒子动画效果,你可以下载来查看效果功能支持任何view可灵活配置粒子大小和形状可灵活配置粒子动画形状在该库中,支持三种粒子形状圆形矩...

2018-12-14 23:18:38 622 2

原创 Android弹窗式菜单,支持多行可滚动的子菜单

效果图先呈上功能支持多行可滚动的子菜单菜单显示和消失动画Header和Footer菜单item的出场动画和点击动画需要使用Builder来构建菜单对象,以下是一个使用示例:TimoMenu timoMenu = new TimoMenu.Builder() .setGravity(Gravity.BOTTOM) .setMenuBackgr...

2018-11-06 15:36:29 292

原创 Android 一个调用方便的高亮引导库

Github地址支持使用:安卓原生布局(例如RelativeLayout, FragmentLayout)RecyclerView &amp;amp;amp;amp;amp; ListView &amp;amp;amp;amp;amp; GridView &amp;amp;amp;amp;amp; ScrollViewViewPagerDialogFragment功能:可一次显示单个或多个高亮的view描绘高亮view时可设置自定义画笔

2018-10-31 17:54:21 892

原创 Android 自定义View之下雨动画

文章目录效果思路画云画雨点优化效果思路画云画雨点优化

2018-10-12 11:30:43 1151 2

原创 Android 自定义View之咖啡杯动画

文章目录效果画杯子画杯垫画烟雾效果大概思路自定义view,直接继承view复写onSizeChanged()方法,在此计算杯垫,杯子,烟雾效果的path在onDraw()方法中,描绘杯垫,杯子处理烟雾动画效果画杯子这里需要画两部分内容,第一部分是杯子,第二部分是杯耳(提手的地方)我们可以使用addRoundRect来描绘圆角矩形,并且可指定每个圆角的半径即圆角的程度/*...

2018-10-10 15:40:36 634

原创 Android 自定义View之烧瓶loading动画

文章目录我们首先看下效果画瓶子画水位画水泡优化我们首先看下效果画瓶子首先,创建一个自定义view,我们知道,在view的大小发生改变后,会回调接口 /** * This is called during layout when the size of this view has changed. If * you were just added to the vie...

2018-10-09 19:27:22 1156

原创 Linux Nginx + RTMP 服务器环境搭建

配置测试服务器配置阿里云服务器Ubuntu 16.04 64位1 vCPU 2 GB1Mbps使用XShell连接服务器Nginx下载下载地址 :http://nginx.org/download/服务器下载Nginx:wget http://nginx.org/download/nginx-1.15.3.tar.gz下载完成后解压:tar xvf nginx-1.1...

2018-09-26 10:41:35 837

原创 Android 手写动画框架

我们先来看看效果图: 根据ScrollView或者HorizontalScrollView中的滑动距离而设置对应的子view的动画效果。

2018-08-05 17:11:18 437

原创 Android 关于XmlResourceParser

我们先看看XmlResourceParser 类:/** * The XML parsing interface returned for an XML resource. This is a standard * XmlPullParser interface, as well as an extended AttributeSet interface and * an additi...

2018-08-01 17:25:15 3124 1

原创 Android 撇弃图片bitmap,手写一些有趣的View

将手写一系列有趣的LoadingView,会持续更新。 如果你有有趣的想法,可以联系我,一起研究。ChargingView: A simple charging viewPacmanLoadingView: A pacman loading viewPinBallLoadingView: A pin ball loading viewPeasLoadi...

2018-07-24 18:00:59 902 2

原创 Android 自定义View系列之贝塞尔曲线+QQ未读消息拖拽效果实现+水波浪充电效果

贝塞尔曲线定义线性公式二次方公式三次方公式公式说明理解贝塞尔曲线定义贝塞尔曲线(Bézier curve),又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线。一般的矢量图形软件通过它来精确画出曲线,贝兹曲线由线段与节点组成,节点是可拖动的支点,线段像可伸缩的皮筋,我们在绘图工具上看到的钢笔工具就是来做这种矢量曲线的。贝塞尔曲线是计算机图形学中相当重要的...

2018-07-04 16:20:18 1426 2

原创 Android 自定义View系列之PathMeasure+Loading效果+小车跑道移动效果

PathMeasure详解源码分析函数PathMeasure详解源码分析要理解一件事物,我们要观其外,也要观其内,因此我们这里先看看PathMeasure的源码,先知其然,PathMeasure源码的内容不多,只有一百多行,因此这里将其贴了出来:package android.graphics;public class PathMeasure { ...

2018-07-01 19:46:44 1389

原创 Android Paint系列基础+着色器渲染器(实现霓虹灯文字+实现圆形头像+放大镜+倒影+雷达扫描效果)

11

2018-06-26 23:57:44 1284

原创 Android Paint系列之Xfermode + 刮刮卡效果实现

Xfermode我们现在针对源码来分析一波:paint.setXfermode(Xfermode xfermode); 接口里面主要为赋值操作,会将xfermode安装到paint中,设置或者清除传输模式对象(即xfermode),传输模式定义源像素(通过绘图命令生成)如何与目标像素(渲染目标的内容)进行合成,若设置为null,则会清除任何先前的传输模式。 为了方便,传递的...

2018-06-25 19:14:56 735

原创 Android模仿今日头条搜索页

手闲,模拟今日头条写了个搜索页基本功能1.显示推荐词栏top:绑定推荐词top数据,使用RecyclerView显示;2.显示历史记录:绑定历史记录数据,使用RecyclerView显示;3.显示推荐词栏bottom:绑定推荐词bottom数据,使用RecyclerView显示;4.删除历史纪录;5.隐藏和现实推荐词栏;示例1:显示推荐词栏top+历史纪录(不显示全部)...

2018-06-23 10:48:13 2253

原创 Android 加密算法归纳

专业术语(摘自百度百科)密钥:分为加密密钥和解密密钥。 明文:没有进行加密,能够直接代表原文含义的信息。 密文:经过加密处理处理之后,隐藏原文含义的信息。 加密:将明文转换成密文的实施过程。 解密:将密文转换成明文的实施过程。基本简介密码是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。依照这些法则,变明文为密文,称为加密变换;变密文为明文,称为脱密变换。密码在早期...

2018-06-23 10:46:43 787

原创 Android密钥库系统KeyStore

1.什么是密钥库系统?利用 Android 密钥库系统,您可以在容器中存储加密密钥,从而提高从设备中提取密钥的难度。在密钥进入密钥库后,可以将它们用于加密操作,而密钥材料仍不可导出。此外,它提供了密钥使用的时间和方式限制措施,例如要求进行用户身份验证才能使用密钥,或者限制为只能在某些加密模式中使用。密钥库系统并不是让程序直接进行存储程序的私密信息的,比如说用户账号密码,其提供了一个密钥安全...

2018-06-23 10:43:45 8021 5

原创 Android Paint系列之滤镜效果

图像结构我们首先了解一下图像的构成,例如一张PNG图片: 图片文件头由位固定的字节来描述的,以便向外说明这个文件是一个PNG文件。十进制数137 80 78 71 13 10 26 10十六进制数89 50 4E 47 0D 0A 1A 0A用UE打开一个PNG文件的内容为: 可以看到都为十六进制的数据,我们不知道这些数据是什么,假定第一行的数据是这个PNG的标志,第...

2018-06-23 10:38:43 1000

原创 Android版本问题记录:Android 8.0下异常Only fullscreen opaque activities can request orientation

在Android8.0环境下,如果一个Activity在Manifest中设置了方向(横,竖屏),即android:screenOrientation=”landscape”/”portrait”,并且指定的android:theme中使用的style带有透明属性&lt;item name="android:windowIsTranslucent"&gt;true&lt;/item&gt;...

2018-06-24 14:18:38 1596

空空如也

空空如也

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

TA关注的人

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