自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

黄杰的博客

欢迎访问我的个人博客站点:www.huangjie.name

  • 博客(27)
  • 资源 (1)
  • 收藏
  • 关注

原创 安卓自定义漏斗-FunnelView

简介最近项目需要绘制一批图表控件,于是使用了MPChatAndroid框架,但是里面没有漏斗图,网上也没有合适的漏斗图。于是,只能自己造轮子咯。已开源至github:FunnelView,感兴趣的可以fork,star效果直接放图:效果图片默认效果自定义描述文字自定义宽度伸缩策略使用Step1在你的root build.gradle中添加:...

2019-02-25 16:33:53 306

原创 玩转Class之Class的各种骚操作(反射封装必看)

简介Class类表示正在运行的Java应用程序中的类和接口,枚举和基本数据类型,我们可以从中获取到类的一切相关信息,包括字段,方法,名称,父类,接口等常用方法介绍名称获取此类方法用于获取类的名称信息getName()方法如果是一个实体类,则会返回完整包名路径名称,例如位于com.hj.testclass包下的student类,则会返回com.hj.testclass.student...

2019-01-11 15:18:54 437

原创 Android性能优化-图片篇

(1)drawable目录详解(mdpi,hdpi,xhdpi,xxhdpi,xxxhdpi)1.1、图片在各个目录中要如何存放?(必须理解)android的drawable目录有:drawable-ldpi(低密度)drawable-mdpi(中等密度)drawable-hdpi(高密度)drawable-xhdpi(超高密度)drawable-xxhdpi(超超高密度)dra...

2019-01-11 15:18:05 343

原创 Android/java 多线程(六)-AsyncTask使用详解及源码分析

多线程系列历史文章:Android/java 多线程(一)-Thread的使用以及源码分析Android/java 多线程(二)-Thread的好兄弟HandlerAndroid/java 多线程(三)-HandlerThread的使用场景及源码解析Android/java多线程(四)-IntentServiceAndroid/java 多线程(五)-ThreadPoolExecutor...

2018-12-29 17:37:17 282

原创 Android/java 多线程(五)-ThreadPoolExecutor线程池的使用

多线程系列历史文章:Android/java 多线程(一)-Thread的使用以及源码分析Android/java 多线程(二)-Thread的好兄弟HandlerAndroid/java 多线程(三)-HandlerThread的使用场景及源码解析Android/java多线程(四)-IntentService前面几篇文章主要都是介绍的单个线程的运用以及原理,这篇文章开始讲解多个线程...

2018-12-25 14:18:52 431

原创 Android/java多线程(四)-IntentService

往期文章:Android/java 多线程(一)-Thread的使用以及源码分析Android/java 多线程(二)-Thread的好兄弟HandlerAndroid/java 多线程(三)-HandlerThread的使用场景及源码解析简介一个方便的能在子线程中运行的服务,一个IntentService对应一个线程,由于是四大组件,优先级比线程高,不易被系统回收,处理完任务还能主动回...

2018-12-25 14:17:32 205

原创 Android/java多线程(三)-HandlerThread的使用场景及源码解析

HandlerThread是什么?点开类楸一眼,这货是这样介绍自己的: * Handy class for starting a new thread that has a looper. The looper can then be * used to create handler classes. Note that start() must still be called.大意是...

2018-12-21 11:59:47 274 1

原创 Android/java 多线程(二)-Thread的好兄弟Handler

