- 博客(20)
- 收藏
- 关注

原创 北斗协议解析(北三)SDK
公司属于北斗通信行业,平时开发时经常要接触到北斗协议。由于北斗通信相对于外界开发人员来说比较冷门,所以在早期开发时想要找到相关资料比较难,因此只好自己看协议慢慢摸索。现在经过了大量相关项目的洗礼之后对北三协议也略知一二就编写了一个北斗协议解析SDK,方便后续接手项目的同事和进行二次开发的客户实现需求,在这里也分享给各位同行及有志于从事本行业的朋友们交流学习
2024-03-25 18:05:51
3692
12

原创 Android 蓝牙通信(通过 BluetoothSocket 传输文件/文本)
Android 蓝牙通信,通过BluetoothSocket方式建立长连接并传输文本或文件。前段时间有个项目的功能需求是:AR眼镜通过蓝牙的方式连接北斗设备,当北斗设备收到文本/语音/图片消息时转发到AR眼镜上,AR眼镜也可以发送文本/语音/图片数据到北斗设备上并转发到指定的目标地址。刚开始在百度和github找了许多方法都不尽人意而且大多数据传输都仅仅停留在文字方面,不过好在最后临近项目deadline时想到了一种傻瓜也简单的方法实现了这个需求。
2023-12-29 16:06:27
5616
12

原创 Android 自定义控件实现纵向导航栏(BottomBar)
一个可支持横向及纵向的 NavigationBar 自定义控件,代码只有400行,直接复制就能使用非常方便。但需要注意一点:控件中兼容的fragment是AndroidX版本的,如果需要在旧版本上使用需要自行改造一下。
2023-10-20 16:22:02
1209

原创 Android USB通信(accessory)
公司属于北斗通信行业,项目大多都需要和各式各样的硬件设备相结合来满足项目需求,因此所涉及到的各种技术也相对比较冷门。前段时间有个项目用到了一款定制北斗设备,需要用到它自带的 type-c 线连接手机使用,开发时发现它是通过 USB(accessory)来连接手机设备的,现在项目完成了,就在这里记录和分享一下,有任何错漏或可优化之处欢迎大家留言。
2023-08-02 15:23:46
3340
3

原创 北斗协议解析(北三)
公司属于北斗通信行业,平时开发时经常要接触到北斗协议。由于北斗通信相对于外界开发人员来说比较冷门,北斗三代协议又是去年才开发民用的,所以在早期开发时想要找到相关资料比较难,因此只好自己看协议慢慢摸索。现在经过了大量相关项目的洗礼之后对北三协议也略知一二就写了个解析工具类。
2023-08-02 14:25:59
7281
6

