自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Flutter:手把手教你进行BLE应用的开发-flutter_blue

本文主要介绍在Flutter环境下开发BLE应用。主要包含以下内容:判断蓝牙是否开启、判断是否有位置权限、扫描设备、连接设备、监听设备上报的数据(Notify)、向设备发送数据、监听设备的断开等。内容虽然简单,但是很详细。二、开始1、使用到的库 flutter_blue: ^0.7.1+1 permission_handler: "^3.2.0" # 权限 众所周知,Flut...

2020-04-23 22:52:11 20140 63

原创 一个仿日食的自定义view

一、写在前面的话效果如上图,笔者在午休的时候,重新追了一遍神探狄仁杰II,蛇灵密谋利用日食,引洛河之水颠覆武周社稷。日食来临时,天地昏暗,日食之后万物回复光明。看完一想,要不我也搞一个日食效果看看,于是,就有了这篇文章。二、分析动画首先有一个圆,取个名字,叫太阳(Sun),月亮(Moon)缓缓从Sun上滑...

2020-04-07 21:22:16 1674

原创 一个可拖动item的九宫格自定义View

一、写在前面的话也不知道给这个取个啥名,就随便取了一个,主要功能就如上图显示的那样,待选区view可以拖拽进九宫格中,九宫格可以按照顺时针滚动(这里没显示,后面会说一下的)。左右两个SeekBar可以配置一些参数,比如速度啊什么的。二、分析需要的元素1.待选区的item2.九宫格3.拖动的View4.SeekBar...

2020-02-15 20:09:59 2768 4

原创 Android 一些常见BUG汇总(持续更新)

写在前面的话每个开发者在工作中会遇到或多或少的小bug,这里博主把它们记录下来,以便以后查阅。

2019-02-16 16:48:01 2202

原创 自定义ProgressBar-油表,汽车速度表控件

