HarmonyOS鸿蒙Next多服务场景化解决方案:让新闻“动”起来
HarmonyOS鸿蒙Next多服务场景化解决方案:让新闻“动”起来 1、介绍
总览
搜索服务、Network Kit以及机器学习服务是新闻类应用最常用的服务。机器学习服务把用户输入信息传递给搜索服务,搜索服务和Network Kit一起检索相关新闻返回给机器学习服务,机器学习服务再通过语音合成功能播报新闻。
本次codelab描述如何创建Android新闻应用SmartNews,并在应用中集成搜索服务、Network Kit以及机器学习服务。用户可以注册账号,阅读新闻,并选择不同语言听机器学习服务的TTS功能转换的语音新闻。用户可以通过语音或文字搜索信息。
- Network Kit通过NEWS接口获取新闻。
- 阅读新闻,可以选择6种语言播放新闻。
- 切换语言设置。
- 通过语音或文字搜索新闻。
服务场景描述
本codelab以搜索服务、Network Kit以及机器学习服务为例,描述如何在一个应用中集成多个服务。这种场景在多媒体应用(例如电商应用、娱乐应用、教育应用以及商业应用)中广泛应用。
特性 | HMS Core服务 |
---|---|
通过TTS服务听语音新闻 | 机器学习服务 |
听语音新闻时,切换目标语言 | 机器学习服务 |
搜索新闻 | 搜索服务 |
通过接口搜索新闻 | 机器学习服务 |
传递用户输入,用户新闻搜索 | 机器学习服务 |
您将建立什么
在本次Codelab中,您将建立一个示例项目并集成服务。在该项目中,您可以:
- 获取最新的新闻,并在新闻中展示广告。
- 把文本转换为语音。
- 通过语音或文字搜索新闻。
- TTS转换前切换语言设置。
应用流程
- Splash Activity
- 启动splash页面。
- NewsDetails Activity
- 展示选择的新闻。
- 听语音新闻。
- Login Activity
- 通过华为账号和调用Login Activity完成登录。
- NewsActivity
- 阅读最新新闻,选择新闻离线阅读。
- 新闻检索
- 输入文字或通过语音搜索新闻。
- 语音设置
- 查看详情。
- 切换语言。
- 新闻刷新
- 刷新新闻列表,阅读最新新闻。
您需要什么
在本codelab中,你需要学习:
- 如何集成Network Kit。
- 如何集成机器学习服务提供TTS、文本翻译以及ASR功能。
- 如何集成搜索服务。
2、您需要什么
硬件需求
提前准备如下硬件:
- 一台Windows 10台式或笔记本电脑。
- 一部集成HMS Core (APK) 5.0.0.300或以上版本的华为手机。
软件需求
提前准备如下软件:
- Android Studio 3.0或以上版本
- JDK 1.8或以上版本
- 安卓SDK平台(API 23或以上版本)
- Gradle 4.6或以上版本
3、能力接入准备
集成HMS Core服务之前,注册成为开发者并完成如下准备工作:
- 在AppGallery Connect中创建新闻。
- 创建Android Studio项目。
- 生成签名证书。
- 生成签名证书指纹。
- 配置签名证书指纹。
- 添加应用包名并保存配置文件。
- 在项目级build.gradle文件中添加AppGallery Connect插件和Maven仓。
- 在Android Studio中配置签名证书。 详情请参见HUAWEI HMS Core集成准备(Android)。
4、集成Network Kit
本项目通过Network Kit调用第三方接口获取新闻,通过搜索服务将新闻提供给用户。
-
在Application类中初始化Network Kit。
-
实现Network URL请求并创建接口。
-
创建数据模型类。
-
Create a RESTClient from Network Kit.
-
创建请求接口对象,发送异步请求,使用NewsActivity类中的RecyclerView展示新闻。
5、集成机器学习服务
本应用中,机器学习服务把文本转换为语音,实现TTS和ASR,把文本翻译成多种语言,作为搜索服务的输入。
-
在Application类中初始化机器学习服务。
-
自定义MLTtsConfig类,生成对象并传递给MLTtsEngine。
-
翻译文本,提供译文给TTS供用户听语音新闻。
-
使用搜索服务实现ASR功能。在NewsActivity类的onCreate()方法中检查是否有所需的权限。
-
开启搜索框中的ASR按钮点击功能。
6、集成搜索服务
本项目中,搜索服务负责提供搜索功能。用户可以输入文本或通过语音搜索新闻。
-
在NewsActivity类中新建搜索框并在Application类中初始化搜索服务。
-
获取access token,用于在服务端验证搜索请求。验证成功后返回搜索结果。
-
创建请求接口并发送异步请求。
-
设置搜索服务实例的access token并把用户文本或语音输入的查询信息传给搜索服务。把新闻列表传给adapter类并通过RecyclerView展示新闻。
7、恭喜您
祝贺您,您已经成功地构建了一个新闻应用并学会:
- 如何集成Network Kit。
- 如何实现ML Kit的TTS、文本翻译以及ASR功能。
- 实现Search Kit的新闻搜索功能。
8、参考
参考如下文档获取更多信息:
点击如下链接下载源码:
声明:本codelab实现多个HMS Core服务在单个项目中的集成,供您参考。您需要验证确保相关开源代码的安全合法合规。
更多关于HarmonyOS鸿蒙Next多服务场景化解决方案:让新闻“动”起来的实战教程也可以访问 https://www.itying.com/category-93-b0.html
学习
厉害
HarmonyOS鸿蒙Next多服务场景化解决方案通过分布式技术实现新闻内容的动态展示。该方案利用鸿蒙系统的分布式能力,将新闻内容在不同设备间无缝流转,用户可以在手机、平板、智慧屏等设备上实时获取新闻更新。通过鸿蒙的原子化服务,新闻内容可以拆分为多个独立模块,用户可以根据需求选择查看特定模块,如视频、图片、文字等。此外,鸿蒙Next还支持多设备协同,用户可以在不同设备上同步浏览新闻,实现跨设备的无缝体验。该方案还结合了AI技术,能够根据用户的阅读习惯和兴趣,智能推荐相关新闻内容,提升用户体验。
HarmonyOS鸿蒙Next通过多服务场景化解决方案,为新闻应用带来全新体验。其分布式技术实现跨设备无缝衔接,用户可在手机、平板、智慧屏等设备间自由切换,享受连贯的新闻阅读体验。同时,鸿蒙Next的原子化服务能力,让新闻内容以卡片形式呈现,用户无需打开完整应用即可获取关键信息。此外,AI赋能下的个性化推荐和智能语音播报功能,进一步提升了新闻获取的便捷性和趣味性,真正让新闻“动”起来。