自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 Android蓝牙BLE4.0踩过的坑

一直都负责项目的蓝牙模块,期间踩过很多坑,说出来跟大家分享一下。1. 从简单的开始,首先是权限的问题,在Android6.0以上,部分机型需要开启定位权限,部分机型需要同时开启GPS。所以使用蓝牙之前,你可以动态申请定位权限,或者直接将targetSdkVersion设置为23以下。2. 蓝牙刚开启的时候,建议间隔1s后再进行搜索,有些机型初始化很慢,会搜索不到设备。3. 始终无法搜索...

2018-10-16 17:39:09 7322 1

原创 Flutter实现json格式化输出

前言自定义log时,往往需要我们把后台返回的json字符串格式化输出到控制台,方便我们调试。Android原生可以通过JSONObject等进行格式化,将字符串格式化。flutter中并没有那么便利的实现方式,因此需要我们手动转换。想直接看代码的可以直接d_logger d_logger d_logger 查看。这是本人编写的一个log日志管理,觉得对你有帮助的麻烦点个like,谢谢。实现思路在conver包下,dart为我们提供了json转换工具。可以利用这点,先把json字符串转换成相应的.

2020-09-24 15:00:03 3356

原创 IndexOutOfBoundsException: setSpan (-1 ... -1) starts before 0

情景测试没有问题,上线后再统计平台捕获到相关异常如下:java.lang.IndexOutOfBoundsException: setSpan (-1 ... -1) starts before 0 at android.text.SpannableStringBuilder.checkRange(SpannableStringBuilder.java:1318) at androi...

2019-12-03 15:45:15 2586

原创 Android 自定义球型水波纹,带圆弧进度

需求如下,实现一个圆形水波纹,带进度,两层水波纹需要渐变显示,且外围有一个圆弧进度。思路外围圆弧进度:可以通过canvas.drawArc()实现。由于圆弧需要实现渐变,可以通过给画笔设置shader(SweepGradient)渲染,为了保证圆弧起始的颜色值始终一致,需要动态调整shader的参数。具体参见SweepGradient(centerX.toFloat(), c...

2019-11-30 18:01:19 1398 5

原创 Android自定义密码框

需求如下图,实现一个密码框,输入时显示实心圆。思路基于Edittext实现密码框,动态计算整体控件宽高,绘制方框格以及实心圆,根据输入的文本长度填充对应个数的实心圆。注意点:需要重写onSelectionChanged()方法,避免用户点击密码框时光标定位错误,导致回退时删错密文。由于比较简单,以下直接贴代码了。实现1、主代码:class InputPwdEdit...

2019-11-30 17:13:07 667

原创 Java中数组下标为什么从0开始而不是1?

数组特性数组的一大特性:随机访问,这个在实际开发中大家也经常使用到。数组地址如何理解随机访问?假设有个数组int a[10],它的起始地址值为0x1000(address),那么当你访问第n个数据时(即a[n]),实际上是通过其地址值获取对应位置的数据访问,如下图:其寻址公式为:result = address + 4 * n(4代表数据类型大小,int占4个字节);假设下...

2019-09-30 18:21:50 4514

原创 Recycleview 滑动时shape背景残留细线解决方案

引言相信开发中经常使用到shape实现一些简单的形状或背景,笔者在实践中就遇到这么一个问题:在列表中使用shape制定圆角矩形背景,滑动列表,发现当shape滑动到列表顶部边界处出现明显抖动,且滑过之后shape在顶部残留了一条等宽同颜色的细线。请注意观察toolbar与recycleview交界处(为了大家能够观察到,我特地调了一些颜色,把shape宽度放大些,是不是感动得想要点赞一...

2019-09-06 21:52:41 686 1

原创 Annotation注解实现startActivity

前言这段时间看公司项目涉及到注解,就抽时间学习了一下。查阅资料中,发现Benny老师的讲解非常到位,看完视频后根据印象仿写一个注解实现startActivity并传递参数、解析参数。附:Benny老师的教学视频地址:https://www.bilibili.com/video/av32905508/?p=1本文demo地址:https://github.com/liulianshanz...

2019-08-19 22:49:39 172

原创 基于Rxjava2的token刷新机制

 最后1、需求在操作网络的时候,我们公司有时候需要提交参数“token”,以此判断是否登录过期。而token是登录的时候返回的一个参数。当超过有效期6个小时,此时为了提升用户体验,在访问网络接口时,检测到token失效,往往需要我们先做刷新token的操作,再重新访问该接口。2、思路在Rxjava2+Retrofit2的网络框架基础上,通过Rxjava的操作符retryWhen以此...

2018-10-16 14:53:49 1249

空空如也

空空如也

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

TA关注的人

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