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

5 回复

学习一下

更多关于HarmonyOS鸿蒙Next多服务场景化解决方案:让新闻“动”起来的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


厉害

HarmonyOS鸿蒙Next多服务场景化解决方案通过分布式技术实现新闻内容的动态展示。该方案利用鸿蒙系统的分布式能力,将新闻内容在不同设备间无缝流转,用户可以在手机、平板、智慧屏等设备上实时获取新闻更新。通过鸿蒙的原子化服务,新闻内容可以拆分为多个独立模块,用户可以根据需求选择查看特定模块,如视频、图片、文字等。此外,鸿蒙Next还支持多设备协同,用户可以在不同设备上同步浏览新闻,实现跨设备的无缝体验。该方案还结合了AI技术,能够根据用户的阅读习惯和兴趣,智能推荐相关新闻内容,提升用户体验。

HarmonyOS鸿蒙Next通过多服务场景化解决方案,为新闻应用带来全新体验。其分布式技术实现跨设备无缝衔接,用户可在手机、平板、智慧屏等设备间自由切换,享受连贯的新闻阅读体验。同时,鸿蒙Next的原子化服务能力,让新闻内容以卡片形式呈现,用户无需打开完整应用即可获取关键信息。此外,AI赋能下的个性化推荐和智能语音播报功能,进一步提升了新闻获取的便捷性和趣味性,真正让新闻“动”起来。

回到顶部