基于安卓的古诗词典App开发

作者: 冯旭斌 谭小伟 李成文 查琪乐

基于安卓的古诗词典App开发0

摘要:在现如今经济高速发展的时代,人们对这一传统文化的记忆逐渐淡去。该App根据这一社会现象,使用现在流行的Python的Scrapy框架获取古诗词数据,使用Django框架构建服务器端程序,主流的Kotlin语言实现客户端程序,该App运行于安卓系统手机端。该App的服务用户是热爱古诗词的大众群体,让他们能够重温古诗词的经典,并且继承和发扬这一优秀的文化。

关键词:古诗词典;安卓;Kotlin;Scrapy

中图分类号:TP311      文献标识码:A

文章编号:1009-3044(2023)26-0036-03

开放科学(资源服务)标识码(OSID)

1 研究背景

古诗词作为中国的传统文化之一,到现在仍然占据着重要的位置。这几年的《中国诗词大会》节目更是掀起了一股全民阅读古诗词的热潮[1]。随着国内经济、科技的发展以及智能设备的普及,相对于之前拿着一本厚厚的实体书籍,现在更多的人喜欢用手中的智能设备进行阅读。

中华诗词在当代具有治国理政的启发价值;立德育才的教育价值;济世为民的励志价值;阅读欣赏的陶冶情操价值;交流思想的沟通价值和市场经济的广告价值等[2]。

从古至今,我国都是一个充满诗意的国家,也非常重视古诗词的教育。经常读诗词可以陶冶人们的情操,丰富人们的想象,还可以培养人们对语言文字的兴趣。

截至2020年6月,我国网民规模达9.40亿,较2020年3月增长3625万人,互联网普及率达67.0%,较2020年3月提升2.5个百分点[3],如今,已经聚集了大量的移动互联网用户。现在智能手机除了基本的通信和娱乐功能外,教育类App层出不穷[4]。手机教育类应用的出现,打破了传统教育的教学方式。运用现代技术的网络在线教育已经成为当今教育新型教育方式,于是出现了大量的移动客户端在线教育App[5],一些关于古诗词的App也应时而生。

本文的古诗词App有着丰富的古诗词数据,搜索古诗的方式也很方便,简洁的翻译、注释、赏析等有助于人们理解其中的意境,还有语音播报古诗功能帮助人们认识古诗词中的生僻字。

2 功能分析

本文App后端采用Python语言编写,并使用了Django框架,前端采用的语言的是kotlin语言开发原生App,其语言简单,学习成本低,支持Lambda表达式,而且能够100%兼容Java,具体功能分析如下:

服务器端:

1) 提供诗词详情。

2) 增加、删除、修改和查询相关数据库表,主要为用户表、古诗词评论表。

客户端:

1) 查看相关古诗、佳句详情。

2) 查看用户信息。

3) 上传用户信息。

4) 查看作者简介。

功能模块简介如下:

1) 诗词随机展示模块:该功能主要实现随机古诗词例子的展示。客户端在古诗词的数量范围内取几位数,服务器返回相关古诗词的数据于界面展示。

2) 诗词评论模块:该功能主要实现对古诗词的评论。在用户想评论古诗词的时候会先检查其是否登录,已登录的话直接评论古诗同时将评论及用户信息上传服务器端处理,未登录会先提醒登录再实现评论功能。

3) 诗词收藏模块:该功能主要实现对古诗词的收藏。在用户进入古诗词详情时会先判断其登录及收藏状态:已登录并且已收藏该古诗词togglebutton会显示已收藏的图片;如果已登录未收藏则显示另一图片,点击togglebutton收藏该古诗同时将古诗词信息存入安卓轻量级数据库(SQLite数据库)内;未登录会先提醒登录再实现收藏功能。

4) 诗词详情展示模块:该功能主要展示古诗词的详情。点击进入古诗词详情页面时会向服务器端发送get请求,服务器返回相关古诗词数据。其中包含古诗名、朝代、作者、古诗正文、翻译、注释、赏析和作者简介。

5) 诗词语音播报模块:该模块主要实现语音播报古诗词。点击语音播报的按钮时,项目会调用腾讯云的语音合成接口,根据其携带的文本信息返回数据并实现播报的功能。

6) 作者简介展示模块:该功能主要实现用户搜索的作者信息简介。进入作者简介界面时服务器端会返回相关的作者信息并于界面展示。