原创 Android USB通信(host转串口)
公司属于北斗通信行业,项目大多都需要和各式各样的硬件设备相结合来满足项目需求,因此所涉及到的各种技术也相对比较冷门。前段时间有个项目用到了一款定制 Android 设备,其中有多个接口,包括两个 USB 接口和一个 RS232 串口,需要用到其中一个 USB 连接北斗设备实现指令互通,经过摸索现在也大致了解了 Android USB(host)通信流程后续还有另一个项目则用到了 USB(accessory)有空再写一篇。在这里记录和分享一下,有错漏或可优化之处欢迎大家留言。
2023-07-28 15:44:43
11872
63
原创 Android开发,使用JNI调用Native方法
JNI 是一种编程接口,允许 Java 代码与其他语言(如 C 或 C++)编写的代码进行交互。这种机制特别适合于需要高性能计算或实时处理的场景,如游戏开发或图像处理,这里以一个简单的图片灰度处理方法作为 JNI 的基本实现例子。
2024-11-18 17:16:01
908
原创 Android开发,使用AIDL跨进程通信
在某个旧项目中使用到了aidl进行跨进程通信,这里把他的实现流程简单地整理一下方便有相同需求的小伙伴参考
2024-07-29 11:15:17
730
原创 Android开发,蓝牙音箱小项目
最近做了个外包项目,一款集电子画框与蓝牙音箱于一体的Iot程序,在做这个项目之前研究了一下android系统中媒体蓝牙(就是我们平时见到的音箱或者耳机)功能的实现,现在将这个功能整理成一个简单的demo分享出来方便后续有类型需求的小伙伴参考。
2024-07-17 18:02:32
313
原创 Android开发 问题记录:Retrofit+Flow 网络请求错误:Unable to create call adapter for com.xxx.xxx
最近在研究 Retrofit+Flow ,发送请求的时候没有生效并且提示:Unable to create call adapter for xxx 和 Could not locate call adapter for xxx,原文如下。观察报告发现其中提到了CallAdapter缺失,于是就很疑惑,在这里并没有用到RxJava,定义接口返回的对象也只是普通的数据类并没有转化为其他类型。后来一点点看代码排查问题才发现原因是自己大意了,使用协程却在定义接口方法时忘了加 suspend 关键字修饰...
2024-04-12 11:15:23
654
2
原创 Android开发使用框架手把手搭建一个简单项目
一款适用于基于 android 系统的定制手表通过各种连接方式以不同的通信链路连接北斗设备进行指令交互以实现 “监测并反馈实时的设备状况” 和 “通过卫星消息收发文本、语音以及拆包图片” 以及除这两个主要功能以外的其他次要功能。其中通信链路包括:BLE低功耗蓝牙、经典蓝牙、USB Host、USB Accessory 和Serial Port串口
2024-03-26 14:20:55
1337
6
原创 Android 版 ChatGPT(超简洁)
在空闲时间敲了一个练手小项目 —— 手机版 ChatGPT需要梯子,需要自备key,设置完成后直接发送问题即可。
2023-12-01 17:22:12
545
原创 Android viewBinding 基本使用
其实无论在哪个位置使用 viewbinding 总体方式都是一样的,只是原本返回 view 的位置替换成 viewbinding.getRoot()方法,不同的就只有拿到初始化viewbinding对象的 LayoutInflater 罢了。
2023-10-08 17:10:40
1627
原创 Android 项目框架/学习
前段时间肝了个定制的小项目,这个项目是从另一个主项目里面抽出来的所以总体框架还是比较完善的。正所谓麻雀虽小五脏俱全,如果有中小型的项目需求可以直接拉下来修改也适用于刚入行的新手学习项目搭建。
2023-09-12 16:54:20
160
原创 Android 自定义二维列表
思路非常简单:在父列表布局中定义一个用于存放子列表的 LinearLayout 当父列表子项数据中具有子列表时则显示并动态添加一个RecyclerView ,如果没有则隐藏。父列表子项数据定义用的是 HashMap ,title 键存放 string 类型的列表标题、data 键存放List 类型的子列表标题、expand 键存放 boolean 类型的列表展开/收缩标识
2023-09-04 14:26:08
272
3
原创 Android 自定义单选按钮 RadioButton
总体思路很简单:自定义一个 LinearLayout 设置为横向布局,并将传入的图片资源文件id逐个按照比重为1添加进去。定义一个 ImageView 对象作为最后选中的对象,当点击新的选项时把最后选中的对象去色并将自身定义为最后选中的对象再恢复颜色同时把点击的索引传出去。
2023-08-09 17:04:21
1288
2
原创 Android自定义Spinner下拉列表
自定义下拉列表/Spinner:设置列表显示数目/设置列表高度前段时间有个项目用到了下拉列表,有一项需求是限制列表选项显示的数目,刚开始使用的是系统自带的spinner可是查了半天才发现无法设置它的显示项数甚至无法指定列表的高度。小结:总体思路很简单,创建一个LinearLayout并在初始化时添加一个头布局(文本加箭头)作为列表结果项,添加一个身体布局(PopupWindow)来作为选项列表,为这个结果项添加点击事件来显示选项列表.... 废话不多说,直接上代码。
2023-07-21 18:00:45
1286
2
北斗协议解析SDK(Java)
2024-03-25
Android USB通信源码/DEMO
2024-01-08
Android 蓝牙通信(传输文本/文件)DEMO源码
2023-12-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人