自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (3)
  • 收藏
  • 关注

原创 解决Android手机人民币符号¥只显示一横的方法

解决Android手机人民币符号¥只显示一横的方法本人在实际开发中遇到了Android手机上人民币符号¥只有一横的情况,(测试用的华为手机都出现了这个问题)且网络上搜索到的方法并不能很好的解决问题。故在解决了问题之后记录下解决方法与大家分享。该方法是使用Android内置的Html(android.text.Html)类对人民币符号的转义字符进行(&yen)进行解析,即可得到正确的显示结果。

2018-01-13 21:12:02 7407 2

原创 欢迎来到V7学院

V7学院的创建基于一个核心原则:我们希望帮助人们成为更好的溪降探险者。在溪谷下降时,我们拥有什么证书、炫酷的装备或者所属的俱乐部都不重要。真正重要的是我们知道什么,我们学会了做什么,以及我们能做什么。这些技能、能力和知识的发展才是我们真正的衡量标准,我们称这种发展为“能力”。V7学院的所有课程都是建立在一个广泛的教育理念上的,即“基于能力的学习(Competency Based Learning)”,该理念将学生的学习放在首位。我们摒弃了传统课程模式中受时间限制的学习和及格/不及格考试的模式。

2024-08-16 19:15:16 994

原创 秒开WebView?Android性能优化全攻略

在Android中,启用WebView的硬件加速可以显著提高渲染性能。默认情况下,WebView在硬件加速模式下运行,但如果你需要确保硬件加速已启用,可以在代码中显式设置。• 在应用启动时或在后台预先加载WebView,这样在需要显示WebView时可以立即使用。• 调整WebView的设置以提高性能,例如启用缓存、禁用不必要的功能等。• 使用WebView的异步接口加载内容,避免阻塞主线程。• 在创建WebView实例时,确保启用了硬件加速。• 启用WebView的缓存功能,减少加载时间。

2024-08-16 08:57:02 866

原创 安卓开发中的AppCompat框架简介

AppCompat 是 Android 开发中的一个支持库,旨在帮助开发者在不同版本的 Android 系统上实现一致的用户界面和功能。它提供了向后兼容的支持,使得开发者可以在较旧的 Android 版本上使用较新的 UI 元素和特性。以下是 AppCompat 框架的一些关键点:向后兼容:AppCompat 提供了许多现代 UI 元素和功能的向后兼容实现,使得这些元素可以在较旧的 Android 版本上运行。主题和样式:AppCompat 提供了一组主题和样式,可以帮助开发者创建一致的应用外观。

2024-08-15 11:03:20 1198

原创 3种Windows 配置软件自动启动方法

按 Win + R,输入 shell:startup,然后按回车。打开任务计划程序(按 Win + R,输入 taskschd.msc,然后按回车)。打开注册表编辑器(按 Win + R,输入 regedit,然后按回车)。在操作步骤中,选择 启动程序,并浏览到你想要自动启动的应用程序。双击新建的字符串值,并将其值设置为应用程序的可执行文件路径。按照向导的指示,设置任务名称和触发器(选择 计算机启动时)。将你想要自动启动的应用程序的快捷方式拖放到此文件夹中。将新建的字符串值命名为你的应用程序名称。

2024-08-15 10:54:12 5150

原创 C++ std::unique_ptr 详解

delete ptr;// 输出 20• std::unique_ptr 提供了独占所有权,确保内存安全释放。• 不能复制,只能通过 std::move 转移所有权。• 支持自定义删除器。• 使用 std::make_unique 提供更安全的创建方式。这些特性使得 std::unique_ptr 成为管理动态内存的强大工具,特别是在需要明确所有权语义的场景中。

2024-08-09 13:14:07 372

原创 C++ std::shared_ptr 与 std::weak_ptr 详解

• 引用计数:std::shared_ptr 内部维护一个引用计数器,记录有多少个 std::shared_ptr 实例共享同一个对象。std::weak_ptr 是一种不增加引用计数的智能指针,它可以安全地引用一个由 std::shared_ptr 管理的对象。std::weak_ptr 不能直接访问对象,需要通过 lock() 方法将其转换为 std::shared_ptr。在这个修改后的代码中,B 持有 A 的 std::weak_ptr,这样就不会增加 A 的引用计数,从而避免了循环引用。

2024-08-08 16:08:25 870

原创 c++异常处理机制详解

