自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 命令行查看gradle运行的详细过程——gradle笔记

正常情况下,运行gradle任务时,显示的情况如下,较为简洁 但有时我们需要看运行的任务(此处任务名为makeReleaseVersion)的依赖任务的运行情况,例如是否有被更新运行、是否需要被执行等。则可以使用以下命令,增加 --console=verbose // <taskName&...

2020-01-03 21:46:24

阅读数 18

评论数 0

原创 adbOptions——安卓gradle

一、前言 今天分享 adb 配置,adb 对于 android 开发人员来说是必不可少的,开发调试的时候,我们便会用到他,只是大多数时候 ide 帮我们屏蔽了这些细节。 adb的全称为 Android Debug Bridge,即为android 调试桥,很形象的表达出了他的职责即为帮我们连接开发...

2019-12-29 22:12:59

阅读数 10

评论数 0

原创 aaptOptions——安卓gradle

一、前言 今天进行分享 aaptOptions 配置。aapt 全称为 Android Asset Packaging Tool,即为Android资源打包工具。可以通过其来进行配置打包的细节。 二、aaptOptions 结构简析 1、存在形式 会映射为 com.android.build.gr...

2019-12-25 11:00:12

阅读数 19

评论数 0

原创 ExternalNativeBuild——安卓gradle

目录 一、前言 二、 三、 四、 一、前言 今天分享 ExternalNativeBuild 配置,用于控制 native 的编译 二、ExternalNativeBuild 的结构简析 1、ExternalNativeBuild 存在位置 ExternalNativeBui...

2019-12-24 14:28:14

阅读数 33

评论数 0

原创 dexOptions——安卓gradle

一、前言 今天分享 dexOptions 配置,这个配置用于控制我们 代码分成dex的细节。 二、dexOptions 的结构简析 1、dexOptions 存在位置 dexOptions 会映射为 com.android.build.gradle.internal.dsl.DexOptions ...

2019-12-04 09:55:44

阅读数 55

评论数 1

原创 signingConfigs——安卓 gradle

一、前言 今天分享 signingConfigs 配置,从字面知道有 “签署配置” 的意思。该配置的作用,就是为我们编译出来apk,签上我们自己的“名字”,这样才能将apk发布安装到用户的设备上。 设备(手机、TV等)对 apk 的唯一认定,并不只是包名,而是 包名和签名,其中一项不同,都会认为这...

2019-12-01 00:19:36

阅读数 25

评论数 0

原创 splits——安卓gradle

一、前言 今天分享 splits 配置,从字面意思知道有着 “切开” 的意思,他的作用其实是帮我们把 apk 包从不同维度进行“切开”,减小apk的大小,从而让用户在下载时节省流量。 二、splits 的结构简析 1、splits 的存在位置 Splits 会映射为 com.android.bui...

2019-11-28 23:09:09

阅读数 19

评论数 0

原创 lintOptions——安卓gradle

目录 一、前言 二、LintOptions 的结构简析 三、LintOptions 的属性 四、LintOptions 的方法 五、写在最后 一、前言 今天分享的是 lintOptions 配置,其作用是 协助我们发现项目中代码质量问题。 二、LintOptions 的结构简析 2.1 Lint...

2019-11-26 11:51:55

阅读数 23

评论数 0

原创 sourceSets——安卓gradle

一、前言 Android 项目中,代码的摆放位置都是约定好的,这是因为 gradle 的理念 “约定大于配置”,减少各种配置的书写。 但约定并非规定,所以可以进行配置改动,这也是 gradle 的一大优点。在 Android 中,我们通过 sourceSets 进行配置。 二、sourceSets...

2019-11-24 10:33:53

阅读数 59

评论数 0

原创 android多渠道包(风味包)——安卓gradle

一、前言 经过前几篇 安卓gradle 文章的介绍,童鞋们应该对 安卓gradle 更加熟悉了。 1、defaultConfig——安卓gradle 2、buildTypes——安卓gradle 3、flavorDimensions和productFlavors——安卓gradle 这几篇文章中,...

