6 qq_594336505

尚未进行身份认证

我要认证

深入下去

等级
TA的排名 7k+

Android BLE蓝牙踩坑总结

简介自从Android-BLE库开源了一段时间以来,越来越多的小伙伴问到了各种各样的关于BLE的奇怪问题,在这里我想跟大家分享一下本人对于Android BLE蓝牙的一些看法和解决方式,避免刚接触的小伙伴再次踩坑。题外话很多人曾问过我这个问题,为什么其他手机都没什么问题,就华为的一些手机老是连接不稳定,经常连接的很慢,而且连接上还经常断开。的确,在这里强调一下华为的一部分手机确实很容易出现这种问题,有时候软件、硬件都搞不定,而且经常性收到客户投诉关于华为手机连接稳定性问题,这个的确没有完全解决的

2020-06-28 13:50:38

正则表达式匹配中文,英文字母和数字及_的写法!

匹配中文:[\u4e00-\u9fa5]英文字母:[a-zA-Z]数字:[0-9]匹配中文,英文字母和数字及_:^[\u4e00-\u9fa5_a-zA-Z0-9]+$同时判断输入长度: [\u4e00-\u9fa5_a-zA-Z0-9_]{4,10}^[\w\u4E00-\u9FA5\uF900-\uFA2D]*$ 1、一个正则表达式,只含有汉字、数字、字母、下划线不能以下划线开头和结尾: ^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$ 其中: ...

2020-06-09 13:48:44

Android 蓝牙抓包和分析

蓝牙通信其实和http通信有点类似,http通过接口交互抓取数据包也很方便,但是到了蓝牙就没那么方便了,本文就是介绍如何实现蓝牙数据包的抓取。怎么抓包首先设置在手机 开发者选项中,打开启用蓝牙HCI信息收集日志,(找不到开发者选项的手机,请先网上查一下本型号手机打开USB调试的方法,然后在进行操作)。上边的设置完之后,就可以进行抓包了,打开蓝牙设备和手机上和连接设备的APP,这个过程...

2020-04-20 09:42:03

Android 从源码分析BLE连接错误分析

项目中涉及低功耗蓝牙手柄的开发,GattCallback onConnectionStateChange接口返回状态status值有多个private final BluetoothGattCallback mGattCallback = new BluetoothGattCallback() { @Override public void onConnectio...

2020-04-16 17:42:54

Android studio使用git切换分支开发的方法(图文教程)

Android studio使用git切换分支开发的方法涉及到团队开发,所以有了分支开发概念,当我们第一次从仓库git下来的时候一般都是master主分支,因为涉及到权限问题,你无法在主分支master上面提交,你只能进行分支开发提交,但是如何切换主分支呢?这里我提供两个方法,一个是git命令切换比较麻烦,第二个是Android studio自定的只能主分支去切换特别方面,刚刚突然发现的。我们...

2020-04-16 09:28:37

AndroidStudio的GitHub分支操作

1、新建分支:在AS的右下角可以看到有一个Git:master的选项,我们点击它,然后弹出下面的对话框,我们点击New Branch选项就可以新建一个分支,如图我新建了一个名为Branch1的分支。Local Branches下是本地的分支Remote Branches下是远端分支(即git上的分支)2、切换分支:我们新建一个分支(Branch1)后,这时如果我们要切换到m...

2020-04-16 09:27:33

Android BLE 蓝牙开发入门

初识低功耗蓝牙Android 4.3(API Level 18)开始引入Bluetooth Low Energy(BLE,低功耗蓝牙)的核心功能并提供了相应的 API, 应用程序通过这些 API 扫描蓝牙设备、查询 services、读写设备的 characteristics(属性特征)等操作。Android BLE 使用的蓝牙协议是 GATT 协议,有关该协议的详细内容可以参见蓝牙官方文...

2020-03-26 14:54:28

Android AndroidX的迁移

Google 2018 IO 大会推出了 Android新的扩展库 AndroidX,用于替换原来的 Android扩展库,将原来的android.*替换成androidx.*;只有包名和Maven工件名受到影响,原来的类名,方法名和字段名不会更改。接下来我们来看看使用 AndroidX的扩展库需要哪些配置。1. AndroidX变化1)常用依赖库对比:Old build artifa...

2020-03-11 16:44:30

AndroidUtilCode 最强大的工具类

一、前言:AndroidUtilCode 是一个强大易用的安卓工具类库,它合理地封装了安卓开发中常用的函数,具有完善的 Demo 和单元测试,利用其封装好的 APIs 可以大大提高开发效率,如今它主要包括两部分模块,其一是主工具类模块:utilcode,其中的工具类是开发中常用到的;其二是子工具类模块:subutil,它包含的工具类并不是很常用,它的出现是为了防止主工具类的臃肿。二、使用:...

