我爱诗词App的设计与实现

2018-11-15 01:33王落凡穆翠霞
电脑知识与技术 2018年20期
关键词:诗词

王落凡 穆翠霞

摘要:基于诗词爱好者的移动学习和交流需求,提供一个诗词信息检索和诗词学习交流的网络平台,采用SSM框架、Java语言和MySQL数据库,设计和开发了基于Android的我爱诗词App,移动端实现了诗词相关信息的分类存储和检索以及用户间的交互功能。Web后台实现了诗词、用户以及推送信息等管理功能。该系统功能简洁实用,界面友好,运行稳定,能够满足诗词爱好者网络学习交流的基本需求。

关键词:App;诗词;Android;Web设计

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)20-0077-03

Designing and Implementation of I Love Poems App

WANG Luo-fan, MU Cui-xia

(China Womens University, Beijing 100101, China)

Abstract: Based on the mobile learning and communication demand of the poems lovers, in order to provide a network platform of poems information retrieval and communication, it used SSM framework, the Java language and MySQL database to design and develop I Love Poems App based on the Android system. The platform realized such functions as the classification storage and retrieval of the poems information for poems lovers, poems management, users management and activities management for system administrators. The system has simple and practical functions, friendly interface and stable operation, which can meet the basic needs of online learning and communication of poems lovers.

Key words: App; poems; Android; Web designing

1 背景

唐诗宋词是中国传统文化的重要组成部分,也是中华民族的重要精神财富,需要人们不断地去挖掘、继承和弘扬。重温文化经典,鉴赏其丰富情感和无穷韵味,增强对传统文化的热爱与尊崇以及自身鉴赏能力,可以激发人们的文化自信。《关于实施中华优秀传统文化传承发展工程的意见》中指出,实施中华优秀传统文化传承发展工程,对于传承中华文脉、全面提升人民群众文化素养、维护国家文化安全、增强国家文化软实力,具有重要意义。另外,在如今快节奏生活中,唐诗宋词可唤醒人们生命中的诗意和内心的安宁,让人们从传统文化中汲取营养,成为生活的情趣与情怀。随着移动网络的飞速发展和智能手机的普及,人们的学习和生活方式发生了改變,诗词类App也应运而生。人们期望用手机随时随地学习诗词,也可以随时随地向他人分享自己的作品,与好友进行互动。

随着《诗词大会》节目大火以及一系列传统文化节目开播,社会上掀起传统文化学习的热潮,唐诗宋词重返人们的日常生活。基于诗词爱好用户和随时随地学习与交流的需求,设计和开发了我爱诗词App,为诗词爱好者进行学习、鉴赏、传播、交流提供了便捷、友好的服务平台。下文将从系统需求分析、设计和实现等几个方面对我爱诗词App进行阐述。

2 系统需求分析

我爱诗词App,主要满足诗词爱好者在手机移动端的学习和交流[1-2]。系统主要有两类用户:诗词爱好者用户和系统管理员。用户用例图如下图1所示。

诗词爱好者用户(手机端)的主要功能需求包括:

1)诗词歌赋:诗词分类存储和检索;

2)诗人档案:诗词作者的信息管理;

3)以诗会友:用户发表作品、评论、点赞、举报、加好友等;

4)诗词名句对:人机对诗词上下句,设置积分排行榜等;

5)资讯推送:诗词名家讲解、诗词活动比赛信息推送等;

6)个人中心:用户的个人信息管理;

7)用户的注册和登录。

系统管理员(Web后台)的主要功能需求包括:

1)诗词管理:对诗词进行增删改查等;

2)用户管理:对用户的基本信息和发表内容进行查询;

3)举报管理:对被举报人和信息进行禁言和删除等;

4)推送管理:活动信息等管理。

3 系统设计

依据前端和后台的两类用户角色的功能需求分析,该系统功能模块如下图2所示,主要包括:注册/登录、诗词查询、诗人查询、以诗会友、诗词名句对、活动比赛信息推送、个人中心以及Web后台管理等。

