自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

YangLe

Do what you are afraid to do

原创 Android开源项目 RecyclerViewHelper 上拉加载更多/头尾布局/拖拽排序/侧滑删除/侧滑选择/万能分割线

转载请注明出处:https://blog.csdn.net/kong_gu_you_lan 本文出自 容华谢后的博客 1.写在前面 2019年的第一篇文章,分享一个自己写的开源项目,主要是对RecyclerView控件的一些常用功能封装, 包括(上拉加载更多、头尾布局、拖拽排序、侧滑删除、侧滑...

2019-02-21 09:32:50 241 2

原创 使用Java实现串口通信(二)

1.写在前面 距离上一篇文章《使用Java实现串口通信》已经过去快两年的时间了,在此期间收到了很多读者的反馈,很高兴可以帮助到这么多人,根据收到的反馈,我对代码逻辑进行了优化整理,并增加了一些新功能,在此记录下,分享给大家。 先看下效果: 2.环境搭建 本文的串口通信开发基于RXTX,...

2018-06-06 09:03:29 20763 85

原创 Android NDK开发(四) 将FFmpeg移植到Android平台

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它提供了录制、转换以及流化音视频的完整解决方案。 1.写在前面 在上一篇文章《Android NDK开发(三) 在Linux环境下编译FFmpeg》中,我们学习了如何将FFmpeg源码编译成so文...

2018-03-27 09:10:12 1292 11

原创 Android 使用代码实现一个选词(拖拽)填空题

GitHub传送门1.写在前面在上一篇文章《Android 使用代码实现一个填空题》中,我们学习了如何实现一个填空题,今天继续接着上一篇文章的节奏,学习一下如何实现一个选词填空题,由于本文中用到了一些上篇文章的知识点,所以还没有看过上篇文章的同学可以>戳这里<了解一下。首先看下效果图:...

2017-10-10 17:28:30 1054 0

原创 Android 使用代码实现一个填空题

GitHub传送门1.写在前面最近项目比较忙,有一个多月没有更新博客了,利用闲暇之余总结一下项目中遇到的问题,分享给大家!刚看到要做填空题这个需求的时候,第一个反应是到百度,啊…不对,谷歌上搜一下有没有类似的Demo,无奈搜出来的全是Android面试题,唉,算了,还是老老实实自己实现吧,先看下效...

2017-09-29 15:12:16 3289 12

原创 Android自定义控件 温度旋转按钮

