自定义博客皮肤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)
  • 资源 (2)
  • 收藏
  • 关注

原创 Android JNI开发记录

上面表示JNIEnv跟每个线程是捆绑的,无法在线程B访问到线程A的JNIEnv,所以通过保存g_env的方式去使用是不行的。所谓函数签名,简单点的理解可以理解成一个函数的唯一标识,一个签名对应着一个函数的签名。不过通常标准情况下生成的so库需要放在单独的jniLibs文件夹下,再配置build.gradle文件指定加载的so库地址,这样才算比较完整的jni开发流程。c、注意如果jni方法是通过static方式调用的话,这边的jobject表示的是jclass对象,需要进行强转,并不表示一个独立的对象。

2025-04-17 19:32:24 755

原创 Android Bluetooth蓝牙从机模式

在 Android 中开发蓝牙从机(Peripheral/Server)功能,通常指通过 蓝牙低功耗(BLE) 协议让设备作为 服务端(GATT Server) 提供数据服务,供其他设备(如手机、平板)连接和交互。前段时间一直忙于开发无时间梳理相关逻辑,先阶段根据代码对蓝牙从机模式做出梳理,以备后面使用。开启蓝牙需要蓝牙、位置、蓝牙广播、读写等相关权限,以下是部分权限。应用在后台时,广播可能被系统限制,需使用前台服务。(2) 检查设备支持。(1) 配置广播参数。(2) 处理生命周期。

2025-04-09 16:43:22 377

原创 Android AIDL传递体积较大数据

在 Android 中,直接通过 AIDL 传递超过 2MB 的数据会触发 Binder 传输限制(默认上限约 1MB~1.5MB,不同系统版本有差异),导致 TransactionTooLargeException 异常。MemoryFile:利用 Android 的匿名共享内存(Ashmem)创建内存映射文件,通过传递 ParcelFileDescriptor 实现跨进程访问。方案 1:共享内存(Ashmem)传递文件描述符。优点:高效(直接内存共享)、避免拷贝大块数据。(2) 服务端实现分块获取。

2025-03-18 16:49:40 349

原创 Android 常用的IPC跨进程通讯方式

创建。

2025-03-18 16:39:54 799

转载 Android DiskLruCache完全解析,硬盘缓存的最佳方案

这倒不必担心,DiskLruCache中使用了一个redundantOpCount变量来记录用户操作的次数,每执行一次写入、读取或移除缓存的操作,这个变量值都会加1,当变量值达到2000的时候就会触发重构journal的事件,这时会自动把journal中一些多余的、不必要的记录全部清除掉,保证journal文件的大小始终保持在一个合理的范围内。其实最简单的做法就是将图片的URL进行MD5编码,编码后的字符串肯定是唯一的,并且只会包含0-F这样的字符,完全符合文件的命名规则。感兴趣的朋友请继续阅读。

2025-03-18 11:51:53 90

原创 RecyclerView性能优化策略总结

当数据集发生变化时,使用 DiffUtil 来计算新旧数据集的差异,并只更新发生变化的部分,而不是调用 notifyDataSetChanged(),后者会导致所有 item 重新绑定。如果 RecyclerView 的 item 大小固定不变,调用 setHasFixedSize(true) 可以避免不必要的布局计算。如果不需要 item 的动画效果,可以将 ItemAnimator 设置为 null,以减少不必要的动画计算。RecyclerView常见应用层次性能优化简单概括。

2025-02-20 15:54:35 567

转载 android控件(选择按钮)

包括:如何使用复选框CheckBox及其勾选监听器、如何使用开关按钮Switch、如何借助状态列表图形实现仿iOS的开关按钮、如何使用单选按钮RadioButton和单选组RadioGroup及其选中监听器。借助状态列表图形StateListDrawable,分别定义已选中时候的“开”图形,以及未选中时候的“关”图形。setChecked:设置按钮的勾选状态。checked:指定按钮的勾选状态,true表示勾选,false表示未勾选。setButtonDrawable:设置左侧勾选图标的图形资源。

2024-10-24 10:10:17 398

原创 bugly集成

bugly

2024-09-23 14:15:22 674

原创 蓝牙、网络、扫码demo

蓝牙:中心机模式从机模式网络:扫码:zxing框架。

2024-03-12 11:17:00 175 1

原创 Ble低功耗蓝牙开发基础与实践