2020-01-03 10:57:15

android 通用工具类

组件化common功能介绍一. base 主要是封装activity、view、fragment、presenter 基类1.BaseActivity getPresenter() 获取Presenter对象 getLayoutId();统一初始化 initView();初始化view initLoad(); 加载数据 setListener...

2019-12-27 16:18:26

Gson之常用注解

@SerializedName前面Java类中的属性和Json中的key都是一样的,但是总会有一些情况下,你想指定不同的名字我们还以之前的Student类为例:如果我想把name属性序列化到Json中为nickName怎么办?public class Student { @SerializedName("nickName") public String name;...

2019-11-26 17:28:09

Retrofit网络请求参数注解,@Path、@Query、@Post、Body等总结

Retrofit网络请求参数注解,@Path、@Query、@Post、Body等总结具体用法参照 Retrofit官网Retrofit简介:是一个基于okhttp的网络请求框架通过注解配置网络请求参数图片链接和图片上传支持同步和异步网络请求支持多种数据的解析,提供对Rxjava的支持可拓展性好,高度封装,简洁易用Retrofit使用介绍:使用 Retrofit 的步骤共有7个...

2019-11-26 16:50:41

Gson之排除字段的常见方式

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/pngfi/article/details/62122007转载请注明出处http://blog.csdn.net/pngfi/article/details/621220071.使用@Expose注解这种方式我们在上篇博文已经讲过...

2019-11-26 16:30:20

还在用Executors创建线程池?小心内存溢出

线程池不建议使用Executors去创建,而是通过ThreadPoolExecutor的方式,这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险。Executors各个方法的弊端:newFixedThreadPool和newSingleThreadExecutor:主要问题是堆积的请求处理队列可能会耗费非常大的内存,甚至OOM。(笔者注:阻塞队列均采用LinkedBlo...

2019-10-28 19:53:38

由浅入深理解Java线程池及线程池的如何使用

前言多线程的异步执行方式,虽然能够最大限度发挥多核计算机的计算能力,但是如果不加控制,反而会对系统造成负担。线程本身也要占用内存空间,大量的线程会占用内存资源并且可能会导致Out of Memory。即便没有这样的情况,大量的线程回收也会给GC带来很大的压力。为了避免重复的创建线程,线程池的出现可以让线程进行复用。通俗点讲,当有工作来,就会向线程池拿一个线程,当工作完成后,并不是直接关闭线...

2019-10-28 17:21:11

Android Studio3.3.2 将模块打包成jar包

前提:Android studio3.3.2的时候bundles目录不存在了,改为packaged-classes。task makeJar(type: Copy) {//删除存在的 delete'build/libs/test.jar'//设置拷贝的文件 from('build/intermediates/packaged-classes/release/')//打进...

2019-08-23 09:38:55

Android Studio新建Jni工程

2.2版本的Android Studio支持新建Jni工程,不用再像以前自己构建工程目录,首先把自己的升级自己的AS到2.2以上然后打开Tools->Andorid->SDK manager  搜索"Android SDK" 找到SDK选择SDK Tools安装如下工具:1、NDK:ndk是谷歌让android开发c/c++的工具套件。  安装完毕之后可以查看一下N...

2019-08-22 14:39:35

Android之GreenDao3.0使用

首先附上项目地址:https://github.com/greenrobot/greenDAOAPI文档:http://greenrobot.org/files/greendao/javadoc/current/第一步:了解注解。注解API:@Entity 参数:schema:告知GreenDao当前实体属于哪个schemaactive:标记一个实体处于活跃状态,活动实体有更新...

2019-08-08 09:28:41

一篇好文之Android数据库 GreenDao的使用完全解析

一篇好文之Android数据库 GreenDao的使用完全解析aserbao关注8.1 2018.10.23 20:12* 字数 4514 阅读 26120评论 26喜欢 90赞赏 1数据库GreenDao.jpg之前在开发过程中,数据库基本上会使用Litepal或者SQlite自己写,最近换新环境,公司原先使用的数据库就是GreenDao,在各种情况的作用...

2019-06-24 19:33:46

adb常用的几个命令

adb全称Android Debug Bridge ,安卓调试桥接器。它是Android SDK里面的一个工具,用这个工具可以直接操作管理Android模拟器或者真实Android设备。adb的工作方式比较特殊采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行eclipse时adb进程就会自动运行。1....

2019-05-13 10:14:53

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。