自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 Android 蓝牙GATT通信——简介

1、gatt模型

2020-07-15 14:48:08 2457 1

原创 Android 蓝牙SPP通信——问题汇总

一、子线程操作1、在执行accept()方法会阻塞等待,开启子线程避免ANR。2、接收数据, IO操作完成一定要释放。二、长连接1、发送心跳包,在超时未响应发起重发N次,或者isConnect()判断。三、粘包快速发送短小的数据容易引起粘包1、发送端发送时,添加发送间隔,这样处理也会影响发送端的效率。2、完善数据解析协议,数据包内包含数据长度,按照长度解析数据,或者在数据结尾添加特殊的符号,标记为单帧数据的结尾。...

2020-07-08 14:53:45 1081

原创 Android 蓝牙SPP通信——服务端

创建BluetoothServerSocketserverSocket = bluetoothAdapter.listenUsingRfcommWithServiceRecord( bluetoothAdapter.getName(),java.util.UUID.fromString(SPP_UUID));开启接收 读写数据

2020-07-08 14:53:35 1549

原创 Android 蓝牙SPP通信——客户端

开始前先看一下大致的流程和服务端相似,客户端也经历创建Socket,连接,操作流的过程。1、开启扫描 public void starScan() { if (bluetoothAdapter != null){ if (bluetoothAdapter.isDiscovering()){ stopScan(); } bluetoothAdapter.startDi

2020-07-08 14:53:19 1480

原创 Android 蓝牙SPP通信——简介

在这就不对SPP协议进行深入探讨技术细节,而是对于SPP通信进行一个大体描述,建立一个整体框架模型,总结如下几点。蓝牙协议众多,SPP只是其中一种; SPP通信属于典型的C/S模式,那么建立通信的双方就分为服务端和客户端; SPP对蓝牙模块串口的读写实现通信,建立在串口仿真协议RFCOMM上实现; 服务端和客户端对应为BluetoothServerSocket和BluetoothSock...

2020-07-08 14:52:53 5185

转载 Android疑难杂症之KillProcess 和System.exit 无效

转载自:原文首先就这个名字来说,kill了process 或者 system.exit确实已经把APP杀掉了,特别是当你栈里只有一个Activity的时候,这个措施是行之有效的。但是因为Android framework的原因,在一些情况下APP会被重启,其实更准确地来说是App被恢复了。什么情况呢?就是如果你还有未被主动关闭的Activity的时候。比如ActivityA -打开-> ...

2020-04-02 09:59:19 619

原创 Android 复合字符串

引言:今天测试小姐姐告诉我,切换英文的时候你这里显示“Total 99 picture”不对,应该是“Total 99 pictures”,要复数。不得不说测试小姐姐也是很细心的,好在问题不大,很快就给你改好了。脑子一过解决方案就是判断数字大小来选取单复数,说干就干,但是刚写下if就发现事情并不那么简单,假如有n个位置的数字要改变,那我就要写n个if...else...来选取单复数,真是令...

2019-07-11 18:21:58 276

原创 Android 实现截图功能

本截图功能的实现思路是通过反射调用系统的截图功能,在service中执行,可以截取任何界面。放出一个demo,截取图片保存在U盘,核心代码在screenshot方法。本文参考了该文章public class ScreenShotService extends Service { private String TAG = "ScreenShotService"; priva...

2019-06-26 13:58:37 5397 6

原创 Android Launcher2 分析与个人理解

刚刚进入工作岗位就分配到了launcher开发,之前是都没有接触过,我是一脸懵逼的。。。。由于是车载多媒体,为了稳定,所以选择了Android4.4的,在这将我个人的分析和理解记录,如有不对之处望多多指正。 图标的加载图标内容加载有篇好文章写的不错在这分享一下(偷懒一下。。。。) launcer2内容加载开始第一点击就借用了别人的文章,要是结束了就太水了哈哈哈哈,接下来说一下laun...

2019-01-30 15:33:24 2001 2

原创 Android 显示文字超过指定长度部分使用省略号表示

         1、超过指定字符数 这个实现方法网上一查一大堆,这里挑几篇网友的参考:https://blog.csdn.net/lvi_166/article/details/53762008https://blog.csdn.net/anlidengshiwei/article/details/45915637        2、超过指定宽度由于中文字符和英文字符的大小不...

2019-01-23 17:37:40 2940

原创 java截取byte中的n位

在公司的项目中定了一份协议,使用byte数组来传输协议数据,通常一个byte里不同的位代表着不同的数据,工作中,需要将我们想要的数据从一个byte中截取出来,特意在这里记录一下。若是有什么不足和错误请指出。假设有这么一个byte数据b1:1 1 0 1 1 0 1 1 假设我们需要从中获取其中的3~5位,即110,我们取出的正确的数值应该是这样...

2018-10-11 14:14:15 5353

转载 Android坐标关系一张图明了

参考:  

2018-09-27 16:12:13 150

原创 Android 中使用Timer()倒计时

以下为Timer的一种写法,执行run()里面的方法:if (timer != null) { timer.cancel(); } timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { handler.obtainMessage(0x101).sendTo...

2018-09-27 12:30:52 3225

WindowManager.docx

整理了Android中WindowManager.LayoutParams.type、WindowManager.LayoutParams.flags、WindowManager.LayoutParams.softInputMode等属性,含注解。

2019-10-15

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

TA关注的人

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