在需求分析和总体功能模块划分的基础上,给出数据库的逻辑结构设计,包含以下10个数据库表:

1)用户(用户id,用户名,密码,电话号,性别,生日,头像,状态,积分);

2)诗词(诗词id,诗词名,作者,诗词内容,类型id);

3)作者(诗人id,诗人姓名,生平);

4)评论(评论id,用户id,作品id,评论内容,评论时间);

5)作品(作品id,用户id,作品名,内容,点赞数,创建时间);

6)举报(举报id,用户id,作品id);

7)活动(活动id,标题,内容);

8)通讯录(通讯录id,主加人id,被加好友id);

9)比赛(试题id,上句,下句,出处);

10)管理员(管理员id,用户名,密码)。

4 系统功能实现

下面从开发技术与软硬件环境配置、主界面设计效果以及关键功能实现等方面阐述我爱诗词App的系统实现。

4.1 开发技术与环境

我爱诗词App的开发,选用Eclipse开发手机端和MyEclipse开发后台管理端,采用JDK 1.7集成开发环境和Tomcat7服务器。选择开源MySQL数据库,采用当前流行且兼容性较好的JAVA语言。手机系统Android4.3。

采用MVC(Model-View-Controller)模式,将数据、业务逻辑、界面显示相分离。采用JavaScript实现Web页面的交互效果,采用jQuery框架简化了JavaScript编程,而且jQuery框架直接支持AJAX编程。采用了SSM(SpringMVC-Spring-Mybatis)框架实现Web后台业务[3]。在前端和后端的请求和数据的传输采用了JSON(JavaScript Object Notation)存储。

4.2 主界面设计

普通用户主界面和Web后台主界面如下图3和图4所示[4]。其中普通用户主界面,选择了中国诗词传统文化中常用的意象竹、鹤、舟等作为背景元素,淡灰色作为主色调,给人以朦胧、宁静、悠远的视觉和心理感受。

4.3 关键功能实现

1)前后端数据库连接[5]

用户手机端和Web后台需要连接同一个数据库。在开发Android端时,使用httpclient访问网络连接Tomcat服务器,再由服务器读取数据库来实现数据的增删改查。前端接收返回信息并进行操作的关键代码实现如下:

HttpResponse response = httpclient.execute(httpget);

HttpEntity entity = response.getEntity();

JSONObject o = null;

JSONArray a = null;

if (entity != null)

{ String contentString = EntityUtils.toString(entity);

Log.i("ju", contentString);

o = new JSONObject(contentString);

int status =o.getInt("status");

String str =o.getString("str");

Log.i("ju","status:"+ status);

if (status != 1)

{

Log.i("ju","status:"+ status);

return list;

}

Gson gson = new Gson();

list = gson.fromJson(str, new TypeToken>(){}.getType());

//json轉为list

}

httpclient.getConnectionManager().shutdown();

2)诗词查询

诗词查询有两种查询方式,一种是通过输入关键词查询诗名,另一种是通过页面提供常见的类别查询。用户输入关键词,点击“查询”后,会验证查询是否为空,并给出提示。查询不为空时,则跳转到所有诗名中含有关键词的列表,点击列表中的一首诗,则会跳转到相应的诗词详情页面,点击详情中的诗人姓名,可以跳转到相应的作者详情页面。类别查询时,点击一个类别,则会跳转到属于该类别的所有诗词的列表。实现关键代码如下:

判断查询是否为空:

if("".equals(etsearch.getText().toString().trim())){

Toast.makeText(this, "查询不能为空!", Toast.LENGTH_SHORT).show();

}

else{

poemController.opensearch(str);

}

关键字查询数据库操作:

查询成功后跳转页面:

List listTemp = poemModel.queryByName(name);//查询

Intent i = new Intent(activity, PoemSearchActivity.class);

i.putExtra("listTemp", (Serializable)listTemp);

