实用的新闻app(Fred Li 专栏 | 新闻资讯APP的快速构建)

wufei123 发布于 2023-11-14 阅读(646)

引言在上一篇 资讯应用方案解析之摘要提取实践 中,着重介绍了从数据的角度如何获取和筛选新闻摘要以供app进行展示本篇我们将继续以路孚特 Refinitiv Data Platform(RDP)API为切入点,使用上一篇中介绍的原理,应用到新闻资讯APP的构建中。

在前端开发这里,为了快速构建部署,我们使用 Flutter 框架【1】和Dart语言【2】进行开发Flutter是一个开源的前端开发SDK,自从2017年5月发布之后有如雨后春笋般在 APP 开发中得到了大量应用,它的特点在于一套代码(使用 Dart 语言开发)可以被编译为多个目标平台(Android,iOS等)的 APP,在 2021 年 3 月 Flutter 2 推出之后,Web 端应用的支持也被加入进来,丰富了多平台编译和适配的能力。

本文将首先使用 Dart 语言开发一个服务类,用于处理 RDP API 接口相关的调用之后进入到 Flutter 应用的开发,侧重于界面设计以及 controller 逻辑这样我们就可以快速地开发一个新闻资讯 APP 进行测试和展示。

预备知识RDP 基本概念,参阅【3】中的介绍和尝试【4】中的在线 API 调用工具来了解 HTTP Request/Response 的构成,方便进一步用程序调用 APIFlutter 框架和 Dart 编程语言。

过程实践1.创建服务类,用于处理 RDP API 的调用,具备以下三个主要功能:获取access token、通过关键字搜索新闻标题、根据新闻id获取与标题相关的新闻正文。

对于新闻搜索,RDP API 支持通过关键字进行检索,按相关度进行过滤,对结果按照时间或最多阅读进行排序,返回分页结果,使用游标滑动分页获取新闻正文的接口比较简洁,直接返回指定新闻id对应的新闻正文2.

移动前端设计 基本功能包括:RDP登录,根据用户指定的关键字搜索展示新闻标题,显示完整新闻内容

3.Flutter 实现登录界面

相应的代码如下图所示,建议使用一些支持热刷新的编辑器或插件来进行所见即所得的开发。

4.构建新闻标题主页

用户通过点击屏幕下方的浮动按钮,来调用 getNewsHeadlines 获取下一个分页的新闻数据。5.增加搜索框功能

6.新闻正文页面

根据点击的标题所在的新闻id调用获取新闻正文的API,得到新闻正文并进行显示7.编译并测试使用 Android Studio 进行编译,程序所依赖的软件包可以通过 flutter pub get 命令获得,对于安卓设备上的 apk 文件,在 Windows 操作系统上使用 flutter build apk 产生。

测试的时候,可以在本机的模拟器上模拟安卓设备运行,Mac/iOS 上的开发测试步骤类似

小结本文讨论了 RDP API 移动端新闻 APP 的快速开发的一个典型案例,依托 RDP API 上的丰富数据和标准接口,结合各种流行的前端开发技术,我们可以实现越来越多的应用逻辑和业务场景,不断进行拓展创新。

本文程序的详细说明可参见参考资料中的【5】和【6】参考资料https://flutter.dev/docshttps://dart.dev/tutorialshttps://developers.refinitiv.com/en/api-catalog/refinitiv-data-platform/refinitiv-data-platform-apis。

https://apidocs.refinitiv.com/Apps/ApiDocshttps://developers.refinitiv.com/en/article-catalog/article/build-news-headlines-mobile-app-using-flutter-and-rdp-part1

https://developers.refinitiv.com/en/article-catalog/article/build-news-headlines-mobile-app-using-flutter-and-rdpapi-part-2

免责声明:以上内容纯属作者个人观点,并不代表路孚特立场文章内容及所有意见仅供参考,不构成任何投资建议本公司并不对其内容作任何形式的保证如因为依赖文章内容而招致任何损失,恕公司团体绝不负责读者独自承担其责任和全部风险。

作家简介

李鹏路孚特 解决方案架构师李鹏作为路孚特解决方案架构师,专注于投资顾问及财富管理领域,有多年的解决方案构建、数据咨询和方案实施经验,关注和研究金融科技趋势并应用到复杂系统的设计实现当中在从事解决方案架构师工作之前,李鹏有超过十年的电信、金融领域的软件开发经验,先后供职于IBM,爱立信,甲骨文等大型企业,从事大数据,云环境下的分布式实时应用及迁移项目的设计实现,以及路孚特多个主要产品的研发和支持工作。

查看近期文章_资讯应用方案解析之摘要提取实践_链代码解析Golang实操_微服务体系下的金融实时数据应用 (一)服务容器化我们的产品 Refinitiv Data Platform(RDP)

欢迎点击“阅读原文”,了解路孚特(Refinitiv)产品 Refinitiv Data Platform(RDP)的更多资讯!

亲爱的读者们,感谢您花时间阅读本文。如果您对本文有任何疑问或建议,请随时联系我。我非常乐意与您交流。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

欧意 新闻13740