自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

唐诺

纸上得来终觉浅,绝知此事要躬行!

  • 博客(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

原创 《定风波》

三月七日,沙湖道中遇雨,雨具先去,同行皆狼狈,余独不觉。已而遂晴,故作此词。

2018-08-01 15:31:18 14205

原创 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

原创 vue下载pcm音频,自定义Canvas绘制波形图(滚动前进式)

【代码】vue下载pcm音频,自定义Canvas绘制波形图(滚动前进式)

2025-09-12 16:18:06 148

原创 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

原创 vue中使用Canvas绘制波形图和频谱图(支持.pcm)

【代码】vue使用Canvas绘制频谱图。

2025-07-30 09:43:23 687

原创 vue中使用wavesurfer.js绘制波形图和频谱图(支持.pcm)

【代码】vue中使用wavesurfer.js绘制波形图和频谱图。

2025-07-29 13:39:10 626

原创 非对称加密

公钥(Public Key):公开给任何人使用,用于加密消息或验证签名。私钥(Private Key):严格保密,仅由所有者持有,用于解密消息或生成签名。

2025-06-04 15:52:18 450

原创 将音频数据累积到缓冲区,达到阈值时触发处理

【代码】将音频数据累积到缓冲区,达到阈值时触发处理。

2025-06-04 14:29:37 505

原创 获取Android设备的硬件信息(CPU、RAM、ROM、分辨率、尺寸、版本)

获取Android设备的硬件信息(CPU、RAM、ROM、分辨率、尺寸、版本)

2025-05-13 17:05:11 426

原创 常用的正则表达式

查找空行:^\s*\n。

2025-05-09 10:53:33 161

原创 .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 系统申请蓝牙权限

蓝牙权限申请

2025-04-17 14:09:37 1795

原创 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

原创 Android水波纹搜索效果

Tips:Android,蓝牙搜索设备,水波纹效果。

2024-12-18 09:09:38 423

原创 自定义蓝牙数据传输应用层协议 - 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

原创 Android导出Excel的各种方法

【代码】Android导出Excel。

2024-11-26 14:14:29 535

原创 android MQTT使用示例

【代码】android MQTT使用示例。

2024-11-21 11:15:03 853

原创 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

原创 如何在本地文件系统中预览 Vue 项目?

要在本地文件系统中直接预览 Vue 项目,你需要确保打包后的 dist 文件夹中的资源能够正确加载。

2024-11-11 15:38:24 757

原创 鸿蒙开发环境: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

原创 cmake版本配置:> Invalid revision: 3.22.1-g37088a8-dirty

升级Gradle版本和AGP的版本;

2024-10-17 13:55:06 859

原创 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

原创 Rxjava2集锦

【代码】Rxjava2集锦。

2024-08-22 08:57:59 225

原创 音频波形图PcgView,一屏显示2秒的数据量

【代码】音频波形图3。

2024-08-21 11:59:28 544

原创 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

原创 Vue下载base64格式的二维码图片

【代码】Vue下载base64格式的二维码图片。

2024-08-08 09:42:35 488

Android 获取手机中已安装apk文件信息

Android 获取手机中已安装apk文件信息

2022-09-22

类似淘宝的商品详情页,继续拖动查看详情

类似淘宝的商品详情页,继续拖动查看详情

2016-10-19

仿微信布局

高仿微信页面,tab滑动切换、下拉设置、自定义UI等,适合初学者。

2015-05-28

ksoap2-android-assembly-3.6.2-jar-with-dependencies.jar

官方完整版:ksoap2-android-assembly-3.6.2-jar-with-dependencies.jar。 android 访问webservice必备。

2017-02-09

android aidl demo

http://blog.youkuaiyun.com/luoyanglizi/article/details/51980630

2016-10-19

双ListView联动

双ListView联动源码,封装的有工具类和适配器,可以调试

2015-08-21

jackson-all-1.9.2

jackson-all-1.9.2.jar

2015-04-01

calendarDemo

dialog中可以同时选择日期和时间,并封装工具类。

2015-05-28

Android版本更新案例

1、解析xml,判断应用是否有新版本 2、下载更新,进度条显示 3、安装新应用

2015-05-28

空空如也

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

TA关注的人

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