嗨~这是我的第一篇博客
首先非常感谢博客园平台能够提供这么一个友好的交流环境。 自我介绍一下……也没什么可以介绍的,反正本人就是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 计算 速度、长度距离单位转换 闰年计算 ...
FFmpeg开发笔记(八十八)基于Compose的国产电视直播开源框架MyTV
MyTV是一款使用Android原生开发的网络直播软件,它的原理是接入网络上的直播推流链接,通过Android提供的ExoPlayer来播放直播节目。有关网络推拉流的直播技术可参考《FFmpeg开发实战:从零基础到短视频上线》一书的“10.2 FFmpeg推流和拉流”。 MyTV的源码托管地址为h ...
FFmpeg开发笔记(八十七)采用Kotlin的手机开源播放器VLC-Android
《FFmpeg开发实战:从零基础到短视频上线》一书的“3.4.1 通用音视频播放器”介绍了如何在桌面系统上安装和使用通用音视频播放器VLC media player,其实VLC是个跨平台的播放器,它也提供了面向Android平台的手机版VLC。 Android版VLC的官网地址是https://c ...
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 ...
FFmpeg开发笔记(八十三)国产的视频裁剪框架AndroidVideoTrimmer
《FFmpeg开发实战:从零基础到短视频上线》一书的“第 12 章 FFmpeg的移动开发”介绍了如何使用FFmpeg在手机上剪辑视频,方便开发者更好地开发类似剪映那样的视频剪辑软件。那么在Android系统上还有一款国产的开源视频裁剪框架Android-Video-Trimmer,通过该框架可以 ...
氛围灯动态屏保取色方案一
氛围灯并不支持所有的颜色,只能支持256色,所以在取到图片颜色后需要根据结果颜色去跟氛围灯所支持的256色对比,取最接近的结果色,然后同步到氛围灯显示 取色流程 取色需要用到原生 Palette.from(bitmap).generate() 方法,通过量化算法分析位图的像素颜色分布,提取最具代表性 ...
2.Android Compose 基础系列:在 Kotlin 中创建和使用变量
在应用开发中,有些内容是固定的,例如“设置”中的菜单项;而有些内容会不断变化,比如新闻应用中的标题、来源或发布时间。为了让这些变化自动更新,而不是每次都修改代码,我们需要使用 变量(variable)。 学习目标 了解什么是变量,并学会定义和更新变量 掌握如何为变量选择合适的数据类型 学会在代 ...
Flutter实现闲鱼底部导航栏中间突出效果
实现思路 在 Scaffold 组件中使用 bottomNavigationBar 和 floatingActionButton 属性建立底部导航栏和浮动按钮,同时使用 floatingActionButtonLocation 属性指定浮动按钮的位置。 默认情况下,当 floatingActionB ...
【鸿蒙开发实战篇】HarmonyOS NEXT 5.0 的星闪(NearLink)开发应用案例
大家好,我是 V 哥,今天给大家分享一个 HarmonyOS NEXT 星闪的开发案例。 以下基于 HarmonyOS NEXT 5.0 的星闪(NearLink)开发应用案例与完整代码实现,结合智能车钥匙和工业传感器监控两大典型场景,整合官方文档和开发者实践。 一、应用场景与星闪技术优势 1. 智 ...
Flutter UI 性能优化实践
认真对待每时、每刻每一件事,把握当下、立即去做。 Flutter UI 性能优化实践经验,结合从“布局优化、渲染优化、实践建议”几个维度和具体代码示例进行一个解析。 一. 布局优化 核心目标是减少布局计算量,避免布局重排(Relayout),提升布局效率。 1. 懒加载减少布局计算 作用阶段:布局 ...
Gradle读取仓库配置文件的优先级
Gradle 在读取仓库配置文件(如 settings.gradle 或 build.gradle 中定义的 repositories)时,遵循一定的优先级规则。以下是 Gradle 读取仓库配置文件的优先级顺序: 1. 项目级配置文件 settings.gradle: 这是 Gradle 项目的入 ...
MVC / MVP / MVVM 架构解析
认真对待每时、每刻每一件事,把握当下、立即去做。 MVC 模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。除此之外,此模式通过对复杂度的简化,使程序结构更加直观。下面主要对 MVC 架构下的优化方案以及其项目结构解析。 一. MVC 相应层应该 ...