activity.startActivity(i);//跳转

类别查询数据库操作:

类别查询,成功后跳转页面:

List listTemp = poemModel.queryByType(type); //查询

Intent i = new Intent(activity, PoemSearchActivity.class);

i.putExtra("listTemp", (Serializable)listTemp);

activity.startActivity(i); //跳转

3)诗人信息的动态模糊查询[6]

在主界面点击“诗人档案”,进入诗人查询页面。在搜索框为空时,会展示所有诗人列表;输入文字时,会进行动态的模糊查询。点击列表中的诗人,可进入诗人详情页面。动态模糊查询的关键代码如下:

public void onTextChanged(CharSequence s, int start, int before, int count) {//文字改变时

try {//更新界面

authorListController.updateSearch(etauthorsearch.getText().toString());

} catch (Exception e) {

e.printStackTrace();

}

}

public void updateView(List listTemp) {

if (listTemp != null) {

list.clear()//清空原本列表

list.addAll(listTemp);//添加新列表

}

Aadapter.notifyDataSetChanged();//更新界面

}

4)以诗会友中的发表和评论作品[6]

用户点击“以诗会友”后,进入“以诗会友”的主界面,可以看到所有用户的所有作品。用户可以点击“增加”按钮跳转到增加作品的页面,完成作品后,点击“发表”,回到“以诗会友”的主界面。用户点击某作品时,会进入该作品的详情页面,用户可以对该作品进行评论、点赞、举报等。实现关键代码如下:

case R.id.bt_submitwriting://点击提交,发表作品

Intent intent=getIntent();

String tmp = intent.getStringExtra("userid");

int userid = Integer.valueOf(tmp);//獲取userid

Writing writing = new Writing();

writing.setWname(et_addwname.getText().toString());

writing.setWriting(et_addwrite.getText().toString());

writing.setUserid(userid);

writingController.add(writing);//添加

AddWritingActivity.this.finish();

break;

public void onClick(View arg0) {//发表评论

String comment = et_comment.getText().toString();

wid=writing.getWid();

Intent intent=getIntent();

String tmp = intent.getStringExtra("userid");

int userid = Integer.valueOf(tmp);//获取userid

System.out.println("wd is"+wid);

commentController.addcomment(comment,wid,userid);//增加评论

}

public void refresh() {

list.clear();

onCreate(null);//页面刷新

}

5)诗词名句对中的排行榜实现

Web后台管理主要实现了系统管理员的用户管理、诗词管理、诗人管理和推送管理的增、删、改、查等基本操作功能,具体实现不再赘述。

5 结束语

我爱诗词App系统的设计与实现,为诗词爱好者提供了一个方便、快捷的诗词诗人检索、学习和交流的网络平台,实现了诗词歌赋、诗人档案、以诗会友、诗词名句对、资讯推送、个人中心、后台管理等功能。今后,还需要研究完善的方面,比如诗词以及诗人信息中可以加入音频、视频和图片等内容元素,诗词名句对还可以扩展为更灵活的动态测试方式等。

参考文献:

[1] 舒一. 基于Android系统的古典诗词鉴赏App软件的设计与开发[J]. 河南教育: 高校版, 2016(10): 25-27.

[2] 何琼露, 王小明. 基于Android的小学古诗App设计与实现[J]. 软件导刊: 教育技术, 2015, 14(7): 85-86.

[3] 杨开振. Java EE互联网轻量级框架整合开发—SSM框架和Redis实现[M]. 北京: 电子工业出版社, 2017.

[4] 唐亮, 杜秋阳. Android开发基础[M]. 北京: 高等教育出版社, 2016.

[5] 王庆喜, 赵浩婕. MySQL数据库应用教程[M]. 北京: 中国铁道出版社, 2016.

[6] 唐亮, 王洋. Java开发基础[M]. 北京: 高等教育出版社, 2016.

猜你喜欢
诗词
诗词之页