惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Microsoft Security Blog
Microsoft Security Blog
WordPress大学
WordPress大学
Stack Overflow Blog
Stack Overflow Blog
D
DataBreaches.Net
罗磊的独立博客
博客园 - 司徒正美
Last Week in AI
Last Week in AI
The Cloudflare Blog
大猫的无限游戏
大猫的无限游戏
Microsoft Azure Blog
Microsoft Azure Blog
B
Blog RSS Feed
The GitHub Blog
The GitHub Blog
宝玉的分享
宝玉的分享
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
小众软件
小众软件
Jina AI
Jina AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Hugging Face - Blog
Hugging Face - Blog
B
Blog
博客园 - 【当耐特】
V
V2EX
Apple Machine Learning Research
Apple Machine Learning Research
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
酷 壳 – CoolShell
酷 壳 – CoolShell

博客园 - aqi00

鸿蒙版本的JSBridge兼容与安卓配套的H5啦 15天学会AI应用开发(二十)使用LangChain实现RAG检索功能 15天学会AI应用开发(十九)使用LangGraph实现持久记忆功能 15天学会AI应用开发(十八)使用LangGraph实现精确记忆功能 15天学会AI应用开发(十七)使用LangGraph实现会话记忆功能 15天学会AI应用开发(十六)LangChain实现对话记忆功能 15天学会AI应用开发(十五)使用LangChain封装AI执行链 15天学会AI应用开发(十四)搭建LangChain的开发环境 15天学会AI应用开发(十三)上下文与RAG的阶段性总结 15天学会AI应用开发(十二)从PDF、WORD、网页构建RAG 15天学会AI应用开发(十一)从TXT文件构建RAG知识库 15天学会AI应用开发(十)把文本嵌入模型换成国产模型 15天学会AI应用开发(九)利用Chroma持久化向量数据 15天学会AI应用开发(八)使用向量数据库实现RAG功能 15天学会AI应用开发(七)有了大模型为什么还要引入RAG 15天学会AI应用开发(六)使用离线大模型对文本生成摘要 一文速览 HarmonyOS 6.1.1 推出的十个新特性 15天学会AI应用开发(五)使用AI摘要来压缩上下文消息 15天学会AI应用开发(四)根据Token长度截断历史对话 15天学会AI应用开发(三)把历史对话作为提示词会怎样 15天学会AI应用开发(二)为什么编写提示词这么重要 15天学会AI应用开发(一)搭建AI大模型应用开发环境 一文理清 HarmonyOS 6.0.2 涵盖的十个升级点 FFmpeg开发笔记(一百零二)国产的音视频移动开源工具FFmpegAndroid FFmpeg开发笔记(一百零一)跨平台的开源音视频移动框架MobileFFmpeg 一文速览 HarmonyOS 6.0.1 引入的十个新特性 一文读懂 HarmonyOS 6.1 带来的十大重要升级 新书《鸿蒙HarmonyOS 6应用开发:从零基础到App上线》出版啦 FFmpeg开发笔记(一百)国产的Android开源视频压缩工具VideoSlimmer FFmpeg开发笔记(九十九)基于Kotlin的国产开源播放器DKVideoPlayer
鸿蒙版本的小小机器人APP开放源码啦
aqi00 · 2026-08-02 · via 博客园 - aqi00

时下各种AI聊天应用争奇斗艳,一个比一个智能,一个比一个贴心。早在2022年出版的《Android Studio开发实战:从零基础到App上线(第3版)》中,笔者就基于Android实现了一个具备初级智能的小小机器人APP,不仅支持简单的问答,还支持问询天气预报,还支持加减乘除四则运算,还支持背诵唐诗宋词名篇佳句,可谓小朋友的贴心玩伴。

《鸿蒙HarmonyOS 6应用开发:从零基础到App上线》一书作为《Android Studio开发实战:从零基础到App上线(第3版)》的鸿蒙姊妹篇,已将安卓一书的大部分实战项目改造为鸿蒙版本。但在写作鸿蒙一书时,限于时间进度与项目难度,安卓一书的小小机器人项目未能同步改造为鸿蒙版本,成为鸿蒙一书的小小缺憾。