上一篇带大家了解了Thread的使用以及基本的运行原理,这一篇就带大家了解下Thread的好兄弟HandlerAndroid/java 多线程(一)-Thread的使用以及源码分析简介Handler机制在安卓中应用非常广泛,像我们常见的用于在子线程中更新UI:public class MainActivity extends AppCompatActivity { @Supp...

2018-12-20 23:22:06 246

原创 Android/java 多线程(一)-Thread的使用以及源码分析

线程的概念以及状态在学习线程之前,我们需要普及一个概念,每一个程序运行都会有一个父进程,我们的线程就是在此父进程中运行,拿Android来说,默认情况下,启动一个程序,所有的组件程序都运行在同一个进程中,并且会创建一个执行线程在该进程中,俗称"主线程",当我们在该线程中做了耗时的操作造成了程序卡顿,我们就叫“线程阻塞”了,此时就应该另起一个线程来执行耗时操作。要了解线程中方法的使用,就得先了解...

2018-12-20 23:21:22 228

原创 Android 自定义键盘,数字键盘随机

最近重构了下自定义键盘项目,现EasyKeyboard v1.4已发布,欢迎star项目介绍EasyKeyBoardViewEasyKeyBoardView旨在帮助开发者快速实现一个自定义键盘,无需实现键盘内部的输入逻辑,只需关注键盘的布局和输入后的功能实现即可功能介绍:该库是基于安卓原生键盘API实现,只需提供布局文件即可快速实现一个自定义键盘,内部已封装好键盘的输入逻辑,并提供...

2018-12-19 11:13:16 443

原创 学习objectbox数据库,看这个就够了

数据库简介objectbox数据库是greenrobot团队开发的全新非关系型数据库框架,该团队还开发过greenDao,EventBus等热门框架,可谓实力雄厚。按照官方介绍,该库有如下特点:

2018-01-19 13:40:19 1798 5

原创 一看就懂的自定义顶部粘性下拉控件TouchPullView全面剖析

文章首发于我的个人博客:www.huangjie.name,欢迎关注!共同学习,共同进步

2017-12-20 14:55:04 833 3

转载 给初学者的 RxJava2.0 教程 (九)

先来回顾一下上上节,我们讲Flowable的时候,说它采用了响应式拉的方式,我们还举了个叶问打小日本的例子,再来回顾一下吧,我们说把上游看成小日本, 把下游当作叶问, 当调用Subscription.request(1)时, 叶问就说我要打一个! 然后小日本就拿出一个鬼子给叶问, 让他打, 等叶问打死这个鬼子之后, 再次调用request(10), 叶问就又说我要打十个! 然后小日本又派出十个鬼子给

2017-06-03 19:30:05 438

转载 给初学者的 RxJava2.0 教程 (八)

前言在上一节中, 我们学习了FLowable的一些基本知识, 同时也挖了许多坑, 这一节就让我们来填坑吧.正题在上一节中最后我们有个例子, 当上游一次性发送128个事件的时候是没有任何问题的, 一旦超过128就会抛出MissingBackpressureException异常, 提示你上游发太多事件了, 下游处理不过来, 那么怎么去解决呢?我们先来思考一下, 发送128个事件没有问题是因为FLowa

2017-06-03 19:07:15 597

转载 给初学者的RxJava2.0教程(七)

前言上一节里我们学习了只使用Observable如何去解决上下游流速不均衡的问题, 之所以学习这个是因为Observable还是有很多它使用的场景, 有些朋友自从听说了Flowable之后就觉得Flowable能解决任何问题, 甚至有抛弃Observable这种想法, 这是万万不可的, 它们都有各自的优势和不足.在这一节里我们先来学习如何使用Flowable, 它东西比较多, 也比较繁琐, 解释起来

2017-06-03 19:00:38 560

转载 给初学者的RxJava2.0教程(六)

前言在上一节中, 我们找到了上下游流速不均衡从而导致BackPressureException出现的源头 , 在这一节里我们将学习如何去治理它 . 可能很多看过其他人写的文章的朋友都会觉得只有Flowable才能解决 , 所以大家对这个Flowable都抱有很大的期许 , 其实呐 , 你们毕竟图样图森破 , 今天我们先抛开Flowable, 仅仅依靠我们自己的双手和智慧 , 来看看我们如何去治理 ,

2017-06-03 18:55:16 394

转载 给初学者的RxJava2.0教程(五)

前言大家喜闻乐见的Backpressure来啦.这一节中我们将来学习Backpressure. 我看好多吃瓜群众早已坐不住了, 别急, 我们先来回顾一下上一节讲的Zip.正题上一节中我们说到Zip可以将多个上游发送的事件组合起来发送给下游, 那大家有没有想过一个问题, 如果其中一个水管A发送事件特别快, 而另一个水管B 发送事件特别慢, 那就可能出现这种情况, 发得快的水管A 已经发送了1000个事

2017-06-03 18:48:58 889

转载 给初学者的 RxJava2.0 教程 (四)

前言在上一节中, 我们提到了Flowable 和Backpressure背压, 本来这一节的确是想讲这两个东西的,可是写到一半感觉还是差点火候,感觉时机未到, 因此,这里先来做个准备工作, 先带大家学习zip这个操作符, 这个操作符也是比较牛逼的东西了, 涉及到的东西也比较多, 主要是一些细节上的东西太多, 通过学习这个操作符,可以为我们下一节的Backpressure 做个铺垫.正题照惯例我们还是

2017-06-03 18:42:25 449

转载 给初学者的RxJava2.0教程(三)

前言上一节讲解了线程调度, 并且举了两个实际中的例子, 其中有一个登录的例子, 不知大家有没有想过这么一个问题, 如果是一个新用户, 必须先注册, 等注册成功之后再自动登录该怎么做呢.很明显, 这是一个嵌套的网络请求, 首先需要去请求注册, 待注册成功回调了再去请求登录的接口.我们当然可以想当然的写成这样: private void login() { api.login(ne

2017-06-03 18:34:31 357

转载 给初学者的RxJava2.0教程(二)

前言上一节教程讲解了最基本的RxJava2的使用, 在本节中, 我们将学习RxJava强大的线程控制.正题还是以之前的例子, 两根水管:正常情况下, 上游和下游是工作在同一个线程中的, 也就是说上游在哪个线程发事件, 下游就在哪个线程接收事件.怎么去理解呢, 以Android为例, 一个Activity的所有动作默认都是在主线程中运行的, 比如我们在onCreate中打出当前线程的名字: @O

2017-06-03 18:24:24 303

转载 给初学者的RxJava2.0教程(一)

前言上个月RxJava2正式版发布了,但目前国内的资料还比较少,以前使用过RxJava1只需要看看更新文档就知道怎么使用了,但还有一些以前没用过RxJava的朋友可能就不知道怎么办了,不知道该看RxJava1还是直接跳到RxJava2。所以写下这个教程, 帮助那些没有用过RxJava的朋友入门。我先回答这个问题:学习RxJava2需要先学习RxJava1吗?这个问题就像论坛经常问学Ja

2017-05-31 21:44:19 329

原创 Android Signature V2 Scheme签名下的新一代渠道包打包神器--Walle(瓦力)使用详解

开头总要说点什么话说Android studio升级到3.0后,发现打出来的渠道包在7.0的系统上无法安装,于是查了下资料,发现是V2签名的问题,于是开始着手配置V2签名的渠道包配置, 如果不需要V2签名的同学可以在gradle里这样设置 android { ... defaultConfig { ... } signingConfigs { config{

2017-05-24 21:43:38 2170

原创 Kotlin学习笔记(一)安装

如果你安装了3.0的android studio,就不需要集成kotlin插件了

2017-05-19 18:23:55 486

原创 安卓检测bug插件---FindBugs-IDEA使用详解

一、介绍Findbugs,看名字就知道是这个插件的作用了,它是一个静态分析工具,它检查类或者jar文件,将字节码和一组缺陷模式进行对比以发现可能的问题。有了静态分析工具,就可以在不实际运行程序的情况下对软件进行分析。不是通过分析类文件的形式或结构来确定程序的意图,而是通常使用Visitor模式来鉴别代码是否符合一些固定的规范。二、安装首先打开Android studio的设置中的插件,输入findb

2017-05-12 15:17:53 1027

原创 Error:Jack is required to support java 8 language features.

目录ViewPager使用详解ViewPager使用详解ViewPager 详解(一)—基本入门 ViewPager 详解(二)—详解四大函数 ViewPager 详解(三)—PagerTabStrip与PagerTitleStrip添加标题栏的异同 ViewPager 详解(四)—-自主实现滑动指示条 ViewPager 详解(五)—–使用Fragment实现ViewPager滑动

2017-04-22 12:59:46 290

原创 安卓自定义数字键盘(含4位自动加空格的功能,仿支付宝键盘,自动顶布局)

安卓自定义数字键盘(含4位自动加空格的功能,仿支付宝键盘,自动顶布局)效果图:效果动图下载 实现方法由于需要实现自动顶布局,所以采用的popwindow的方法实现的软键盘,重写Edittext,并且根据项目需求加入输入4位自动空格的方法自定义属性xml 自定义键盘布局 spance 是否开启4位空格 randomkeys 是否开启随机数字键盘自定义方法setKeyBordFocuable(bo

2017-03-20 01:01:25 1086

原创 html中一些常见问题的解决方法

扯扯淡:第一次写博客,最近在学习html5,把遇到的坑记录下来,一是能加深一下印象,二能帮助一下遇到相同坑的童鞋,三能锻炼自己的表达能力,一举三得,哈哈,如有错误欢迎批评指正.........1.a标签在手机上点击之后会出现一个带颜色的方框,奇丑无比有木有,怎么去掉呢,方法: 在a标签样式中加入:-webkit-tap-highlight-color:rgba(0,0,

2016-10-13 22:47:17 3879

android studio3.0百度网盘下载链接

android studio3.0下载链接

2017-05-20

空空如也

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

TA关注的人

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