- 博客(257)
- 资源 (8)
- 收藏
- 关注
原创 Retrofit2 使用@Multipart上传文件
1、上传单个文件1.1定义接口 @Multipart @POST("uploadImgs") Call<HttpBaseResult<List<PicResultData>>> uploadSingleImg(@Part("description") RequestBody d
2018-11-28 16:58:49
41604
14
原创 Android 64位 ABI(x86_64) 的原生库(.so 文件)不支持 16KB 内存页大小的问题
摘要: Android 12(API 31)起强制要求64位原生库(.so)支持16KB内存页大小,否则会导致崩溃或Google Play拒绝上架。解决方法包括: 使用NDK r23+并配置ndkVersion; 在CMake中设置-Wl,-z,max-page-size=16384强制16KB对齐; 通过readelf -l检查.so文件的Align 0x4000字段验证兼容性。 需注意不同ABI需使用对应的readelf工具(如aarch64-linux-android-readelf)。
2025-11-21 16:43:29
230
原创 下载压缩文件,解压后找到ecg文件,并使用wavesurfer.js绘制心电图波形
下载压缩文件,解压后找到ecg文件,并使用wavesurfer.js绘制心电图波形。这段代码是一个 Vue 组件,用于在网页中展示心电图(ECG)波形。它使用了 WaveSurfer.js 进行波形渲染,并通过解析一个 ZIP 压缩包中的 .ecg 文件来加载原始 ECG 数据。整体流程涉及 网络请求 → 解压 ZIP → 解析二进制 ECG 数据 → 上采样 → 转换为 WAV → 播放波形。
2025-09-29 09:18:35
285
原创 Content-Disposition导致的文件无法预览,而是自动下载
因为提供这个文件的服务器在发送文件时,在HTTP响应头(HTTP Headers)中设置了一个指令:Content-Disposition: attachment。HTTP响应头 (HTTP Headers):包含服务器对这次请求的指令和元信息,比如状态码(200成功、404未找到)、内容类型、以及最重要的——内容处置方式。响应体 (Response Body):即您请求的实际内容,比如HTML代码、图片数据、或文件字节流。
2025-09-12 15:50:29
405
原创 使用wavesurfer.js自定义波形绘制,集成频谱、时间轴、缩放、区域选择等插件
使用wavesurfer.js自定义波形绘制,集成频谱、时间轴、缩放、区域选择等插件。
2025-09-11 10:14:45
398
原创 非对称加密
公钥(Public Key):公开给任何人使用,用于加密消息或验证签名。私钥(Private Key):严格保密,仅由所有者持有,用于解密消息或生成签名。
2025-06-04 15:52:18
450
原创 获取Android设备的硬件信息(CPU、RAM、ROM、分辨率、尺寸、版本)
获取Android设备的硬件信息(CPU、RAM、ROM、分辨率、尺寸、版本)
2025-05-13 17:05:11
426
原创 .aar中申请权限时使用了android:maxSdkVersion导致主App的权限组找不到对应的权限
但是,当App运行时(Android 33),使用 PermissionX 动态申请权限时,发现 我的App系统的权限组映射里没有找到 ACCESS_FINE_LOCATION 和 ACCESS_COARSE_LOCATION 权限;App集成了第三方的.aar包,.aar包中申请了定位权限,并且使用了 android:maxSdkVersion 属性;
2025-04-27 10:49:00
361
原创 Android打aar包问题总结
该插件提供了将library以及它依赖的library一起打包成一个完整aar的解决方案,支持AGP 3.0及以上。(目前测试的版本范围是AGP 3.0 - 7.1.0,Gradle 4.9 - 7.3)方法一:将moduleB的资源,手动拷贝一份到moduleA中;
2025-03-28 09:14:41
1139
原创 build、minifyReleaseWithR8 和 compileReleaseJavaWithJavac 三个不同的 Gradle 任务的主要差异
任务阶段是否混淆输出内容典型用途编译❌ 否原始.class文件快速检查编译结果优化/混淆✅ 是优化后的.class生成混淆代码供分析build完整构建流程取决于配置APK/AAR + 所有中间文件发布或测试完整产物。
2025-03-26 09:51:26
492
原创 Flutter组件嵌套问题解决方案
自定义 RenderObject 可以让你直接控制组件的布局和绘制过程,避免使用过多的内置布局 Widget 导致的嵌套。
2025-03-11 16:23:38
581
原创 JavaScript 中处理二进制数据的对象
中的数据,允许你指定字节序(大端或小端)和数据类型。它不能直接操作其中的数据,而是需要通过。是一组对象,用于以特定的数据类型访问。是一个用于表示通用、固定长度的二进制。,该新对象会共享原缓冲区的一部分数据。提供了更灵活的方式来读写。需要指定特定的数据类型。
2025-02-21 14:57:56
304
原创 Python调用DeepSeek API的示例
2、安装 openai:pip3 install openai。,注册开发者账号,申请 api_key;
2025-02-08 11:13:37
816
原创 UniApp中开发微信小程序的授权登录流程
首先,确保在项目中引入了微信小程序的登录API。console.error('登录失败:', res.errMsg);console.log('用户信息:', res.userInfo);console.log('登录凭证:', res.code);console.error('获取用户信息失败:', err);后,可以根据业务逻辑生成自定义的登录态(如token),并返回给客户端。通过以上步骤,你可以在UniApp中实现微信小程序的授权登录功能。:获取用户信息时,必须明确告知用户用途,并获取用户授权。
2025-02-06 10:50:57
7730
6
原创 Java 后端开发常用的技术栈
Java 后端开发常用的技术栈包含了多个层次,从数据库层到业务逻辑层再到展示层,每个层次都有不同的技术和工具可以选择。
2025-01-08 15:58:42
2854
原创 几种广泛使用的 C++ 编译器
选择哪个 C++ 编译器取决于你所在的平台、项目的需求和个人偏好。例如,在 Windows 上进行开发时,MSVC 是非常流行的选择;而在 Linux 或 macOS 上,GCC 和 Clang 则更为常用。对于需要极致性能的应用,可能会考虑 ICC。对于跨平台项目,Clang 和 GCC 由于其广泛的平台支持也显得尤为重要。
2024-12-20 13:50:02
1687
原创 自定义蓝牙数据传输应用层协议 - 2
以下是一个具体的示例,展示了基于上述自定义蓝牙数据传输应用层协议的完整数据传输过程,包括发送端的数据准备和发送,以及接收端的数据接收和处理。
2024-11-28 17:13:28
1132
原创 自定义蓝牙数据传输应用层协议 - 1
这个自定义协议用于在两个通过蓝牙连接的设备之间可靠地传输数据。协议主要包括数据帧的格式定义、数据类型标识、错误检测和处理机制等部分。文本消息(Data Type = 0x01)数据负载部分是 UTF - 8 编码的字符串。在发送端,将字符串转换为字节数组后放入数据负载部分;在接收端,将字节数组按照 UTF - 8 解码为字符串。例如,发送消息 “Hello, World!”,发送方将其转换为字节数组(UTF - 8 编码),放入数据负载部分发送。
2024-11-28 17:11:02
1303
原创 Vue3,将普通的组合式API转换为<script setup>形式
在Vue 3中,是一种更简洁的方式来编写组合式API。它允许你在单文件组件(SFC)中直接使用组合式API,而无需显式地定义 setup函数。这种方式减少了样板代码,使得组件更加简洁易读。下面是如何将普通的组合式API转换为。
2024-11-20 10:16:59
661
原创 Failed to connect to github.com port 443 after 2171 ms: Couldn‘t connect to server
无法连接到 github 的服务器;开了代理还是无法连接;由于本机系统代理端口和 git 端口不一致导致的。
2024-11-19 14:23:28
734
原创 鸿蒙开发环境:hvigor ERROR: Cannot find module ‘@ohos/hvigor‘
下载的是最新的DevEco Studio 5.0.0 Release,新建的Hello World项目,Preview failed。之前开发前端项目时,下载并配置了 低版本的node_path,导致 @ohos/hvigor 下载失败了。1、去 高级系统设置 – 环境变量中,删除 node_path 变量。尝试了卸载重装Studio,还是报错。3、重启 DevEco Studio。
2024-10-25 12:34:25
2364
原创 kotlin编译navigation的Directions报错
原因是根据 AS的提示,升级AGP的版本后,将 AndroidManifest.mxl 中的 package=“” 移到了build.gradle中了,导致编译报错。将package=“” 移回 AndroidManifest.mxl 中。
2024-10-17 09:36:20
445
原创 新版的AndroidStudio找不到Migrate to Androidx
使用旧版本的AS:Android Studio Arctic Fox | 2020.3.1。
2024-10-12 15:30:43
1323
2
原创 Parameter type must not include a type variable or wildcard: java.util.Map<java.lang.String, ? exten
定义接口 fun uploadRecords(@PartMap map: Map)时用的是Map,调用接口时,传入的是 HashMap()
2024-09-04 13:23:22
346
1
原创 The exception could not be delivered to the consumer because it has already canceled/disposed the fl
【代码】The exception could not be delivered to the consumer because it has already canceled/disposed the fl。
2024-08-19 11:16:08
1220
ksoap2-android-assembly-3.6.2-jar-with-dependencies.jar
2017-02-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