小嵩的博客

小嵩的博客

排序:
默认
按更新时间
按访问量

Android-PickerView系列之源码解析篇(二)

前言   WheelView想必大家或多或少都有一定了解, 它是一款3D滚轮控件,效果类似IOS 上面的UIpickerview 。按照国际惯例,先放一张效果图:   以上是Android-PickerView 的demo演示图,它有时间选择和选项选择,并支持一二三级联动,支持自定义样式。...

2017-03-02 12:40:47

阅读数:9807

评论数:22

Android-PickerView系列之介绍与使用篇(一)

声明:本文为博主原创文章,转载请注明出处:小嵩的博客 一、介绍 Android-PickerView是一款仿iOS的PickerView控件,并封装了时间选择和选项选择这两种选择器,详细特性如下: WheelView —— 基础控件 带有3D圆弧效果。 支持文字、颜色、大小设置...

2017-02-27 15:27:41

阅读数:33091

评论数:29

Android 线程池ThreadPoolExecutor详解

前言 多线程并发是我们在开发中经常遇到的问题,提及线程池,首先我们得了解线程的相关知识。关于线程的详情介绍本文就不提及了,有不太清楚的朋友可以自行查找相关资料,下面简要概述一下进程和线程的概念,为后续内容(线程池)做铺垫。 进程: 每个app运行时前首先创建一个进程,该进程是由Zygot...

2018-02-23 18:08:52

阅读数:335

评论数:0

ViewDragHelper (三)- 打造仿陌陌视频播放页(深入篇)

本篇为该系列的第三篇,将通过一个实际的业务需求来讲述ViewDragHelper的实际运用。目录ViewDragHelper 的介绍以及初步使用请阅读这篇: ViewDragHelper (一)- 介绍及简单用例(入门篇) ViewDragHelper 的源码以及Callback的详情介绍请阅...

2017-11-07 21:01:41

阅读数:906

评论数:1

ViewDragHelper(二)- 源码及原理解读(进阶篇)

声明:本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 本篇为该系列的第二篇,侧重讲解ViewDragHelper 的实现原理和源码逻辑,以及它所提供的Callback。 目录 ViewDragHelper 的介绍以及初步使用请阅读这篇: ViewDragHelper...

2017-10-10 21:02:13

阅读数:1127

评论数:0

ViewDragHelper (一)- 介绍及简单用例(入门篇)

随着入Android这个坑的时间越来越长,愈加觉得深入掌握原理以及技术输出的重要性,会使用轮子和造一个好轮子还是有天壤之别的。授人以鱼不如授人以渔,将一些经验分享出来,希望能够让更多的人更加深入地理解它,并帮助到有需要的朋友。本系列分为三篇,会由浅至深地对DrageHelper 进行详细讲解。本篇...

2017-09-20 21:33:34

阅读数:1854

评论数:6

Tinker原理深入理解(二)

原理及介绍 现阶段,Android热补丁技术大致分为以下两个流派: Native:代表有阿里的Dexposed、AndFix与腾讯的内部方案KKFix; Java:代表有Qzone的超级补丁、大众点评的nuwa、美团的robust、百度金融的rocooFix, 饿了么的amigo。 Na...

2017-07-01 17:34:31

阅读数:2191

评论数:0

Kotlin 系列 - 基本介绍(一)

前言  开始接触Kotlin是在今年年初的时候,发现 Android 业内开源大神 Jake Wharton 在推荐使用它。当时想着,事情绝对没有那么简单。果然,Google IO 2017 上宣布了 Kotlin 会成为 Android First class开发语言。最近一两个月时间里 ,...

2017-07-01 15:27:33

阅读数:473

评论数:0

Dalvik与ART的介绍及区别(一)

Android Runtime(缩写为ART),在2013年作为Android 4.4系统中的一项测试功能正式对外发布,Android 5.0开始作为正式的运行时库取代了以往的Dalvik虚拟机。ART能够把应用程序的字节码转换为机器码,是Android所使用的一种新的虚拟机。而ART采用Ahea...

2017-06-23 11:39:21

阅读数:578

评论数:0

微信热更新Tinker 使用及爬坑(一)

热修复(HotFix)是以补丁的方式动态修复紧急Bug,不再需要重新发布App,不需要用户重新下载覆盖安装的方式来实现代码的替换修改。这里就不多啰嗦了,可以自行搜索网上的介绍。目前主流HotFix方案对比...

2017-06-22 20:34:22

阅读数:1638

