<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[程序猿追的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/aasd23</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; aasd23]]></copyright><item><title><![CDATA[示例资料明明填了，输入框却没变：HarmonyOS 6 多端表单的一次修正]]></title><link>https://blog.csdn.net/aasd23/article/details/170245074</link><guid>https://blog.csdn.net/aasd23/article/details/170245074</guid><author>aasd23</author><pubDate>Sat, 07 Nov 2026 17:38:33 +0800</pubDate><description><![CDATA[周末报名处有四个字段：称呼、手机号、出发城市和备注。宽窗口里分两列，窄窗口里顺着一列填写，再选城市散步或山野徒步。做版面之前，先给它加了“填入示例资料”，方便比较同一组内容在两种宽度里的变化。实测时，这个按钮恰好暴露了问题：状态变量已经赋值，输入框仍然是空的。如果只检查提交方法，可能会看到报名成功，以为页面已经没问题；可用户眼前根本没有显示那份资料。这篇就先从这个小错讲起，再把布局与完整代码放在后面。按钮更新了状态，不代表用户一定看到了更新。]]></description><category></category></item><item><title><![CDATA[明信片排几列，交给当前窗口：HarmonyOS 6 Grid 小练习]]></title><link>https://blog.csdn.net/aasd23/article/details/170244440</link><guid>https://blog.csdn.net/aasd23/article/details/170244440</guid><author>aasd23</author><pubDate>Sat, 07 Nov 2026 16:45:15 +0800</pubDate><description><![CDATA[几张明信片放在宽窗口里，一排三张很舒服；窗口缩小后，还坚持三张并排，图片和按钮就开始互相争空间。旅行邮局用九张本地卡片做一件简单的事：一列、两列、三列之间切换，同时让已经收进邮袋的那张仍然被记住。这次使用的是 Grid，而不是把每张卡片的横坐标自己算出来。Grid负责规则网格与滚动，页面提供当前列数，卡片内部只安排图片、标题和收下按钮。先把这几层分开，后面增加卡片时才不必一起修改一串位置公式。不足560 vp时排一列，560 vp到899 vp排两列，达到900 vp排三列。只读取内容宽度并返回列数，再拼出]]></description><category></category></item><item><title><![CDATA[宽出来的地方放什么？给 HarmonyOS 6 出行看板排一轮信息优先级]]></title><link>https://blog.csdn.net/aasd23/article/details/170244349</link><guid>https://blog.csdn.net/aasd23/article/details/170244349</guid><author>aasd23</author><pubDate>Sat, 07 Nov 2026 16:42:25 +0800</pubDate><description><![CDATA[一张出行看板如果同时摆满天气、预算、同行人和路线说明，信息确实不少，真正准备出门时却可能先找不到目的地和出发时间。窗口缩小以后，这个矛盾更明显：不能既保留所有辅助内容，又要求主要信息一直清楚。这次的小页叫“下一站，出发”。它不把每块内容都等比缩小，而是把信息分成三个层级。最窄时保留目的地、时间和清单操作；空间增加后补行程细节；再宽一些才展示天气与预算备忘。切换日期和确认清单则始终使用原来的状态。空间多了，应先让任务更容易完成，再考虑增加信息量。这张看板围绕目的地和出发时间展开，逐层补足上下文；]]></description><category></category></item><item><title><![CDATA[这次由谁决定配色？HarmonyOS 6 手动外观与跟随系统]]></title><link>https://blog.csdn.net/aasd23/article/details/170244282</link><guid>https://blog.csdn.net/aasd23/article/details/170244282</guid><author>aasd23</author><pubDate>Sat, 07 Nov 2026 16:41:03 +0800</pubDate><description><![CDATA[设置页里的“跟随系统”不是第三种固定颜色。它意味着撤销应用自己的浅色或深色偏好，让资源匹配继续接受系统配置。如果按钮高亮已经换到“跟随”，页面却仍缓存着上次的深色值，控件看似齐全，决定权其实没有交出去。这篇便签练习就围绕这个交接展开。白昼便签用一段文字观察这件事。上方有三种外观入口，下方是一块可编辑便签，右下角可以把当前内容留在本页。切换时纸色、文字与操作色一起变化，文字本身和保存反馈继续保留。这次重点是偏好的来源，和前面单纯给阅读页准备两套颜色相比，观察角度不同。]]></description><category></category></item><item><title><![CDATA[视频进入全屏，播放仍交给同一个控制器：HarmonyOS 6 放映室]]></title><link>https://blog.csdn.net/aasd23/article/details/170244211</link><guid>https://blog.csdn.net/aasd23/article/details/170244211</guid><author>aasd23</author><pubDate>Sat, 07 Nov 2026 16:21:49 +0800</pubDate><description><![CDATA[播放器里有两个看起来相近的按钮：一个开始播放，一个把画面放大。前者改变播放状态，后者改变呈现方式。如果每次全屏都重新创建一个播放器，短片也许还能看，长视频就容易出现进度重来、重复声音或者返回后按钮与画面不同步。这次放映室只使用一个 Video 和一个 VideoController。画面来自本地十二秒的几何测试短片，静音播放，方便专门观察进度与全屏过程。页面不需要账号、在线播放地址或外部播放器，就能把开始、暂停、全屏和返回接起来。]]></description><category></category></item><item><title><![CDATA[网页放进应用以后，也得会换行：HarmonyOS 6 Web 布局实做]]></title><link>https://blog.csdn.net/aasd23/article/details/170244111</link><guid>https://blog.csdn.net/aasd23/article/details/170244111</guid><author>aasd23</author><pubDate>Sat, 07 Nov 2026 16:13:13 +0800</pubDate><description><![CDATA[把网页放进应用，看上去只需要一个 Web 组件。可应用窗口缩到旁边以后，网页仍然固执地保持三栏，字小得要放大才能读，这时问题已经不在原生页面怎么排列。外层容器和网页各有自己的布局，必须把这两层一起接上。风物小报使用一份本地 HTML。里面是三则周末短文，宽时三栏，窄时一栏，页尾有“标记读过”按钮。原生工具区可以改变自由窗口宽度、执行网页操作，再读取网页报告的尺寸和计数。这样不用依赖外部网站，也能把一次窗口变化追到网页内部。]]></description><category></category></item><item><title><![CDATA[同一张库存表，宽窗多看几行：HarmonyOS 6 列表密度调整]]></title><link>https://blog.csdn.net/aasd23/article/details/170243539</link><guid>https://blog.csdn.net/aasd23/article/details/170243539</guid><author>aasd23</author><pubDate>Sat, 07 Nov 2026 15:31:06 +0800</pubDate><description><![CDATA[库存表在窄窗口里需要先回答两个问题：这是什么货，还有多少。窗口拉宽后，如果仍是一行巨大的名称和一大片空白，查找效率并不会跟着空间一起增加。青禾仓储这张小表选择了另一种排法：增加辅助字段，同时把行距调整得紧凑一些。这里的“显示更多”有两层意思。一层是同一行能看到库位和更新时间，另一层是有限高度里能容纳更多行。两层要分别设计。给每行多塞几段文字，却维持过高的留白，只完成了前一半；把行压得很薄，让按钮难以点击，也不算合适的密度。紧凑排版的价值，可以落到一次实际查找上：宽窗能多看几行，也能直接查库位；]]></description><category></category></item><item><title><![CDATA[菜单搬到上面以后，刚选的栏目还在：HarmonyOS 6 自适应导航]]></title><link>https://blog.csdn.net/aasd23/article/details/170243116</link><guid>https://blog.csdn.net/aasd23/article/details/170243116</guid><author>aasd23</author><pubDate>Sat, 07 Nov 2026 14:59:38 +0800</pubDate><description><![CDATA[一张课表有三个入口：今天上什么课、这周练什么、已经学了多久。窗口比较窄时，把入口放在底部，正文留在中间；空间宽起来以后，让入口出现在正文上方，扫一眼就能切栏目。菜单换个位置并不难，容易被漏掉的是换位置之后的那一次点击。比如先打开练习清单，加入一项练习，再把窗口拉宽。如果页面突然回到今日课程，或者加入按钮又变成初始状态，用户就得重新找一遍。映日课表把这个过程放在一起做：栏目位置跟随可用宽度，栏目选择和练习状态各自保留。本例使用 HarmonyOS 6.1.1、API 24，运行环境是二合一模拟器。]]></description><category></category></item><item><title><![CDATA[一个工程面向手机与二合一：HarmonyOS 6 部署配置和本地手记]]></title><link>https://blog.csdn.net/aasd23/article/details/170241653</link><guid>https://blog.csdn.net/aasd23/article/details/170241653</guid><author>aasd23</author><pubDate>Sat, 07 Nov 2026 14:20:39 +0800</pubDate><description><![CDATA[随身手记最基本的承诺，是刚写下的话下次还在。这个收尾练习就用一段本地手记，把页面布局与部署配置接到一次真正的读写里：编辑、保存、换窗口大小，再结束进程重新打开，看看刚才的文字是否回来。这篇把工程配置与运行表现分别确认。示例做成一页随身手记，核心操作是编辑、保存和重启后读取。宽窗口增加设备信息区，紧凑窗口专心编辑，让同一份业务代码在不同空间里保持清楚的使用方式。写下的话能保存，重新打开仍能读到，窗口收窄后也能接着编辑——这就是本例实际跑通的范围。部署声明、可用空间和本地数据分别有自己的依据。]]></description><category></category></item><item><title><![CDATA[大模型的训练数据从哪来？用亮数据做一份 Python 问答训练集]]></title><link>https://blog.csdn.net/aasd23/article/details/170236769</link><guid>https://blog.csdn.net/aasd23/article/details/170236769</guid><author>aasd23</author><pubDate>Sat, 07 Nov 2026 10:11:07 +0800</pubDate><description><![CDATA[大模型的训练数据从哪来？用亮数据做一份 Python 问答训append和extend都能往列表里加东西，到底有什么区别？试一下就明白了。对[1, 2]使用，结果是。换成，结果就是。这道题和它的答案，就可以做成一条训练样本。整页 Python 文档里还有导航、目录和链接，真正用得上的，可能只有解释这两个方法的几段话和一小段代码。从网页到训练集，中间最花功夫的往往就是这些活儿：挑内容、写问题、核对答案。]]></description><category></category></item><item><title><![CDATA[留言写到最后一行，键盘也别挡住它：HarmonyOS 6 输入避让]]></title><link>https://blog.csdn.net/aasd23/article/details/170192805</link><guid>https://blog.csdn.net/aasd23/article/details/170192805</guid><author>aasd23</author><pubDate>Fri, 06 Nov 2026 13:42:49 +0800</pubDate><description><![CDATA[表单最容易出问题的时刻，往往不是刚打开页面，而是用户滑到底部，准备写最后一段话。输入框原本在屏幕上，键盘一弹，光标和操作区一起挤到了看不见的位置。用户还在输入，页面却像突然少了一截。这次做一个“旅途留言”表单：称呼、目的地、邮箱，以及给自己的一句话。既保留系统输入框，也为最后一项准备一个真实的 ArkUI 快捷键盘，用几句常用留言检查弹起、输入、收起与保存这一整段过程。避让要照顾的是正在写字的人。]]></description><category></category></item><item><title><![CDATA[拖走窗口，灵感还在：HarmonyOS 6 多窗口重排]]></title><link>https://blog.csdn.net/aasd23/article/details/170189347</link><guid>https://blog.csdn.net/aasd23/article/details/170189347</guid><author>aasd23</author><pubDate>Fri, 06 Nov 2026 10:44:42 +0800</pubDate><description><![CDATA[我希望这页能像桌上的便签板：放大时多摆几张卡，缩到旁边时少摆一点，挪到屏幕另一侧也不影响刚刚选中的灵感。窗口的位置和内容的状态，最好互不打扰。于是做了一个“灵感工作台”。页面还显示当前宽度、列数与选中卡片。与单纯切换一列、两列的演示相比，这次把真实窗口移动也放进操作链，看看移动和缩放各自会带来什么变化。这页并不需要占满桌面才能工作。用户可以先挑选灵感，再安排窗口的位置与大小；真正多实例的数据协同可以另行设计，当前先把这一个自由窗口里的连续操作走稳。]]></description><category></category></item><item><title><![CDATA[导航该收起来，还是留在左边？HarmonyOS 6 侧栏小练习]]></title><link>https://blog.csdn.net/aasd23/article/details/170137768</link><guid>https://blog.csdn.net/aasd23/article/details/170137768</guid><author>aasd23</author><pubDate>Thu, 05 Nov 2026 13:50:50 +0800</pubDate><description><![CDATA[手机宽度下，分类一直占着左边，正文会被挤得很窄；宽窗口下，每次切分类都先打开一个抽屉，又显得多了一步。这次让同一个导航内容根据空间换一种出现方式：宽时常驻左侧，窄时放到覆盖式抽屉里。分类选中状态始终是一份，切完分类后收起抽屉，正文立即显示对应路线。判断这份导航是否合适，可以回到一次切路线的动作：找得到目录，选得中分类，关掉后正文仍是刚才那一条。宽窄变化只影响目录出现的位置和时机。后面扩展层级或接入真实路线时，也先保住这一条连贯的操作。]]></description><category></category></item><item><title><![CDATA[一行 Image 背后的四份资源：HarmonyOS 6 限定符练习]]></title><link>https://blog.csdn.net/aasd23/article/details/170123772</link><guid>https://blog.csdn.net/aasd23/article/details/170123772</guid><author>aasd23</author><pubDate>Thu, 05 Nov 2026 09:13:39 +0800</pubDate><description><![CDATA[同一张明信片，白天想用浅色天空，夜间想换成深色山景；放到二合一设备上，还想多留一点横向风景。第一反应可能是在页面里加几个判断，再给 Image 传不同路径。图少时还能记住，页面一多，条件就容易散到各个角落。这次把选择交给资源目录。页面只引用，标题只引用。名字不变，不同限定符目录提供不同内容，让资源管理器根据运行设备和外观配置匹配。最后回到最初那一行 Image：它始终只认识 postcard。需要增加新版本时，先明确是哪一种运行条件，再补对应资源，不必让每个页面各自决定应该去哪儿找图。]]></description><category></category></item><item><title><![CDATA[出门要办三件事：用 AIUI 给 Rokid 眼镜做一个“顺手办”]]></title><link>https://blog.csdn.net/aasd23/article/details/169056975</link><guid>https://blog.csdn.net/aasd23/article/details/169056975</guid><author>aasd23</author><pubDate>Sun, 25 Oct 2026 11:34:13 +0800</pubDate><description><![CDATA[取快递、买牛奶、送洗衣服，都是几分钟的小事，凑在一次出门里，就需要记住先后顺序。到了快递柜旁边，可能临时想先去超市；一件事办完后，又要知道下一件是什么。这样的安排适合做成一张随进度变化的行动卡片。想到把这些小事放到眼镜里，我先问了一个很具体的问题：抬眼看过来，能不能立刻找到“现在办什么”。因此页面围绕当前事项和下一件事来排布，复杂操作放到后面的管理页。这次我用 AIUI 做了“顺手办”：接收一组要办的事，先给出清单让用户核对；确认之后进入办理状态，把当前事项放大，显示下一件和完成进度。]]></description><category></category></item><item><title><![CDATA[让启元 T1 回答自己的项目资料：资料问答 Skill 开发实战]]></title><link>https://blog.csdn.net/aasd23/article/details/168766011</link><guid>https://blog.csdn.net/aasd23/article/details/168766011</guid><author>aasd23</author><pubDate>Thu, 22 Oct 2026 15:08:30 +0800</pubDate><description><![CDATA[做完一个机器人项目，往往会留下几份开发笔记：接入方式记在一处，运行顺序放在另一处，不同版本的说明也常常同时保存。再查“这个版本要不要唤醒”“录制前需要准备什么”，仍得重新翻文件。如果能直接问身边的 T1，并在电脑上看到它查到的原文，查资料会方便一些。这次做的就是一个资料问答 Skill。这里的 Skill 是运行在机器人上的小程序，负责收音、提示音和播报；电脑端负责把语音识别成文字，从自己的笔记里查找内容，再请 DeepSeek 组织回答。]]></description><category></category></item><item><title><![CDATA[启元 T1 二次开发实战：基于 SDK 与 DeepSeek 的技术面试官 Skill]]></title><link>https://blog.csdn.net/aasd23/article/details/168763883</link><guid>https://blog.csdn.net/aasd23/article/details/168763883</guid><author>aasd23</author><pubDate>Thu, 22 Oct 2026 14:21:27 +0800</pubDate><description><![CDATA[本文介绍基于T1机器人开发的智能技术面试官Skill，通过语音交互实现项目追问与复盘。机器人播报问题并采集回答，电脑端利用Vosk本地识别、DeepSeek模型生成讲解与追问，结合SQLite保存逐轮问答与原文依据。重点解决“不知道”场景下的分步引导与语音接管，确保问题完整播放、回答准确确认。两轮真实验证表明系统能有效处理追问、避免插话干扰，并生成可追溯的复盘记录，适用于提升面试表达能力。]]></description><category></category></item><item><title><![CDATA[启元 T1 服务调用实战：音量设置、状态回读与超时处理]]></title><link>https://blog.csdn.net/aasd23/article/details/168762408</link><guid>https://blog.csdn.net/aasd23/article/details/168762408</guid><author>aasd23</author><pubDate>Thu, 22 Oct 2026 13:50:08 +0800</pubDate><description><![CDATA[设置音量这件事，最容易让人放松警惕。发一个数，收到正常响应，界面上打一个绿色勾，好像就结束了。这次我专门安排了一组不那么顺利的输入：目标是 70，SetVolume 回包中的音量也是 70，可紧接着调用 GetVolume，查到的却是 63。两个调用都没有报通信错误，公共码和业务状态也都正常。如果程序只打印“SetVolume 调用成功”，这一组问题就会被放过去。更棘手的另一组是：SetVolume 等到超时，随后查询却已经读到了目标值。前者提醒我们，响应正常还得检查状态；]]></description><category></category></item><item><title><![CDATA[连续触摸时，启元 T1 应该怎么回应？一个完整的 ROS 2 交互程序]]></title><link>https://blog.csdn.net/aasd23/article/details/168754079</link><guid>https://blog.csdn.net/aasd23/article/details/168754079</guid><author>aasd23</author><pubDate>Thu, 22 Oct 2026 11:25:34 +0800</pubDate><description><![CDATA[给机器人加一句触摸问候，第一反应往往是：订阅触摸消息，然后调用一次语音服务。真正把输入连续发过去，问题才开始出现。同一条事件又来了一次怎么办？上一句还在处理，下一次触摸要不要跟上？更麻烦的是，程序已经判定超时，旧响应却在新请求进行到一半时回来了。这篇就围绕这些交互细节，给启元 T1 写一个完整的触摸程序。背部单击发送一句问候，胸部双击换一句回应；页面同时显示事件经过了哪一步。先看跑完一组场景的过程：动图中的数字来自 ROS 2 程序的实际回调。]]></description><category></category></item><item><title><![CDATA[启元 T1 二次开发实录：关节怎么动，状态怎么读]]></title><link>https://blog.csdn.net/aasd23/article/details/168742477</link><guid>https://blog.csdn.net/aasd23/article/details/168742477</guid><author>aasd23</author><pubDate>Thu, 22 Oct 2026 09:48:29 +0800</pubDate><description><![CDATA[看启元 T1 的产品展示，很容易先被“变形”吸引：人形轮足和四足，看起来像两台机器人。这两件事做扎实，再往上叠动作和交互，排查问题才有抓手。在里，两种形态放在一起很好辨认。到了工程模型中，这些外形会被拆成连杆、转轴、关节限位和执行器。轮足在哪里、前肢怎样折叠，都能顺着关节树继续查下去，和只看一段产品视频的感受很不一样。这次就从模型与接口各选一个切口：用官方模型做一段固定基座的关节往返实验，再用官方 SDK 的 Bms 类型搭一个状态观察页。]]></description><category></category></item></channel></rss>