2019-10-16 21:47:02

阅读数 64

评论数 0

原创 flavorDimensions和productFlavors——安卓gradle

一、前言 有了前两篇博客的铺垫,我们可以来分享下另外两个参数了 flavorDimensions 和 productFlavors,而这两个参数成对出现,可以做一些差分化定义。 前两篇博客为: 1、defaultConfig——安卓gradle 2、buildTypes——安卓gradle 二...

2019-10-16 21:43:58

阅读数 300

评论数 0

原创 安卓dx配置——mac环境

1、启动终端,可以在Spotlight中搜索“终端” 2、进入当前用户的HOME目录,命令如下: cd $HOME 3、 更新.bash_profile文件(当该文件存在时),如果该文件不存在,可通过如下命令创建: touch .bash_profile 4、打开.bash_profile文件...

2019-09-19 23:47:11

阅读数 44

评论数 0

原创 buildTypes——安卓gradle

目录 一、前言 二、buildTypes 三、buildType 1、buildTypes存在形式 2、buildTypes 中属性的意义 3、buildTypes 中方法的意义 四、写在最后 一、前言 继 上一篇博客 分享了defaultConfig 中可配置参数的含义,今天我们来分享另一个我...

2019-09-15 16:55:36

阅读数 334

评论数 0

原创 defaultConfig——安卓gradle

一、前言 我们在安卓开发中,编译的任务是由 gradle 来负责的。但很多时候我们进入 build.gradle 文件中,有种似懂非懂的感觉,所以小盆友总结并分享自己学习到的点滴。 话不多说,今天分享的是在我们的每个模块下(应用级)build.gradle 文件中,android 下的 defau...

2019-09-13 22:40:14

阅读数 440

评论数 2

原创 JRecycleView——简单的让RecycleView更有趣