/ 自定义异常类public:private:try {return 0;详细解释try块:mightGoWrong函数被放在try块中,因为它可能抛出异常。throw语句:在mightGoWrong函数中,根据条件抛出不同类型的异常。catch块:有多个catch块来捕获不同类型的异常。每个catch块处理特定类型的异常,并输出相应的错误信息。在自定义异常类中添加更多的上下文信息可以帮助你在捕获异常时提供更详细的错误信息。

2024-08-08 09:19:33 750

原创 C++ static_cast用法简介

static_cast 是 C++ 中的一种类型转换运算符,用于在编译时执行类型转换。它提供了一种安全的方式来进行显式类型转换,避免了传统 C 风格类型转换的潜在问题。以下是 static_cast 的详细解释。

2024-08-06 16:09:57 461

原创 Android Gradle开发与应用 (一) : Gradle基础

• defaultConfig: 定义应用的默认配置,如应用 ID、最低和目标 SDK 版本、版本号等。• apply plugin: 应用 Android 插件,定义这是一个 Android 应用项目。• ./gradlew assembleDebug: 构建 debug 版本的 APK。• buildTypes: 定义不同的构建类型,如 release 和 debug。• android: 配置 Android 项目的编译选项。• ./gradlew build: 构建项目。

2024-08-06 09:18:35 558

原创 Leetcode Top100题目和答案(1-10)

问题描述:你是一个专业的小偷,计划偷窃沿街的房屋。问题描述:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。问题描述:给定一个只包括 (, ), {, }, [ 和 ] 的字符串,判断字符串是否有效。问题描述:给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。问题描述:给定一个排序数组,删除重复项,使每个元素只出现一次,并返回新的长度。问题描述:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。问题描述:给定一个字符串,找到最长的回文子串。

2024-08-05 09:52:52 1796

原创 目标检测算法简介

目标检测算法是一类计算机视觉技术,用于识别和定位图像或视频中的目标对象。

2024-08-05 09:04:13 891

原创 Windows 读取wav文件字节流并播放

使用Windows Wave相关API播放wav文件,实现文件读取进内存,按照一定字节数播放,对wav文件音频格式进行检测,只能播放48kHz采样率,16bit位深,单通道格式的音频文件。

2024-08-02 18:24:48 263

原创 yarn的安装与配置,秒懂yarn的用法

Yarn 是一个快速、可靠、安全的 JavaScript 包管理工具。以下是安装和配置 Yarn 的步骤,以及一些常用命令的介绍。这会根据 package.json 文件安装所有依赖。

2024-08-02 08:47:36 310

原创 Bug处理:类设计器将不可用。请确保通过启动 Visual Studio 安装程序并选择”修改”选项的方式进行安装。

在Visual Studio中,使用内置的类图工具来绘制UML类图。3. 验证:在解决方案管理器中,选中项目内的c++文件,右键单击选择。• 你可以手动调整类图中的类和关系,以便更好地展示类之间的关系。• 完成后,保存类图文件。它会被添加到你的项目中,供以后参考。• Visual Studio会自动解析头文件并生成类图。如果你在安装Visual Studio时没有选择安装。• 在解决方案资源管理器中,右键点击你的项目。• 在解决方案资源管理器中,右键点击类文件。• 在弹出的对话框中,选择。

2024-08-02 08:30:31 559

原创 Perl 语言入门

Perl 是一种非常灵活且功能强大的语言,适合各种类型的编程任务。。更多高级功能和模块可以参考Perl 官方文档。

2024-08-01 08:50:24 174

原创 Memcached介绍和详解

高性能:Memcached 通过将数据存储在内存中,提供了极快的读写速度。分布式:支持将数据分布在多个服务器上,扩展性强。简单协议:使用简单的文本协议进行数据存储和检索。多语言支持:支持多种编程语言的客户端库,如 Python、Java、C# 等。

2024-08-01 08:41:26 454

原创 决策树算法介绍:原理与案例实现

决策树是一种常用的机器学习算法,适用于分类和回归任务。它通过一系列的决策规则将数据集划分成不同的子集,从而构建一个树状模型。以下是决策树算法的基本原理和一个简单的案例实现。

2024-07-31 17:30:07 372

原创 Laravel为什么会成为最优雅的PHP框架?

在 Laravel 的 Eloquent 模型中定义一对多的关系非常简单。假设我们有两个模型:Post 和 Comment,一个帖子(Post)可以有多个评论(Comment)。在 Post 模型中定义关系: 在 Post 模型中,我们使用 hasMany 方法来定义与 Comment 模型的一对多关系。在 Comment 模型中定义关系: 在 Comment 模型中,我们使用 belongsTo 方法来定义与 Post 模型的反向关系。

2024-07-31 10:20:55 1104

原创 十个优质React-Native开源项目

React Native Firebase 是 Firebase 的 React Native 封装,提供了 Firebase 的所有功能,如身份验证、数据库、存储等。React Native Elements 是一个跨平台的 React Native UI 工具包,提供了丰富的 UI 组件,帮助开发者快速构建应用。React Native Vision Camera 是一个高性能的相机库,提供了丰富的功能和高度的可定制性,适用于 React Native 应用。它支持拍照、录像、实时处理等功能。

2024-07-31 09:58:53 2672

原创 决策树算法介绍:原理与案例实现

决策树是一种常用的机器学习算法,主要用于分类和回归任务。它通过一系列的决策规则将数据集划分成不同的类别或预测值。决策树的主要优点是易于理解和解释,且不需要大量的数据预处理。

2024-07-30 08:59:03 450

原创 数据结构之B树与B+树

B树的每个节点可以包含多个键和子节点,从而减少了树的高度,提高了操作效率。度数:B+树的度数(或称为最小度数)是一个重要参数,表示每个节点至少包含的子节点数。叶子节点:所有的键和值都存储在叶子节点中,叶子节点通过指针相互连接,形成一个链表。节点:B+树的每个节点可以包含多个键和子节点。键的数量:每个内部节点包含的键的数量在t-1到2t-1之间。子节点的数量:每个内部节点包含的子节点的数量在t到2t之间。子节点的数量:每个内部节点的子节点数量比其键的数量多1。键的排序:每个节点的键按升序排列。

2024-07-30 08:52:11 1628

原创 C/C++操作系统与预定义编译器宏

操作系统宏备注Android__linux__MacOSmacintoshMacintosh__APPLE__&&__MACH__Windows_WIN32_WIN64__WIN32__NUIX__unix____unixSolarissun__sunOpenBSDFreeBSD。

2024-07-26 15:22:57 357

原创 Windows波形音频MMEAPI简介

• WAVEOUTCAPS、WAVEINCAPS:描述设备的能力,包括制造商 ID、产品 ID、驱动程序版本、支持的格式、通道数等。• WOM_OPEN、WOM_CLOSE、WOM_DONE:波形输出设备的回调消息。• WIM_OPEN、WIM_CLOSE、WIM_DATA:波形输入设备的回调消息。• HWAVE、HWAVEIN、HWAVEOUT:波形音频设备的句柄。• WAVE_MAPPED、WAVE_FORMAT_DIRECT 等。• WAVE_MAPPER:用于波形设备映射器的设备 ID。

2024-07-24 16:56:19 1138

原创 为什么C++模板只能在头文件中实现

因此,编译器需要访问方法的实现,用模板参数(本例中是int)来实例化他们。如果这些实现没有在头文件中,它们将不可访问,导致编译器无法实例化模板。执行文件又包含在项目中,再次对成员函数进行了定义,所以会有“函数模板已经定义”的错误信息。以上代码出错的原因在于,当实例化一个模板时,编译器会根据给定的模板参数创建一个新类,对于上述代码,我们在。通用的解决方法是在头文件中写模板的声明,然后实现类在实现文件中(执行文件从项目中移除,注意是“移除”而不是“删除”。),同时在头文件尾部将实现文件include进来。

2024-07-24 15:03:34 514

原创 脉冲编码调制(PCM,Pulse Code Modulation)简介

脉冲编码调制(PCM,Pulse Code Modulation)是一种将模拟信号转换为数字信号的技术。在音频处理、电话通信以及其他许多领域都有广泛应用。PCM通过采样、量化、编码等三个主要步骤将模拟信号转换为数字信号。

2024-07-23 16:38:51 1401

原创 大端模式(Big-Endian)和小端模式(Little-Endian)

大端模式(Big-Endian)和小端模式(Little-Endian)是计算机科学中用于描述多字节数据的字节序(即字节的排列顺序)的术语。这两种模式定义了数据在内存中如何存储和读取,特别是在涉及多字节数据类型(Int ,Float)时。

2024-07-23 14:47:40 1020

原创 Windows使用互斥量实现控制台应用程序限制程序只能运行一个实例

如果是这种情况(ERROR_ALREADY_EXISTS),则表示程序的另一个实例已经在运行,当前实例应该退出。请注意,这种方法在多用户环境下可能需要调整,因为 “Global\” 前缀允许在所有用户会话中检测互斥量。此外,确保你的程序在任何退出点都释放了互斥量,以避免资源泄露。要确保你的程序只能运行一个实例,你可以使用操作系统提供的机制来检查是否已经有一个实例在运行。这个函数是在 头文件中定义的,通常用于控制台应用程序中,以便在不显示按键字符的情况下从键盘获取一个字符。

2024-07-15 11:40:35 259

翻译 FMOD Core API 指南

FMOD Core API 是一个程序员API,旨在涵盖声音的基础/原语。这包括'Channels''Sounds''DSP'以及3D声音和闭包等概念。它是独立的,不需要任何声音设计工具的接口。这些特性都是由程序员用代码实现的。

2023-12-13 11:29:41 669

原创 两路wav文件读取解析和混音输出并使用WaveOut相关API播放

wav文件由一个RIFF块(Resource Interchange File Format,资源互换文件格式)组成,其中包含一个"fmt "块和一个"data"块。RIFF块包含了文件的总体信息,具体如下字段大小 (字节)含义ChunkID4固定的4个字符:“RIFF”ChunkSize4wav文件的总大小-8字节,(不包含ChunkID 和ChunkSize本身的大小)Format4固定的4个字符:“WAVE”字段大小 (字节)含义4。

2023-12-08 14:27:08 228

原创 C++函数模板与类模板

C++模板允许程序员在通用编程中创建可重用的代码,这种编程技术基于模板的编译时多态性。程序员通过模板可处理多种类型儿无需为每种类型编写不同的代码。C++模板分为函数模板和类模板。template class 类名{//成员列表或者template class 类名{//成员列表。

2023-12-07 14:12:04 101

翻译 Qt6 QML 第六章第二节:状态和转换

为简单起见,我们使用2个矩形,半径设为宽度的一半(宽度与高度相同,这意味着它是一个正方形)。此外,这些状态切换可以有一个附加的过渡,它定义了这些变化应该如何动画化,或者应该应用的任何其他动作。状态通过状态名来标识,最简单的形式是由元素上的一系列属性更改组成。在状态中,只需要描述属性将如何从其默认状态更改(而不是从以前的状态更改)。使用鼠标区域触发状态变化,该区域覆盖整个交通灯,并在点击时在行进和停止状态之间切换。状态,其中每一种状态都将交通灯各自的颜色更改为红色或绿色。在go状态下,我们将颜色属性从。

2023-12-01 16:30:17 139

翻译 Qt6 QML 第六章第一节:动画

动画本身是一个独立的动画,目标设置为box,并配置为持续时间为2秒的x属性动画。为此,可以使用分组动画。这指定了总动画持续时间的40%是向上动画,60%是向下动画,每个动画依次运行。例如,一个顺序动画可以有两个并行动画作为子动画,以此类推。例如,当一页纸滑出时,这页纸最初应该缓慢地滑出,然后获得动量,最终以高速滑出,类似于翻页一本书。每条缓动曲线都由一个可点击的图像显示,当点击时,将在方形动画上设置一个新的缓动类型,然后触发。在制作更复杂的动画时,有时需要在正在进行的动画中更改属性或运行脚本。

2023-11-30 15:02:37 287

原创 Qt6 QMLBook 翻译目录【持续更新】

Qt QML Book 翻译 目录

2023-11-22 11:24:28 349

翻译 Qt QML第五章第八节: 输入元素

问题是,当焦点转移到 input2元素时,TlineEditV1(我们的矩形)中的顶级项目接收到焦点,并且没有将焦点转发给 TextInput。我们还创建了自己的组件 TTextEdit,以提供编辑背景,并使用焦点范围来更好地进行焦点转发。我们将创建名为 TLineEditV2的 TLineEdit 组件的第二个版本,使用焦点作用域作为根元素。除了闪烁的光标和输入的文本外,文本输入元素没有可视化表示。例如,要移动和缩放一个正方形,我们可以连接到上、下、左和右键来转换元素,以及正负键来缩放元素。

2022-11-25 16:30:49 434

翻译 Qt QML第五章第七节:布局项

QML 提供了一种灵活的方法来使用锚来布局项目。锚定的概念是` Item `的基础,并且对所有可视化 QML 元素都可用。锚的作用就像一个契约,比相互竞争的几何变化更强大。锚是相对性的表达; 您总是需要一个相关的元素来锚定。

2022-11-17 11:58:46 396

原创 小米手机使用FlutterDownloader下载安卓apk文件不能正常安装

在Flutter项目中使用下载apk文件,小米手机提示下载成功但是通知栏进度条卡住并且未跳出安装apk的窗口。当前Android项目包名:com.app.update.demo。

2022-11-17 10:28:33 1546 1

翻译 Qt QML 第五章第六节: 定位元素

它可以横向运行,也可以从顶部到底部。当项被添加到流中时,将根据需要对它们进行包装,以形成新的行或列。通过设置rows和columns属性,可以约束行或列的数量。如前所述,JavaScript 是 QtQuick 的核心部分,因此,我们可以使用标准库。在下面的示例中,我们将使用这些助手来使源代码更加紧凑和可读。在最简单的情况下,模型只是一个提供循环数量的值。的例子中,我们使用了一些新的魔法。我们定义自己的 color Array 属性,它是一个颜色数组。属性是一个很好的实践,这样可以简化可读性并帮助工具。

2022-11-14 21:31:37 306

翻译 Qt QML 第五章第五节: 简单转换

圆圈在每次点击时递增 x 位置,盒子在每次点击时旋转。三角形将旋转和缩放的图像在每次点击,以演示一个组合变换。这带来了一个有用的经验法则——如果您已经复制了一段代码三次,那么将其提取到一个组件中。我们使用我们的可点击的图像呈现三个对象(框,圆,三角形)。每个对象在单击时执行一个简单的转换。通常,QML 项可以被平移、旋转和缩放。这些操作有一种简单的形式和一种更先进的方法。在您自己的工作中,当您看到一些栅格化的边缘在您的图形,那么您可能应该切换平滑。让我们从简单的转换开始。这是我们的场景作为我们的起点。

2022-11-14 21:02:07 251

翻译 Qt QML第五章第四节:组件

组件是可重用的元素。QML 提供了创建组件的不同方法。目前,我们只研究最简单的表单——基于文件的组件。基于文件的组件是通过在文件中放置一个 QML 元素并给文件一个元素名称(例如 Button.qml)来创建的。您可以像使用 Qt Quick 模块中的其他元素一样使用该组件。在我们的示例中,您可以在代码中将其用作 Button { ... }。

2022-11-14 20:44:27 495

C++模板头文件与实现文件分离

C++模板的使用示例 解决:以下问题: 错误 LNK2019 无法解析的外部符号 "public: void __cdecl Foo<int>::doSomething(int)" (?doSomething@?$Foo@H@@QEAAXH@Z),函数 main 中引用了该符号 `错误 C2995 “void Foo<T>::doSomething(T)”: 函数模板已经定义`

2024-07-24

C++大端模式与小端模式判断

检测系统是使用大端模式还是小端模式 将系统字节序和网络字节序进行转换 使用C++代码实现 基于Visual Studio 2022

2024-07-23

两路wav文件读取解析和混音输出并使用WaveOut相关API播放示例代码

1.使用c++文件操作读取两路wav格式的音频文件并解析 2.将读取到的音频数据进行混音 3.播放混音后的音频数据 4.将混音后的音频数据保存到新的wav文件 5.原理讲解:https://blog.youkuaiyun.com/ChuJian_cao/article/details/134876525

2023-12-08

C++函数模板以及类模板简单示例demo

对C++函数模板的代码实现 对C++类模板的代码实现 对C++类模板继承的代码实现 代码对应的文章:https://blog.youkuaiyun.com/ChuJian_cao/article/details/134779209

2023-12-07

莱维特声卡4x5 macOS 库乐队配置文件 Republic Session.band

莱维特声卡4x5 macOS 库乐队配置文件 Republic Session .band 可以在Mac系统中实现莱维特声卡音频数据的处理

2020-03-10

莱维特声卡4x5 macOS 库乐队配置文件 Republic Session.band

莱维特声卡4x5 macOS 库乐队配置文件 Republic Session .band 可以在Mac系统中实现莱维特声卡音频数据的处理

2020-03-10

open camera Android 源码 适配Android Studio

open camera Android源码,适配Andorid Studio ,亲测可用

2019-06-19

Android 7 Camera 源码.zip

这是Android7.0原生相机的源码,可以在Android studio中正常使用。

2019-06-17

空空如也

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

TA关注的人

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