7) 注册模块:该模块主要实现注册用户的功能。进入注册用户界面后,输入昵称、密码等信息后会先判断每个字段是否合理,例如邮箱是否为邮箱的格式,全部字段合理后将数据传至服务器端,服务器端将用户信息添加至用户表同时返回咕噜号(用于登录使用)于客户端。

8) 登录模块:该模块主要实现用户的登录功能。进入页面后输入咕噜号和密码登录。如果输入错误的咕噜号会提示账号不存在,错误密码提示密码错误,账号密码全部正确才可实现登录功能。

9) 用户资料展示及修改模块:该模块主要实现用户资料的展示及修改。进入编辑资料界面会展示相关资料,用户可在此界面进行修改操作。修改电话号码和邮箱字段时会先判断其是否合理,合理之后方可修改。如需要修改密码则会先验证电话号码和邮箱,两者正确之后才可修改。

10) 账号管理模块:该模块主要实现单台设备多个用户登录的管理。当点击账号示例时先判断是否当前所登录的用户,如为当前用户不进行切换用户处理,如不是当前用户则实现切换用户登录的处理。

3 系统实现

1) 服务器端

本课题App服务器端使用的Python的Django框架,该框架是目前开发者使用较为广泛的Web程序的框架,框架使用简单,易于上手。

Django项目是由Pycharm编译器的Django项目生成。如图1所示。

项目创建完成之后会创建四个文件,文件及其解释如表1所示。

2) 客户端

①古诗词展示功能

该功能主要实现的是当用户进入首页时看到相关古诗词的推荐。

用户进入主页时,系统会在古诗id范围之内随机生成5个数,生成的数再拼接到URL上后使用get方法获取这五首诗的信息(id,题目名,朝代,作者,第一行古诗词)。获取信息之后客户端使用Gson,将信息存入数据类中,再使用RecyclerView的适配器将古诗展示在界面上,如图2所示。

②古诗词展示功能

本功能主要实现的是用户搜索完古诗之后点击相关古诗查看具体详情。

在用户点击古诗进入古诗详情的界面时,App会向服务器发送一个get请求,请求的URL上携带着古诗id,服务器端得到URL里面的古诗id后查询古诗词表并将古诗词的详情数据返回,如图3所示。

③古诗词评论功能

该功能主要实现的是古诗词的评论功能。

在用户进入古诗详情的界面时,App会向服务器发送获取该古诗评论数量的请求,服务器返回实际数量数据,并展示在故事详情的页面下方(这首诗共有0条评论),当用户点击这段话的视图时会跳转到评论列表的界面。当该首古诗0条评论时,会有“该篇古诗暂无评论,你来占个沙发吧!”提示,当不为零时则显示全部的评论,评论的数据包括评论该篇古诗用户的头像、昵称、时间和具体评论,如图4所示。

④搜索作者及其简介功能的实现

该功能主要实现的是用户输入作者名字之后搜索该作者,并点击该作者信息之后进入相关的页面查看。如若搜索的作者名数据库未收录时会出现“暂未收集该作者信息!”提示,如图5所示。

⑥用户信息展示及修改功能的实现

该功能主要实现的是展示登录后的用户信息,以及提供修改功能,如图6所示。

信息展示:用户登录完成进入编辑资料页面后,App会根据现登录的用户咕噜号向服务器发送请求,服务器返回相关的数据后客户端将数据展示在页面上。

修改:当用户需要修改信息时可直接修改此页面的相关字段,再点击确认修改的控件后会先验证电话号码和邮箱的合法性,两者合法且所有字段信息正确后才会将数据提交至服务器端进行修改。

4 结束语

本文基于Python + Kotlin完成了一个原生古诗词App开发,实现了基本古诗词阅读和用户功能,但尚未实现社交及即时通信功能,在今后的开发中,将更进一步完善相关功能。

参考文献:

[1] 黄启哲.中华优秀传统文化从来不缺知音[J].现代教学,2017(15):1.

[2] 李颖芳,杨虎鲨.中华诗词的当代价值与发展走势[J].湖北成人教育学院学报,2016,22(6):84-87.

[3] 周力臻,许丽卿.多通道多载体数据流传输路径跟踪定位仿真[J].计算机仿真,2017,34(10):435-438,448.

[4] 葛福鸿,张丽萍.基于Hbuilder的古诗词鉴赏App的设计与实现[J].中国教育信息化,2018(18):86-88.

[5] 魏晓莉.文化教育类APP的现状及发展研究[J].视听,2019(10):238-239.

【通联编辑:谢媛媛】

上一篇 点击页面呼出菜单 下一篇