评论数:0

Android O (8.0) 新特性介绍

Android O 功能和 API(文章内容均来Google开发者官网,有需要可自行翻墙查看更多资料)Android O 为用户和开发者引入多种新功能。本文重点介绍面向开发者的新功能。请务必查阅 Android O 行为变更以了解平台变更可能影响您的应用的领域。通知在 Android O 中,我们...

2017-06-15 16:35:45

阅读数:11066

评论数:5

Android4.2系统辅助功能打开时,加载WebView导致空指针异常解决记录

最近负责APP错误统计分析,修复线上一些BUG,有一个这样的问题,日志如下:java.lang.NullPointerException at android.webkit.AccessibilityInjector$TextToSpeechWrapper$1.onInit(Accessi...

2017-06-01 10:37:20

阅读数:1133

评论数:0

仿美团炫酷动画效果的A-Z字母排序侧边库

EasySideBar一款按字母排序的库,已封装好城市数据,可定制化强,也可以下载源代码用Module的形式引入自己改一改来使用,也可稍做改造定制成通讯录。手指触摸选中的屏幕区域,A-Z字母会有偏移动画,防止手指遮挡住字母,很大程度上提升了交互和用户体验度。觉得还不错的话欢迎Star ~使用步骤:...

2017-04-26 09:44:27

阅读数:2510

评论数:2

Android实用的优惠券控件

前言最近需要做一个优惠券功能,于是找了找,发现网上大多数优惠券控件的都是直接利用Paint绘制一个白色的新图层然后叠加上去,但是这样处理的话,当背景不是纯白色的时候,就会暴露出如下图问题:对于有点强迫症的人来说,看着怎么都有点难受。好吧,俗话说自己动手丰衣足食,咱就自己动手弄个更加完善的出来。完整...

2017-04-25 10:01:16

阅读数:1946

评论数:0

一个demo让你彻底搞懂观察者模式

介绍观察者模式也被称为发布-订阅(Publish/Subscribe)模式,它属于行为型模式的一种。观察者模式定义了一种一对多的依赖关系,一个主题对象可被多个观察者对象同时监听。当这个主题对象状态变化时,会通知所有观察者对象并作出相应处理逻辑。UML观察者模式定义了四种角色:抽象主题、具体主题、抽...

2017-04-06 11:53:18

阅读数:646

评论数:0

Android 5.0新特性

注:本文是从谷歌官网翻译过来的,放这里便于查阅和消化理解,更多详细知识点请自备梯子访问官网~ API 级别:21 代号L Android 5.0 除了提供诸多新特性和功能外,还对系统和 API 行为做出了各种变更。本文重点介绍您应该了解并在开发应用时加以考虑的一些主要变更。 如果您之...

2017-04-01 15:40:57

阅读数:587

评论数:0

Android 6.0新特性

注:本文是从谷歌官网翻译过来的,放这里便于查阅和消化理解,更多详细知识点请自备梯子访问官网~ Android 6.0 (M) 为用户和应用开发者提供了新功能。本文旨在介绍其中最值得关注的 API。 着手开发 要着手开发 Android 6.0 应用,您必须先获得 Android SDK,然后使...

2017-04-01 15:35:50

阅读数:842

评论数:0

Android 7.0 新特性

Android 7.0 Nougat 为用户和开发者引入多种新功能。本文重点介绍面向开发者的新功能,多窗口支持,直接启动,支持VR等诸多新特性。

2017-04-01 15:20:22

阅读数:1539

评论数:0

公共技术点之依赖注入

前言最近没啥工作任务,看资料学习中。这是我看到的最简洁明了的一篇关于依赖注入的文章,扔物线大神写的,分享一下。不得不赞,逻辑清晰,文字简洁,以后写文章可以学习一下他的写法和表达思路。《公共技术点之依赖注入》 —— 分析者:扔物线,校对者:Trinea 依赖如果在 Class A 中,有 Cl...

2017-03-28 17:59:28

阅读数:264

评论数:0

设计模式—浅析三种工厂模式的特点

前言  简单工厂模式,工厂方法模式和抽象工厂模式都是属于创建型设计模式,并且这三种创建型模式都不需要知道具体类,我们需要掌握的是一种思想,就是在创建一个对象时,需要把容易发生变化的地方给封装起来,来控制变化(哪里变化,封装哪里),以适应客户的变动,项目的扩展。   但究竟这三种设计模式有什么异同...

2017-03-06 22:01:15

阅读数:486

评论数:0

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