一、写在前面的话今天做了个控件,觉得还挺漂亮,就拿出来给大家分享一下,主要为了给大家介绍一下ValueAnimator这个动画,确实也没啥好说的,网上一堆教程,还是说说说画这个动画好了。二、需求分析刚拿到需求,我们分析一下。控件有两道圆弧,第一道上面有数据段,第二段是具体数值的指示段。数值变换的时候,需要平滑过渡,不能突兀。三、开始画。1、画圆弧 private void drawArc(Canvas canvas) { mBgPaint.setStrok..

2021-01-20 15:25:00 621 1

原创 Android-自定义心电图控件

一、写在前面的话最近朋友找帮忙,需要绘制心率波形,要细腻流畅。于是研究了一下,于是就有了这篇文章。本文主要讲一下笔者的思路,控件不是实现的很好,后面有时间再打磨。主要是笔者觉得这个过程挺有意思的,就想和大家分享一下。目前的效果就像上面那样,因为手机录屏录出来掉帧太严重,就录了个视频做了张gif图,实际上面的很丝滑,下面的效果不是很理想,具体原因后面会介绍。二、心率线的绘制思路1、线要平滑,要有曲率,还有向左平移。这里我用三阶贝塞尔曲线来画,其实二阶也可以,但是我以前的项目画的是三阶...

2021-01-11 18:20:09 1144 5

原创 Android下的MQTT开发与测试,看完这一篇就八九不离十了

一、简单说下MQTTmqtt是一种轻量级的通讯协议。做过BLE的同学可以理解成一种透传,也可以用在推送上面。要详细了解其概念的同学,传送门在这里。一般的智能设备通过接入mqtt,就可以实现在一个终端控制多台设备,智慧城市应用前景还是挺广泛的。其实在Android上实现mqtt很简单,但是博主还是想整理一下,给大家分享一下博主是怎么开发和测试的。二、详细说下MQTT那么,我们在android的开发中是怎么做的呢。下面来详细说下。1、准备工作首先,添加库。在Preject中的build.

2020-08-13 11:52:41 6910

原创 Flutter for ble 之set_notification_error, could not locate CCCD descriptor for characteristic分析(原生角度)

一、背景本文主要给前端同学提供建议,对于android的原生开发者可能过于简单哦。库:flutter_blueflutter下使用该库开发ble应用,在调用如下方法时: await mCharacteristic.setNotifyValue(true);出现:E/flutter (18304): [ERROR:flutter/lib/ui/ui_d...

2020-04-17 15:15:09 3550 7

原创 Android优秀文章集锦

一、Android O 后台startService限制简析Android O 后台startService限制简析

2020-01-08 11:51:19 292

原创 Kotlin中的一些小技巧

一、简介本文主要记录一些日常开发中的组件等各种在kotlin中的写法。二、开始1、Handler private val mHandler = Handler { when (it.what) { -1 -> { it.target.sendEmptyMessageDelayed(-1, 200)...

2019-08-20 14:12:32 404

原创 高仿摩拜解锁单车的加载控件

一、写在前面最近在下班骑车回家的过程中,发现摩拜单车的解锁进度条还是挺有意思的,它是一直转,根据进度增大圆弧角度,最后有一个打钩的动画,好了,话不多说,马上就来实现一下。上面图的效果不是很好,真实效果各位自行在工程里看。(ps小白,随便做了个gif)二、动画分析老样子,在做什么事情之前要先分析一波,计划一波,才能成事。首先,我们观察,这个效果首先有一个圆环,这个圆环占控件的蛮大比重...

2019-07-24 14:18:24 403

原创 uni-app安卓原生插件的编写与调试

一、为什么会有这篇文章这里是官方给出的开发文档链接。但是还是有很多诸如以下的情况出现:官方可能也是疲于回复这些问题,这些情况把打算入门插件开发的小伙们挡在了门外,这里结合当初笔者学习的一些经验,从一个Android开发者的角度给大家做一些分享。二、自定义基座uni-app开发的原生插件,必须运行在自定义基座中,这个很好理解,你要调试原生的东西,肯定要有运行环境,自定义基座就是这...

2019-04-22 11:53:52 11735 12

原创 Android BLE设备连接以及数据读写

一、准备权限<!--蓝牙权限和蓝牙设备的扫描设置权限--><uses-permission android:name="android.permission.BLUETOOTH" /><uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <!--扫描蓝...

2019-03-25 17:32:12 2266

转载 SVN的安装和使用手册

&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;下载`TortoiseSVN官网下载址:https://www.visualsvn.com/visualsvn/download/tortoisesvn/下载完成后是这样的&amp;nbsp;安装TortoiseSVN:此处的安装地址建议不动,当然你也可以选择你要安装的地址安装完成后在桌面点击右键查看如果有标记的两个文件说...

2019-03-05 10:31:17 187

原创 Android Studio 打包出错proguard.ParseException

Warning:Exception while processing task java.io.IOException: proguard.ParseException: Expecting java type before '銆?銆?public' in line 48 of file 'G:\cqc_breoMusi\breo_chen\breoFactory\proguard-rules....

2018-12-07 10:44:40 1188

原创 Android自定义View之滑杆内部带数字的SeekBar

一、需求确认首先我们要明确需求,要做一个什么样的Seekbar,分析清楚业务需求,再开始做。如图,产品大佬给的图是这样子的:当然,作为一个工程师,第一步当然是去问问度娘,看有没有好的轮子,然后去github上淘淘金。我始终认为这是一个优秀工程师该有的解决问题的方法,哈哈~ 找过一圈之后,发现并没有适合的轮子可以用,这时心里开始咒骂产品了,“提的什么鬼需求,那么非主流”。但是骂完还得撸起...

2018-11-22 16:02:25 1528

原创 Android软键盘弹出后的界面处理

说在前面的话虽然网上的教程已经很多了,但是这里博主还是要写,就当众多教程中的一篇吧~实现思路众所周知,在oncreate中View.getWidth和View.getHeight获得的view的高度和宽度为0,这是因为View组件布局要在onResume回调后完成。所以我们这里为rootView(根布局)添加一个OnGlobalLayoutListener监听。查看这个监听器的源码我们...

2018-11-01 16:54:20 724

转载 AndroidStudio因为插件路径错误而无法保存设置的问题

androidstudio插件保存错误

2017-11-03 10:36:03 893

原创 Android通话接通监听

通话接通监听

2017-10-27 13:51:56 2263

原创 Android短信拦截的一些发现

基于android6.0的短信拦截解决方案或者说一种实现方法

2017-10-27 11:31:06 1951

转载 Android 7.0 GMS认证

本文由博主整理网上资料所得

2017-10-24 16:51:30 1620

原创 Android系统级开发进程清理功能的一些记录和发现(二)

基于Android 7.0的近期任务列表进程清理实现最近有小伙伴反应,上篇博客中提到的直接修改近期任务列表的方法在7.0的系统中无法使用,因为找不到onTaskViewDismissed()这个方法了。同时,RecentsActivity更新任务Tasks的方法和6.0相比也有很大的改变,具体改变请小伙伴自行研究,本文主要讲针对7.0改变实现进程清理的方法。第一步、改造RecentsView纵观R

2017-10-20 15:55:22 1265 1

原创 Android系统级开发进程清理功能的一些记录和发现(一)

Android系统级开发清理功能的一些记录和发现客户需求做一键清理所有后台进程的功能,在查阅网上相关博客以及自己研究以后找到以下几种方法:killBackgroundProcesses()这种方式比较常规,packageName是需要停止的应用的包名,但这种方式实测之后进程有很大概率重启。(不能完全杀死进程)ActivityManager.killBackgroundProcesses(pack

2017-10-18 11:16:53 1029

空空如也

空空如也

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

TA关注的人

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