目录 一、功能介绍 ----1、上拉加载,下拉刷新(可自定义视图 ----2、侧滑 ----3、item显示动画 ----4、item粘性 ----5、混合使用 ----6、DIY使用 二、如何导入 三、如何使用 四、高级设置 一、简介 封装工作中通常需要使用的列表功能(基于RecycleVie...

2019-09-05 22:20:15

阅读数 35

评论数 0

原创 Gradle、Groovy环境配置(mac环境)

一、前言 本文记录 Gradle 和 Groovy 的环境配置问题,在mac环境下。 Gradle 下载地址:https://gradle.org/ Groovy 下载地址:http://www.groovy-lang.org 二、配置步骤 1、通过终端,输入以下命令 open -e ~/.b...

2019-09-03 23:25:09

阅读数 26

评论数 0

原创 Canvas中的书法家讲解与实战——Android高级UI

3、绘制文字类型 在 Canvas 中绘制文字有四种类型的方法,我们将依次介绍。至于文字的绘制基线问题和样式,我们这里不做展开介绍,后续会在 Paint 的博文中讲述。 (1)drawText(四个重载方法) public void drawText(@NonNull String text, f...

2019-05-25 13:22:45

阅读数 51

评论数 0

原创 Canvas中的绘图师讲解与实战——Android高级UI

一、前言 在上一篇文章中,我们只是分享了裁剪类型的API,今天接着分享绘图部分API。话不多说,老规矩,先上实战图。 时钟与指针

2019-05-14 12:50:33

阅读数 57

评论数 0

原创 Canvas中的裁剪师讲解与实战——Android高级UI

目录一、前言二、如何画图1、绘图坐标系2、视图坐标系3、小结三、Canvas的剪刀手API四、实战 一、前言 今天来聊一聊 Canvas 的API的使用和一些知识小点,算是一篇API整理文章,方便日后自己和童鞋们查阅。因为是基础的知识点,所以在以往小盆友的高级UI博文中,基本上离不开画布的操作,所...

2019-04-27 11:29:22

阅读数 100

评论数 0

原创 放荡不羁SVG讲解与实战——Android高级UI

一、前言

2019-04-07 21:07:24

阅读数 340

评论数 0

原创 灵魂画师,Android绘制流程——Android高级UI

目录一、前言二、我们的目标是啥三、绘制流程从何而起四、Activity 的界面结构在哪里开始形成五、绘制流程如何运转起来的1、onMeasureMeasureSpec是什么(1)测量模式(2)makeMeasureSpec(3)getMode(4)getSize这两个参数值从哪来这两个参数值怎么使...

2019-03-27 00:04:48

阅读数 142

评论数 0

原创 第一条建议:考虑用静态工厂方法代替构造方法——《Effective Java》读书笔记

1

2019-03-24 11:34:55

阅读数 59

评论数 0

原创 让控件如此丝滑Scroller和VelocityTracker的API讲解与实战——Android高级UI

目录 一、前言 二、Scroller 三、VelocityTracker 四、实战——带惯性滑动的柱状图 五、写在最后 一、前言 自定义控件中,难免会遇到需要滑动的场景。而Canvas提供的scrollTo和scrollBy方法只能达到移动的效果,需要达到真正的滑动便需要我们今天分享的两把基础利...

2019-03-18 14:03:58

阅读数 361

评论数 0

原创 图像操纵大师Xfermode讲解与实战——Android高级UI

目录 一、前言 二、 一、前言 自定义UI中,少不了对多种图像的叠加覆盖,而需要达到预期的目的,我们便需要今天的主角Xfermode。Xfermode 有三个孩子,分别是: AvoidXfermode PixelXorXfermode PorterDuffXfermode 而 AvoidX...

2019-02-19 23:22:20

阅读数 70

评论数 0

原创 带有活力的属性动画源码分析与实战——Android高级UI

前言

2019-02-05 11:09:51

阅读数 154

评论数 0

原创 安卓adb配置——mac环境

1、启动终端,可以在Spotlight中搜索“终端” 2、进入当前用户的HOME目录,命令如下: cd $HOME 3、 更新.bash_profile文件(当该文件存在时),如果该文件不存在,可通过如下命令创建: touch .bash_profile 4、打开.bash_profile文件...

2019-01-12 15:48:57

阅读数 179

评论数 1

原创 vue搭建

1、 开发环境 webstorm 2、搭建脚手架 npm install -g vue-cli -g 即为全局 cli 是vue的脚手架 3、初始化项目 vue init webpack 在webstorm中使用terminal(获取在cmd中进入项目路径) 4、安装按需加载插件 npm i...

2019-01-12 15:36:09

阅读数 66

评论数 2

原创 自带美感的贝塞尔曲线原理与实战——Android高级UI

一、前言 贝塞尔曲线,想必大家或多或少都听过这个词,因为其控制简单,且其曲线更符合我们大众的审美,所以在很多领域都有涉及,当然这些都不是我们今天要进行讨论和分享的重点。今天要分享的是: 贝塞尔曲线如何得出; 在canvas中如何绘制多阶贝塞尔曲线(3阶以上); 贝塞尔曲线的使用场景; 二、贝塞...

2019-01-12 08:44:05

阅读数 266

评论数 2

原创 内存泄漏与排查流程——安卓性能优化

前言 内存泄漏可以说是安卓开发中常遇到的问题,追溯和排查其问题根源是进阶的程序猿必须具备的一项技能。小盆友今天便与大家分享一下这方面的一些见解,如有理解错误或是不同见解,可以于评论区留言我们进行讨论,如果喜欢给个赞鼓励下吧。 篇幅较长,可以通过目录寻找自己所需了解的吧 目录 1、JAVA内存解...

2019-01-11 17:43:35

阅读数 89

评论数 0

原创 设计模式——职责链模式

一、前言 设计模式是指导一个程序猿以更好的姿态处理一些问题,而不再像刚学编程的我们,只会使用if-else分支语句,或是使用硬干的骚操作完成需求。不使用设计模式,一来是代码逻辑会越来越晦涩难懂(到了某天你会发现自己也没办法看清楚所有逻辑),二来是代码维护成本越来越高(你的加班时间会越来越长),三来...

2019-01-05 10:46:38

阅读数 67

评论数 0

原创 设计模式——装饰模式

一、前言 设计模式是指导一个程序猿以更好的姿态处理一些问题,而不再像刚学编程的我们,只会使用if-else分支语句,或是使用硬干的骚操作完成需求。不使用设计模式,一来是代码逻辑会越来越晦涩难懂(到了某天你会发现自己也没办法看清楚所有逻辑),二来是代码维护成本越来越高(你的加班时间会越来越长),三来...

2019-01-05 10:41:39

阅读数 45

评论数 0

原创 设计模式——策略模式

一、前言 设计模式是指导一个程序猿以更好的姿态处理一些问题,而不再像刚学编程的我们,只会使用if-else分支语句,或是使用硬干的骚操作完成需求。不使用设计模式,一来是代码逻辑会越来越晦涩难懂(到了某天你会发现自己也没办法看清楚所有逻辑),二来是代码维护成本越来越高(你的加班时间会越来越长),三来...

2019-01-05 10:38:17

阅读数 49

评论数 0

原创 设计模式——状态模式

前言 设计模式是指导一个程序猿以更好的姿态处理一些问题,而不再像刚学编程的我们,只会使用if-else分支语句,或是使用硬干的骚操作完成需求。不使用设计模式,一来是代码逻辑会越来越晦涩难懂(到了某天你会发现自己也没办法看清楚所有逻辑),二来是代码维护成本越来越高(你的加班时间会越来越长),三来是可...

2019-01-05 10:16:32

阅读数 84

评论数 0

原创 PathMeasure的API讲解与实战——Android高级UI

一、前言 再过十二来天就是2019年了,然而2017计划写的东西还没开始

2019-01-04 18:37:25

阅读数 213

评论数 0

原创 基于注解的6.0权限动态请求框架——JPermission

前言 安卓6.0之后,一些敏感权限需要进行动态请求,虽说编写请求授权代码并不难,但是每次一需要权限就需要在视图中添加一段代码,严重影响代码美观,同时也增加了一点点工作量。 于是,小盆友闲暇之余基于AOP封装了一个基于注解的权限请求框架。如果有幸加入您的项目,使用过程中有问题或是有哪些不便,请留言区...

2018-12-04 09:37:33

阅读数 85

评论数 0

原创 安卓 SharedPreferences 工具类(支持对象存取)

import android.content.Context; import android.content.SharedPreferences; import java.lang.reflect.InvocationTargetException; import java.lang.refle...

2018-11-07 12:08:43

阅读数 297

评论数 0

原创 安卓 Gson 封装工具类

import android.text.TextUtils; import com.google.gson.Gson; import com.google.gson.JsonNull; import org.json.JSONArray; import org.json.JSONExcepti...

2018-11-07 11:18:30

阅读数 392

评论数 0

原创 android位运算简单讲解

一、前言 在查看源码中,经常会看到很多这样的符号“&amp;amp;amp;”、“|”、“~”,咋一看挺高大上;仔细一看,有点懵;再看看,其实就是大学学过的再普通不过的与、或、非。今天小盆友就以简单的形式分享下,同时也是作为笔记记录,等某天突然懵逼时可以回来看看,话不多说,开始撸。 二、与...

2018-11-07 00:34:51

阅读数 68

评论数 0

原创 Java 和 android 时间类工具(DateUtils)

该工具类,支持long、string、date三类型转换 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; imp...

2018-11-05 16:43:08

阅读数 190

评论数 0

原创 onSizeChanged、onDraw、onMeasure、onLayout 执行顺序和作用

public class MyView extends View { private String TAG = &amp;amp;amp;quot;--------MyView&amp;amp;amp;quot;; private int width, height...

2018-10-22 11:14:29

阅读数 886

评论数 0

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