通过定义不同的服务和特征值,设备可以提供不同的功能和操作,如传感器数据、控制命令等。通过BLE广播,设备可以宣布自身的存在、提供基本的信息和服务,以便其他设备发现和与之进行进一步的通信。通过广播,BLE设备可以以一种无连接的方式向周围的设备发送信息,以便其他设备能够发现它们并建立连接。需要注意的是,同一个设备在不同的场景下可能同时扮演中央设备和外围设备的角色,例如智能手机可以作为中央设备连接传感器设备,但也可以作为外围设备提供服务给其他设备连接。描述符是可选的,并提供关于特征值的元数据,如单位、权限等。

2024-02-24 15:24:19 2677 1

原创 Gitblit本地化搭建

打开gitblit.properties文件,D:\gitServer\gitblit-1.9.3\data\gitblit.properties(本人地址)配置完成之后,返回上一层目录,双击gitblit.cmd 弹出启动信息dos窗口,即可查看启动gitblit服务,关闭窗口则关闭gitblit服务。其他的用户需要下载仓库已上传的东西,将地址改为对一个的账号发给他们并告知密码即可。创建仓库的时候红框标注的最好直接构上,省的用命令在初始化添加了。下载gitblit安装版压缩包,直接解压。

2023-09-08 11:47:09 494 1

原创 Room使用的坑

(3)切记不是Android studio自带的DB brower,android studio自带的DB brower插件只可以编辑db库,不会生成、更新db-shm\db-wal文件,所有即使用它更改了数据,从/data/data目录下导出db\db-shm\db-wal文件,作为其他app的数据源,你更改的数据也不会添加到库里面,因为db-shm\db-wal这两个文件没有改变;1、用其他的数据源作为初始化数据并修改的时候。2、自己项目的数据库需要更新、添加数据的时候。此处仅为记录出坑环节。

2023-09-07 16:54:09 241

原创 木木模拟器导致电脑重启

Android 木木

2022-11-30 14:29:28 1917

Android JNI开发记录

Android JNI开发记录

2025-04-18

Android照片结合LruCache和DiskLruCache Demo源码程序

Android照片结合LruCache和DiskLruCache Demo源码程序

2025-03-18

Android DiskLruCache完全解析,硬盘缓存的最佳方案

Android DiskLruCache完全解析,硬盘缓存的最佳方案

2025-03-18

AndroidRecyclerView的好伴侣:详解DiffUtil

DiffUtil示例

2025-02-20

【Android - UI 开发】RecyclerView 实现滑动删除功能

【Android - UI 开发】RecyclerView 实现滑动删除功能

2024-11-20

Android RecyclerView使用简述

Android RecyclerView使用简述

2024-11-19

Android 11+储存与相册适配

保存图片与视频到相册,适配Android10一下,Android10以上

2024-10-24

蓝牙、网络、扫码demo

蓝牙、网络、扫码demo

2024-03-12

蓝牙、网络、扫码demo

蓝牙、网络、扫码demo

2024-03-12

Android zxing生成 扫码

Android zxing生成 扫码

2024-03-12

Android zxing生成 扫描二维码(含有源码lib)

Android zxing生成 扫描二维码(含有源码lib)

2024-03-12

Android zxing生成 扫描二维码(依赖形式)

Android zxing生成 扫描二维码(依赖形式)

2024-03-12

Android FastBle 教程demo

Android FastBle 教程demo

2024-02-24

主设备蓝牙扫描链接代码

结合实际使用优化之后的代码

2024-02-24

低功耗蓝牙 主机、从机开发汇总代码

暂未验证,看代码似乎正确

2024-02-24

gitblit包,免安装,解压直接用

下载解压简单配置之后就可以用

2023-09-08

DB Browser for SQLite

官网地址 https://sqlitebrowser.org/dl/

2023-09-07

面向切面支持包,欢迎大家随时下载

搞个公共的资源好多人居然都要积分,还要二十个左右的积分,瞧不上他们这些人

2023-09-04

高德api 高德地图上绘制操作相关的demo

本demo压缩包是从高德地图官方网站下载,请尊重高德地图原创权限

2022-11-30

RSA加解密实测成功demo.zip

RSA加解密在Android和java端方式有点区别 后台相关代码不能直接拿来在Android端应用 同样Android 端RSA加解密相关的工具类也不能直接给后台用需要稍作改动 另外加解密的字符长度受密钥长度影响 当加解密字符串长度大于密钥长度/8-11的时候 加密的字符串转为byte之后需要分段加密,每段长度小于等于密钥长度/8-11 解密的时候也需要分段解密 每段byte长度小于等于密钥长度/8 具体看案例demo 本demo实测成功 并纠正了网上所谓的加密长度117 解密长度128的错误认识

2020-08-03

templateTest.zip

fragment+viewpager+PagerSlidingTabStrip实现不同界面的切换,实测成功,切换顺畅

2019-07-24

空空如也

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

TA关注的人

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