1.介绍首先看下效果图2.思路 初始化一些参数 绘制刻度盘 绘制刻度盘下的圆弧 绘制标题与温度标识 绘制旋转按钮 绘制温度 处理滑动事件 提供一些接口方法 3.实现初始化一些参数public class TempControlView extends View { // 控件宽 pr...

2016-12-12 09:38:25 3900 8

原创 Android自定义控件 芝麻信用分雷达图

本文已授权微信公众号:鸿洋(hongyangAndroid)在微信公众号平台原创首发。 1.介绍首先看下支付宝上芝麻信用分的效果图:2.思路 确定雷达图中心点坐标 绘制多边形及连接线 根据维度值绘制覆盖区域 绘制分数 绘制每个维度的标题文字和图标 3.实现获取布局的中心坐标在onSizeChang...

2016-10-23 20:11:08 6832 24

原创 自己动手写一个Android Studio插件

1.介绍官方文档在使用Android Studio开发的时候,大部分人都会使用一些插件来提高开发效率,比如: ButterKnife 自动生成注解代码 PermissionsDispatcher 更方便的进行Android 6.0权限处理 像这样的插件还有很多很多,但我们不能一直停留在用的程度,这...

2016-10-21 11:38:13 3705 4

原创 Android 使用JitPack快速发布你的GitHub开源库

1.介绍Android Studio使用了Gradle来管理依赖,这让引入第三方库变得更加方便高效,目前在Studio中使用Gradle依赖,有几种方法: jCenter Maven Central 使用其他自定义的仓库 使用Center和Maven Central的方式太过繁琐,实在不想用,在G...

2016-10-17 15:46:26 1409 0

原创 Android画板 半透明画笔 笔迹叠加效果

转载请注明出处:https://blog.csdn.net/kong_gu_you_lan 本文出自 容华谢后的博客 0.写在前面 先看下效果图,功能虽然简单,但是实现的时候谷歌、百度了很久也没有找到解决方案,提这个问题的人不少,但是回答的人一个也没有,十分郁闷,在此记录,分享给各位。 1.半...

2020-04-17 09:08:58 605 0

原创 一道Java面试题引发的思考

转载请注明出处 本文出自 容华谢后的博客 目录0.写在前面1.题目2.栈内存、堆内存栈内存(stack)堆内存(heap)3.基本类型数据、对象的内存分配基本类型数据对象4.值传递、引用传递值传递:引用传递:5.String类型String str = “a”;String str = new ...

2019-10-25 09:31:06 129 2

原创 Android自定义控件 带文字提示的SeekBar

转载请注明出处 本文出自 容华谢后的博客 1.写在前面 SeekBar控件在开发中还是比较常见的,比如音视频进度、音量调节等,但是原生控件有时还不能满足我们的需求,今天就来学习一下如何自定义SeekBar控件,本文主要实现了一个带文字指示器效果的SeekBar控件,看下最终效果: 2.实现 ...

2018-12-20 10:06:08 982 2

原创 您有一份AndroidX升级指南未领取

转载请注明出处 本文出自 容华谢后的博客 1.介绍 相信大家对Android Support Libray都不陌生,随着Android版本的快速迭代,Google推出了Support Libray用以兼容低版本的Android设备。但是随着版本越来越多,支持库的维护和使用也变得越来越复杂,于是...

2018-11-19 08:26:56 1292 3

原创 滴滴插件化方案 VirtualApk 完全解析(一) 初识基本用法

转载请注明出处 本文出自 容华谢后的博客 1.介绍 VirtualApk GitHub地址 VirtualAPK是滴滴在2017年6月开源的一款插件化框架,支持Android四大组件,以及几乎所有的Android特性,通过Gradle来构建插件,集成与构建十分便捷,目前...

2018-08-01 09:04:37 1711 3

原创 Android 蓝牙BLE开发详解

1.介绍 蓝牙是一种短距离的无线通信技术,可以实现固定设备、移动设备之间的数据交换。一般将蓝牙分为两大类,蓝牙3.0规范之前的版本称为传统蓝牙,蓝牙4.0规范之后的版本称为低功耗蓝牙,也就是常说的BLE(Bluetooth Low Energy)。 本文主要讲解的是Android设备与BLE设...

2018-07-12 08:59:23 4467 13

原创 Android Design Support Library v28 新增组件详解

1.简介 Google在近期发布了最新的Design Support Library 28.0.0-alpha3版本,其中新增了一些非常实用的组件,本篇文章将会对其进行详细的介绍,一起来看下! 如果你对Material Design还不太了解,可以点击这篇文章《Design Support L...

2018-06-21 08:59:44 5148 5

原创 Android NDK开发(五) 开发中遇到的问题汇总

1.abiFilters是做什么用的? 我们在项目的gradle中经常会看到这样的配置: defaultConfig { ... ndk { abiFilters &quot;armeabi-v7a&quot;, &quot;x86...

2018-05-18 09:18:01 616 0

原创 Android NDK开发(三) 在Linux环境下编译FFmpeg

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它提供了录制、转换以及流化音视频的完整解决方案。 1.环境搭建 操作系统:Ubuntu 16.04 64bit NDK版本:android-ndk-r14b-linux-x86_6...

2018-03-07 08:58:56 531 1

原创 Android NDK开发(二) 使用ndk-build构建工具进行NDK开发

本文主要讲解了在Windows环境下如何使用ndk-build构建工具来进行NDK开发,以及ndk-build构建工具在Android Stuido中的快捷工具配置。 在上一篇文章《Android NDK开发(一) 使用CMake构建工具进行NDK开发》中,我们学习了如何使用CMake构建工具...

2018-01-24 09:25:28 1604 7

原创 Android NDK开发(一) 使用CMake构建工具进行NDK开发

2018年的第一篇文章,主要讲解了JNI、NDK的一些概念以及在AS 3.0环境下如何使用CMake构建工具来进行NDK开发。 1.了解一些概念 JNI(Java Native Interface): Java原生接口,是Java和其他原生代码语言(例如 C 和 C++)通信的桥梁。...

2018-01-18 09:07:29 3652 0

原创 Android 图解Canvas drawText文字居中的那些事

GitHub传送门1.写在前面在实现自定义控件的过程中,常常会有绘制居中文字的需求,于是在网上搜了一些相关的博客,总是看的一脸懵逼,就想着自己分析一下,在此记录下来,希望对大家能够有所帮助。2.绘制一段文本首先把坐标原点移动到控件中心(默认坐标原点在屏幕左上角),这样看起来比较直观一些,然后绘制x...

2017-12-29 08:55:44 2721 5

原创 Android自定义控件 倒计时

GitHub传送门1.写在前面本篇文章实现了一个简单的倒计时控件,主要运用了画布的操作,滑动角度计算等知识点,非常适合自定义控件的初学者进行学习,看下效果图:2.实现初始化一些数据public class CountdownView extends View { // 控件宽 pri...

2017-12-14 09:01:16 1077 2

原创 Android 自定义Switch开关按钮的样式

GitHub传送门1.写在前面本文主要讲的是在Android原生Switch控件的基础上进行样式自定义,内容很简单,但是在实现的过程中还是遇到了一些问题,在此记录下来,希望对大家能够有所帮助,看下效果图:2.自定义样式2.1 原生样式首先看下原生的效果(Android 7.1):布局文件如下:&l...

2017-12-07 08:52:07 3734 2

原创 手把手教你在Android Studio 3.0上分析内存泄漏

戳我下载 Android Studio 3.0 这个不用梯子我会告诉你吗 1.写在前面Google在上周发布了Android Studio 3.0正式版本,周四早晨在上班的地铁上就看到群里在沸沸扬扬的讨论3.0版本的各种坑,啊,不对,各种特性,到公司之后就迫不及待的更新了3.0版本,嗯,还算顺...

2017-10-31 15:44:02 1254 0

原创 Android RecyclerView下拉刷新 & 上拉加载更多

GitHub传送门1.写在前面本文主要实现的是上拉加载更多功能,下拉刷新使用的是Google官方的SwipeRefreshLayout控件,因为在实现这个功能的时候走了不少弯路,所以在此记录下来分享给大家,先看下效果图:2.实现上拉加载实际上就是给RecyclerView增加一个FooterVie...

2017-10-20 13:16:27 2398 9

原创 Android自动化测试工具 UiAutomator使用详解

本文测试用例下载地址1.介绍Android团队在4.1版本(API 16)中推出了一款全新的UI自动化测试工具UiAutomator,用来帮助开发人员更有效率的完成App的Debug工作,同时对于测试人员也是一大福音,为什么这么说呢? 测试:“我发现了一个bug,你写的App打开A页面,再打开...

2017-08-16 08:49:49 2540 6

原创 Android DataBinding & MVVM

先说说两者的关系,DataBinding是一个实现数据和UI绑定的框架,而MVVM是一种架构模式,实现MVVM模式需要借助DataBinding来完成。本文将以《Android 谈谈我所理解的MVP》中的例子为基础,使用MVVM模式重新实现一下。嗯,本篇博客也是有副标题的:Retrofit + R...

2017-08-09 08:33:39 1177 3

原创 Android DataBinding使用详解(二)

《Android DataBinding使用详解(一)》官方文档Demo下载地址1.在RecyclerView中使用DataBindingAdapter的定义方式和普通方式相同,都是继承了RecyclerView.Adapter,然后实现其中的方法,但是具体的实现方式还是有所差别的:public ...

2017-07-26 08:54:44 995 2

原创 Android DataBinding使用详解(一)

DataBinding是一个实现数据和UI绑定的框架,同时也是实现MVVM模式所依赖的工具。官方文档Demo下载地址1.构建环境在app根目录的build.gradle文件中加入DataBinding配置:android { .... dataBinding { e...

2017-07-24 08:51:00 2131 4

原创 Android 使用RxLifecycle解决RxJava内存泄漏

RxLifecycle GitHub地址RxJava GitHub地址1.为什么会发生内存泄漏使用RxJava发布一个订阅后,当页面被finish,此时订阅逻辑还未完成,如果没有及时取消订阅,就会导致Activity/Fragment无法被回收,从而引发内存泄漏。 写段代码测试一下,定义一个Ac...

2017-07-06 08:41:22 24530 8

原创 Android 谈谈我所理解的MVP

嗯,这篇博客应该有个副标题:Retrofit + RxJava + RxLifecycle + MVP在上一篇文章中,我们对Retrofit进行了封装,But,这种封装是不支持MVP模式的,今天就以Retrofit和RxJava为基础,谈谈我所理解的MVP。《Android Retrofit + ...

2017-06-29 08:44:34 1994 1

原创 Android 探讨一下Retrofit封装的最佳姿势

在上一篇文章《Android Retrofit + RxJava使用详解》中,我们学习了Retrofit的一些基本用法,但在实际的项目使用中,还是会出现一些问题,今天就让我们一起来探讨一下如何对Retrofit进行封装吧!如果你对Retrofit还不太了解,可以>戳这里<学习一下。如果...

2017-06-27 08:39:48 1129 2

原创 Android Retrofit + RxJava使用详解

1.Retrofit基本使用首先来了解下Retrofit是什么,在官网中对于Retrofit的描述是这样的: A type-safe HTTP client for Android and Java. 适用于Android和Java的类型安全的HTTP客户端。 可以理解成一个封装好...

2017-06-21 08:32:51 2521 2

原创 Android 关于Handler内存泄漏的那些事

在上一篇文章《Android Handler机制完全解析》中,我们从源码的角度分析了Hanlder机制,接下来继续学习Handler,本篇文章主要讲解的是Handler可能会导致的内存泄漏以及解决方案。1.为什么会发生内存泄漏在平时使用Handler的时候,我们通常会这样定义:// 定义一个Han...

2017-06-17 01:17:18 488 0

原创 Android Handler机制完全解析

Android Handler机制完全解析1.为什么要引入Handler机制?举个栗子:通过网络获取数据然后显示在TextView中,由于网络通信属于耗时操作,所以必须在子线程中完成,但是子线程中是不能更新UI的(特殊情况除外),为了解决以上问题,Android引入了Handler机制,由Hand...

2017-05-06 23:36:04 611 0

原创 Android属性动画(三) TimeInterpolator(插值器)

OK,继续学习属性动画,本篇文章是属性动画系列的第三篇文章了,今天来学习一下属性动画中的TimeInterpolator,如果你对属性动画还不太熟悉,可以点击下面的链接学习一下前两篇文章的知识:《Android属性动画(一) 初识基本用法》《Android属性动画(二) ValueAnimator...

2017-03-13 10:00:02 1488 0

原创 Android属性动画(二) ValueAnimator的实际应用 & 自定义TypeEvaluator

在上一篇文章《Android属性动画(一) 初识基本用法》中,我们学习了属性动画的基本用法,但是在一些场景中,这些用法还远不能满足我们的需求,今天就让我们来学习一下属性动画的高级用法吧!1.ValueAnimator的实际应用在上篇文章中我们学习到,ValueAnimator.ofInt()方法可...

2017-03-03 09:51:08 1102 5

原创 Android属性动画(一) 初识基本用法

1.介绍Android系统为我们提供了三种动画效果的实现方式: 补间动画(Tween Animation):只能对View进行动画操作,支持移动、旋转、透明、缩放四种效果,有一定的局限性。 逐帧动画(Frame Animation):把一个动画分成多张图片,然后把这些图片连贯起来播放,原理和动画片...

2017-03-01 09:48:52 762 0

原创 Java多线程 线程同步与死锁

1.线程同步多线程引发的安全问题一个非常经典的案例,银行取钱的问题。假如你有一张银行卡,里面有5000块钱,然后你去银行取款2000块钱。正在你取钱的时候,取款机正要从你的5000余额中减去2000的时候,你的老婆正巧也在用银行卡对应的存折取钱,由于取款机还没有把你的2000块钱扣除,银行查到存折...

2017-02-25 15:47:18 5758 4

原创 Android 仿京东金融首页头像效果

1.介绍看下效果图,gif录的有些卡顿,在真机上运行效果很好。2.实现很有意思的一个效果,原理其实很简单,就是通过监听ScrollView在Y轴的滑动距离,然后在代码中动态设置头像的位置和大小。public class MainActivity extends AppCompatActivity ...

2017-02-06 09:24:47 915 0

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