Android开发
Android原生开发相关
又菜又爱coding
这个作者很懒,什么都没留下…
展开
-
Android13 BLE扫描不到设备啦
Android13以前,广播的原始数据也是62字节,但广播包跟扫描回应包是连一起的,而Android13,把扫描回应包放在了后面的31字节中,也就是广播包和扫描回应包中间有很多0,导致 ScanRecord 没有 deviceName,但是又没有提供针对扫描回应包的类或者接口,那这种情况就需要写代码补救,这怎么看都不像是Android的设计方式,但现实就是这样,既然碰上了这种问题,那就还是要处理,下面是相关代码。客户又急吼吼的来找我们:大事不好啦!Android13扫不到蓝牙设备了!原创 2022-12-30 11:49:09 · 3828 阅读 · 3 评论 -
Android 12 BLE扫描权限
详细内容可参考官方文档Android 12 中可以不用位置权限进行蓝牙扫描了,蓝牙扫描改用新的权限:<uses-permission android:name="android.permission.BLUETOOTH" android:maxSdkVersion="30"/> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" android:maxSdkVersion="30"/>原创 2021-12-22 10:04:18 · 4314 阅读 · 0 评论 -
Android使用OpenGL和FreeType绘制文字
字符转位图,照着FreeType的文档很容易就实现了,其中关于字符水平对齐稍微花了点时间,后结合文档以及观察打印的数据,确定 bitmap_left 就是 bearingX,bitmap_top 是 bearingY,这样很容易把水平方向的字符按照 baseline 对齐。原创 2024-03-03 00:59:33 · 1159 阅读 · 0 评论 -
Android 使用 retrofit2 解析XML响应
【代码】Android 使用 retrofit2 解析XML响应。原创 2024-01-03 15:30:09 · 663 阅读 · 0 评论 -
Android registerForActivityResult
新的系统中 startActivityForResult 已经被标记为不推荐的方法,推荐的替代方案是使用 registerForActivityResult。原创 2024-01-01 22:32:14 · 979 阅读 · 0 评论 -
Android MQTT开发之 Hivemq MQTT Client
刚开始在自动连接这块花了好多时间,最后才发现是设置用户名和密码的地方不对,一定要在设置自动重连(初始化Client)的地方设置,而不是连接的时候!下面是一个简单的使用示例代码。原创 2023-11-16 11:42:11 · 909 阅读 · 0 评论 -
Android OpenGL ES踩坑记录
因为项目中的一个自定义绘图控件性能不行,改用OpenGL实现,也是第一次使用OpenGL,由于只是绘制2D图形,参考官方以及网上的教程,实现起来还是比较顺畅的,开发时只用了两个手机测试,运行良好,性能达标,结果换其他手机测试,闪退!还有个小插曲,就是画点的时候有些手机设置 glLineWidth 可以调整点的大小,有些手机不行,以至于本人以为这些手机画不出点来,这种情况得在着色器代码中使用专用的 gl_PointSize 来调整点的大小。原创 2023-11-09 20:04:35 · 220 阅读 · 0 评论 -
Android摄像头识别多个二维码并绘制识别区域
说起Android扫描二维码,可能很多人都会想到用zxing,个人感觉不是很好用,后来使用华为的“统一扫码服务”,用着还行,不用开发者再辛苦钻研不同手机的分辨率以及方向了,如今机器学习热度这么高,各大厂商已经把条码识别归入机器学习SDK,本文要介绍的就是使用谷歌的 CameraX以及机器学习,实现二维码识别,超级简单!3、从官方的示例代码复制两份代码。原创 2022-12-10 13:57:35 · 3908 阅读 · 7 评论 -
Android OpenGL ES 2.0入门实践
先上,代码效果如下图,屏幕上半部份是Java绘制的,下半部份是C++绘制的。原创 2023-10-29 16:07:23 · 788 阅读 · 0 评论 -
Android开发常用框架
一个简单的。原创 2023-08-22 17:41:42 · 50 阅读 · 0 评论 -
android jni开发
1:安装cygwin【在windows环境下模拟linux】这里列出了后面开发NDK用得着的包:autoconf2.1、automake1.10、binutils、gcc-core、gcc- g++、gcc4-core、gcc4-g++、gdb、pcre、pcre-devel、gawk、make共12个包。不要问为什么,照做吧。window系统的我的电脑在根目录的[cygdri原创 2016-04-21 09:58:15 · 270 阅读 · 0 评论 -
让 androidx.appcompat.app.AlertDialog 保持住不关闭
有时候AlertDialog带有逻辑判断,不符合条件的时候想继续显示对话框,但是点击了按钮默认是会关闭对话框的,又不想自定义Dialog,经研究测试,下面的方式可以达到预期效果:/** * 与 AlertDialog.Builder 的 setPositiveButton() 等价,只是不会关闭 AlertDialog * 关闭对话框交由调用者去处理 */fun AlertDialog.keep(text: String = "确定", listener: DialogInterface.On原创 2022-05-23 19:09:45 · 684 阅读 · 0 评论 -
Android解压zip rar 7z文件
下面 FileUtil.kt 代码中用到了 Context 的拓展方法 getAppDir。解压文件的代码 FileUtil.kt。原创 2023-07-13 09:34:21 · 1121 阅读 · 0 评论 -
Android 数据绑定 databinding
传统的MVC模式中,通过 findViewById() 初始化UI控件,当页面中的控件比较多时,就得进行重复而繁琐的初始化以及控件变量的管理,这时候就可以使用数据绑定来管理UI控件,省去这些重复的代码。要使用数据绑定,要先在 build.gradle 中添加如下配置:其次,布局文件也要做一些更改,比如 activity_main.xml 改成如下方式,即用 layout 作为根元素,layout 元素也只能包含一个子元素,所以可以把原先的根布局放到 layout 元素中,或者新建布局文件时以 layo原创 2022-07-09 23:30:12 · 1081 阅读 · 0 评论 -
Android集成native库libyuv转换图像&旋转图像
【代码】Android集成native库libyuv转换图像&旋转图像。原创 2023-05-26 10:23:25 · 676 阅读 · 0 评论 -
Android Execution failed for task ‘:app:mergeDebugResources‘.
使用Android Studio Arctic Fox编译时报错:Execution failed for task ':app:mergeDebugResources'.没有详细的提示信息,将SDK Location中 JDK Location 设置成jdk11(Android Studio Arctic Fox自带),再编译,会有更详细的提示,如布局文件中 TextView的text 属性值中有特殊字符(相对于xml解析而言的一些字符如尖括号),替换成对应的 &#xxx;...原创 2021-11-17 10:44:44 · 1911 阅读 · 0 评论 -
Android Studio一直Building的解决
有的时候用Android Studio打开工程会一直停留在Building状态,原因基本上就是网上说的无法下载gradle导致的,解决方法:1、参照这篇文章放置离线包;2、查看工程目录\gradle\wrapper\gradle-wrapper.properties文件中的gradle版本;3、如果Android Studio的安装目录下的gradle文件下没有对应版本的gradle,原创 2017-05-26 17:32:40 · 813 阅读 · 0 评论 -
Android Studio开发趟过的坑之aar的使用
很多时候我们需要使用第三方的库,如果这些库是以Module的形式集成到工程里,不仅工程的体积庞大,而且还严重影响编译速度!这时候我们就会考虑将第三方库打包成aar文件进行引用,引用的方法还是网上的老套路:1、将打包的aar放到libs目录;2、在你住程序的Module(没改的话一般是app)的build.gradle文件增加:allprojects { repo原创 2017-05-23 17:50:46 · 1294 阅读 · 0 评论 -
Android Studio生成JavaDoc
Tools->Generate JavaDocument出现如下界面:如果要导出整个项目选择Whole project即可,如果要选择指定文件,选择Custom Scopes,接着选择Selected Files即可选择工程目录下的任意文件:选定文件后,指定Locale:zh(以下内容转自http://my.oschina.net/u/2502527/blog/6152转载 2016-05-31 14:05:24 · 1948 阅读 · 0 评论