刷新
嗨~这是我的第一篇博客

首先非常感谢博客园平台能够提供这么一个友好的交流环境。 自我介绍一下……也没什么可以介绍的,反正本人就是SunboyTPB了。 本人在博客园想跟大家互相交流分享一下鸿蒙(HarmonyOS)软件开发的经验。 顺带一提,也可以互相交流一下别的方面的一些话题。~(∠・ω< )⌒★ 当时HarmonyOS ...

【鸿蒙开发实战篇】鸿蒙6开发视频播放器的屏幕方向适配问题

博主头像 大家好,我是 V 哥, 在鸿蒙6开发中,屏幕方向适配是提升用户体验的重要环节。下面我将通过一个完整的视频播放器示例,详细讲解ArkTS中横竖屏切换的实现方案。 联系V哥获取 鸿蒙学习资料 一、基础概念理解 1.1 屏幕方向类型 鸿蒙系统支持四种屏幕方向: PORTRAIT(竖屏):屏幕高度大于宽度 ...

【鸿蒙开发实战篇】鸿蒙6开发中,UI相关应用崩溃常见问题与解决方案

博主头像 大家好,我是 V 哥。 在鸿蒙应用开发中,UI相关的应用崩溃是开发者常遇到的问题。虽然目前公开资料主要基于HarmonyOS 4.0及Next版本,但其核心调试方法和常见问题类型对未来的鸿蒙6开发具有重要参考价值。以下是根据现有技术文档整理的常见UI崩溃问题及其解决方案。 联系V哥获取 鸿蒙学习资料 ...

Dart 中并发、异步编程

博主头像 在写这篇文章之前,我一直在犹豫,要不要在这里讲解 Dart 的异步相关话题,因为这部分内容很容易让初学者望而却步。首先关于单线程和异步之间的关系,比较容易让人迷惑,虽然我一定会用自己的方式尽可能让你听懂。其次大量的异步操作方式(Future、await、async 等),目前你看不到具体的应用场景。 ...

Android动效探索:彻底弄清如何让你的视频更加酷炫

博主头像 在Android移动端视频处理领域,除了基本的播放功能外,添加动画和滤镜等特效已经成为提升用户体验的重要手段。然而,很多开发人员可能对于实现这些功能所需的技术细节感到困惑。因此,本文旨在提供一个详细的指导,帮助开发人员掌握如何使用开源MediaPlayer或自定义播放器,并利用OpenGL ES来实... ...

算起计算器APP—好看好用的多功能计算器

博主头像 算起计算器APP介绍 算起计算器是一款多功能计算器应用,个人用户永久免费使用,提供多种计算功能,包括基础数值计算功能和扩展计算功能。 基础数值计算功能 包括: 科学计算器 进制计算器 扩展计算功能 扩展计算功能即多功能计算工具箱,涵盖: 时间-日期计算 BMI 计算 速度、长度距离单位转换 闰年计算 ...

Launcher 卡片框架多模块集成

博主头像 方案一、aar架包集成 最简单直接的方案,卡片侧实现,打成aar包提供到launcher显示 方案二、AppWidget 原生的桌面小组件方案,被限制无法自定义view 底层通过BroadcastReceiver实现 方案三、插件方案 插件方案有好几种,实现原理都是通过配置实现,其中有Service ...

Launcher 桌面源码笔记二

博主头像 车模桌面加载成功后,需要各种交互 切换桌面处理 先补充如何切换桌面,初始化需要指定一个默认桌面,初始化其实两个桌面都会一起加载,假设默认是车模桌面,地图将不会初始化操作,但是地图桌面会内嵌到Launcher中 两个桌面是互斥的,基于这种模式下,就需要隐藏另一个桌面,因为切换动效的缘故,这里直接使用s ...

Launcher 桌面源码笔记一

博主头像 3D车模通过TaskView显示在Launcher,首先需要知道,为什么要用TaskView,而不是Activity,然后在说加载流程 1、surface比activity等效率更高,特别是针对车模跟地图等重量级场景 2、切换桌面等场景时,可以更精确的控制暂停恢复 3、进程隔离,更精细的生命周期管理 ...

氛围灯动态屏保取色方案二

博主头像 hue查找:整体偏差不会很大,但是对于亮度较高存在误差,精准度不够 lab查找:整体一般,但是精准度较好,不过算法复杂,增加耗时 hue色相查找存在误差,在有限的256色中,匹配的规则需要调整 这里使用lab算法提高精准度 RGB转Lab fun rGBToLab(r: Int, g: Int, b ...

氛围灯动态屏保取色方案一

博主头像 氛围灯并不支持所有的颜色,只能支持256色,所以在取到图片颜色后需要根据结果颜色去跟氛围灯所支持的256色对比,取最接近的结果色,然后同步到氛围灯显示 取色流程 取色需要用到原生 Palette.from(bitmap).generate() 方法,通过量化算法分析位图的像素颜色分布,提取最具代表性 ...

2.Android Compose 基础系列:在 Kotlin 中创建和使用变量

博主头像 在应用开发中,有些内容是固定的,例如“设置”中的菜单项;而有些内容会不断变化,比如新闻应用中的标题、来源或发布时间。为了让这些变化自动更新,而不是每次都修改代码,我们需要使用 变量(variable)。 学习目标 了解什么是变量,并学会定义和更新变量 掌握如何为变量选择合适的数据类型 学会在代 ...

Flutter UI 性能优化实践

博主头像 认真对待每时、每刻每一件事,把握当下、立即去做。 Flutter UI 性能优化实践经验,结合从“布局优化、渲染优化、实践建议”几个维度和具体代码示例进行一个解析。 一. 布局优化 核心目标是减少布局计算量,避免布局重排(Relayout),提升布局效率。 1. 懒加载减少布局计算‌ 作用阶段:布局 ...

Gradle读取仓库配置文件的优先级

Gradle 在读取仓库配置文件(如 settings.gradle 或 build.gradle 中定义的 repositories)时,遵循一定的优先级规则。以下是 Gradle 读取仓库配置文件的优先级顺序: 1. 项目级配置文件 settings.gradle: 这是 Gradle 项目的入 ...

MVC / MVP / MVVM 架构解析

博主头像 认真对待每时、每刻每一件事,把握当下、立即去做。 MVC 模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。除此之外,此模式通过对复杂度的简化,使程序结构更加直观。下面主要对 MVC 架构下的优化方案以及其项目结构解析。 一. MVC 相应层应该 ...

123···50>