好在笔者并未放弃,在《鸿蒙HarmonyOS 6应用开发:从零基础到App上线》出版之后,一直记得小小机器人的鸿蒙改造事宜。磨磨蹭蹭大半年,终于把安卓版本的小小机器人APP一步步改造成了鸿蒙APP,机器人APP的项目源码与鸿蒙一书的第15章源码放在了一起,具体的源码托管地址为 https://gitee.com/aqi00/harmony/tree/main/chapter15 。

图15-21

小小机器人的鸿蒙APP仍然有着简洁的界面,问题输入与答案输出都靠语音交互,但在具体的代码实现上,鸿蒙版本与安卓版本有着诸多不同之处,比如存储方面存在下列区别:

1、对于关系数据库,鸿蒙APP与安卓APP都基于SQLite实现,主要用于保存和读取用户自定义的问答信息,还要保存初始导入的唐诗宋词记录。
2、对于键值对存储,安卓APP采用共享参数SharedPreferences,而鸿蒙APP采用首选项Preferences,主要用于判断机器人APP是否为首次运行。
3、对于文件处理,安卓APP把资源文件放在APP工程的assets目录下,APP运行时要先把assets文件传到沙箱目录,再读取沙箱目录下的资源文件;而鸿蒙APP把资源文件放在APP工程resfile目录下,鸿蒙系统支持在应用安装后自动解压到沙箱路径下,APP可直接读取自动解压后的资源文件。

又如,在定位服务、网络服务、中文转拼音方面,鸿蒙版本与安卓版本存在下列区别:

1、对于定位服务,安卓APP原生仅支持获取当前位置的经纬度信息,若想获取当前位置的详细地址,则需另外调用第三方接口把经纬度转换为地址信息;而鸿蒙APP不仅原生支持获取当前位置的经纬度信息,还支持根据经纬度直接获取对应的地址信息,从而省去了第三方的地址查询接口调用。
2、对于网络服务,安卓APP原生的HttpURLConnection用起来甚是繁琐,往往要调用第三方的网络通信库比如okhttp;而鸿蒙APP原生的http模块已经把常见的HTTP访问操作封装好了,开发者可直接进行接口调用,无需引入三方通信库。
3、对于中文转拼音:安卓APP需引入第三方的pinyin4j库,而鸿蒙APP也需引入三方库pinyin4js,后者相当于前者的鸿蒙平替三方库。

图15-27

在朗诵诗歌之前,机器人通过诗人姓名与诗歌标题确定是哪一首唐诗宋词,但语音识别的结果文本可能存在同音字,为了避免同音字造成条件匹配失败,可先将中文转换成拼音,再通过拼音判断是否匹配。

再如,在音频播放、语音合成、语音识别等方面,鸿蒙版本与安卓版本存在下列区别:

1、对于音频播放,安卓APP通过原生的MediaPlayer来播放音频文件,而鸿蒙APP通过原生的AVPlayer来播放音频文件。
2、对于语音合成,安卓APP原生的文本转语音仅支持英文,通常要引入第三方的语音SDK才能把中文文本合成为语音输出;而鸿蒙APP原生提供了基础语音服务,可直接通过TextToSpeech模块来实现中文文本的语音合成功能。
3、对于语音识别,安卓APP原生不支持,必须引入第三方的语音SDK才能把中文语音识别为文本输出;而鸿蒙APP原生提供了基础语音服务,可直接通过SpeechRecognizer模块来实现中文语音的文本识别功能。

根据上述说明可知,鸿蒙系统在实现小小机器人APP时,仅需引入一个三方库pinyin4js,对应的安卓系统实现机器人APP时要引入多个三方库,无疑鸿蒙APP避免了其他三方库的学习和适配工作。

鸿蒙应用开发2

如果您想入门鸿蒙APP开发,或者正在学习鸿蒙开发,小小机器人都是很好的学习项目,不仅用到了多种鸿蒙开发技能,而且兼具实战性和趣味性,对开发者快速掌握鸿蒙开发具有很大的帮助。​