admin 管理员组

文章数量: 887021


2023年12月23日发(作者:哪里有做微信小程序的)

中文摘要

随着移动互联网的蓬勃发展以及人们生活水平的日益提高,外出旅行成为了很多人在节假日的一大休闲娱乐方式,而移动终端旅游App则为用户的出行提供计划、建议以及各种旅途前的准备等服务,极大地便利了用户的各种需求,在用户的旅行中占据着重要的地位。本文将主要介绍在Android与Java以及SQLite数据库开发环境下旅游攻略App的设计方法和具体的实现过程,针对各地旅游业的发展趋势,结合用户的实际旅行需求出发,分析出如何设计并实现功能完善、易于操作、界面简洁美观的一款旅游攻略App。

关键字:旅游攻略App Android Java SQLite

Abstract

With the rapid development of mobile Internet and the improvement of

people's living standards, traveling has become a major leisure and

entertainment way for many people on holidays, while the mobile terminal

tourism app provides users with services such as planning, advice and

preparation before traveling, which greatly facilitates users' needs and plays

an important role in users' travel. This paper will mainly introduce the design

method and specific implementation process of the tourism strategy app

under the development environment of Android, Java and SQLite database.

According to the development trend of tourism industry around the world

and the actual travel needs of users, this paper analyzes how to design and

implement a tourism strategy app with perfect functions, easy operation and

simple and beautiful interface.

Key words:

tourism strategy app Android Java SQLite

目录

第一章 绪论 ............................................................................................. 1

1.1 课题背景与意义 ....................................... 1

1.2 研究现状 ............................................. 1

1.3 论文研究的主要内容 ................................... 1

第二章 系统概述及系统分析 .................................................................. 2

2.1 系统目标分析(编写目的) ............................... 2

2.2 系统功能需求分析 ..................................... 2

2.2.1系统功能概述(总体需求) ........................................ 2

2.2.2登录注册 ...................................................... 3

1.注册功能需求 ........................................................................................................................... 3

2.登录功能需求 ........................................................................................................................... 3

2.2.3用户活动 ...................................................... 4

1.查看旅行分类功能需求 ........................................................................................................... 4

2.查询热门活动需求 ................................................................................................................... 4

3.搜索热门景点 ........................................................................................................................... 5

2.2.4动态 .......................................................... 5

1.查看动态功能需求 ................................................................................................................... 5

2.发表动态功能需求 ................................................................................................................... 5

3.与发表该动态的用户进行聊天功能需求 ............................................................................... 5

2.2.5导航 .......................................................... 6

1.定位功能需求 ........................................................................................................................... 6

2.路线规划与导航功能需求 ....................................................................................................... 6

2.2.6我的界面 ...................................................... 6

1.查询收藏功能需求 ................................................................................................................... 7

2.创建攻略功能需求 ................................................................................................................... 7

3.查询点赞过的动态功能需求 ................................................................................................... 7

2.3 非功能性需求 ......................................... 7

2.4本章小结 ............................................. 8

第三章 系统总体设计 ............................................................................. 8

3.1 系统总体功能设计 ..................................... 8

3.2 系统流程设计 ......................................... 9

3.2.1 系统总体流程设计 ............................................. 9

3.2.2 各模块流程设计 .............................................. 10

3.3 系统架构设计 ........................................ 15

3.3.1 系统总体架构 ................................................ 15

3.3.2 系统软件体系架构设计 ........................................ 15

3.4本章小结 ............................................ 16

第四章 系统详细设计 ............................................................................ 16

4.1 系统开发环境及相关工具和所用技术简介 ................. 16

4.2 系统核心功能模块的详细设计 .......................... 17

4.2.1 用户注册的详细设计 .......................................... 17

4.2.2 用户登录的详细设计 .......................................... 17

4.2.3 查看旅行分类的详细设计 ...................................... 18

4.2.4 查询热门活动的详细设计 ...................................... 18

4.2.5 查看动态的详细设计 .......................................... 19

4.2.6 发表动态的详细设计 .......................................... 20

4.2.7 聊天的详细设计 .............................................. 20

4.2.8 定位与路线规划的详细设计 .................................... 21

4.2.9 导航的详细设计 .............................................. 21

4.2.10 创建攻略的详细设计 ......................................... 22

4.2.11 我的界面的详细设计 ......................................... 22

4.2.12 搜索的详细设计 ............................................. 23

4.3 数据库设计 .......................................... 24

4.4 系统界面原型设计 .................................... 25

4.5 本章小结 ............................................ 30

第五章 系统编码实现 ............................................................................ 30

5.1 系统各模块的实现 .................................... 30

5.1.1 登录注册模块的实现 .......................................... 30

5.1.2 活动首页模块的实现 .......................................... 34

5.1.3 动态模块的实现 .............................................. 40

5.1.4 导航模块的实现 .............................................. 48

5.1.5 我的模块的实现 .............................................. 52

5.2 本章小结 ............................................ 56

第六章 系统测试 .................................................................................... 56

6.1 系统测试概述 ........................................ 56

6.2 系统测试环境与测试方法 .............................. 57

6.3 系统测试步骤与结果 .................................. 57

6.4 本章小结 ............................................ 59

第七章 结论 ............................................................................................ 59

参考文献 ................................................................................................. 60

致谢 ............................................................................. 错误!未定义书签。

第一章 绪论

1.1 课题背景与意义

近年来,随着移动互联网的蓬勃发展,智能手机时代悄然到来,不断改变着我们的生活方式。而随着人们生活水平的不断提高,出行游玩成为了越来越多人的一个生活计划。但是,在旅游业蓬勃发展的同时,人们对出行的地点等方面都有不同的需求,需要获取自己感兴趣的景点并做出选择,如今随着传统旅游业与移动互联网产业的融合速度加快,用户只需在手机上点几下屏幕,就能随时获取景点的介绍以及旅游的攻略。

基于上述背景分析,本文将在调研相关旅游攻略App优缺点基础上,以便利用户获取自己需求的旅游景点和类型为目标,设计和实现了一款基于Android的旅游攻略App,可提供查看查询不同类型旅游景点的介绍,浏览其他用户分享的旅游动态并进行交流,同时自己也可进行分享,还有导航旅行路线,收藏景点介绍,创建自己的旅游攻略等等。

1.2 研究现状

随着移动互联网的蓬勃发展,互联网通信的普及和智能手机的使用极大地便利了我们的生活,移动手机端的网络用户人数已经超越其他方式上网人数。Android作为一款专为移动设备设计的开放平台,多年来不断成为智能手机主流平台之一。

当代人们尤其是90后正在爱上旅行,在很多调查中,绝大多数人表示每年都至少有两次外出旅行的计划,而且在周末的短期双休时间中也会约上朋友在周边游玩放松。但人们很多都是可能通过与同学、同事、或者朋友等小圈子中结伴而行,这样就有很大的局限性,可能会出现很难找到和自己一样喜欢旅行的人的问题。同时,用户也存在着去哪里和如何找到自己喜欢的类型的旅行地点的烦恼,尤其是考虑到自己的时间、距离、喜好等问题。而设计开发一个这样的旅游攻略App,可以让用户之间分享自己的旅行经历,并且还可以互相交流,听取建议,同时找到志同道合的人结伴出行。更重要的是,可以在应用中筛选出适合自己的旅行类型如周边游、出境游、爬山类等,浏览有关信息。近年来,旅游出行类的App也逐渐成为人们出行前的必备应用,便利了用户的出行旅游。

1.3 论文研究的主要内容

本课题的研究目标是以移动手机用户为核心的发展理念。通过对旅行用户的需1

求进行了解,结合其他的旅行App进行了功能上的分析,大致了解系统开发所需要用到的技术,以及结合一些当下流行的开发模式进行初步的模式选择,从而实现该App进行大概的系统模块上的分析和模块上的设计,划分我们系统所需要的功能模块,完成系统的总体设计和各模块的详细设计,逐步完成系统的编码实现与测试。

本论文研究的主要内容:

(1)分析旅游攻略App的现状以及研究的意义,确定研究的目的

(2)研究Android、SQLite数据库等相关技术

(3)详细分析了旅游攻略App的功能,并进行了具体的需求分析

(4)研究了旅游攻略App的总体设计方案、相关架构和基于视图层、模型层、控制层三层结构的设计方法,并进行各功能模块的详细设计

(5)分析编码实现过程,对完成的App进行测试。在测试中发现其中的问题,不断地解决问题,完善应用

第二章 系统概述及系统分析

2.1 系统目标分析(编写目的)

旅游攻略App需求分析主要是通过了解用户的需求,提出App应该具备的功能模块和我们预期需要完成的目标,从而确定系统所需的功能性需求和非功能性的需求。功能性的需求是为了说明系统的具体功能以及功能完成后要达成的目的。而非功能性需求指的是管理系统为用户提供除业务需求必须具有的特性,当然这是除功能性需求以外的一些需求。其中包含了相关标准、系统所需要的质量特征,包括一些性能需求、安全需求、可维护性需求以及其他需求。系统有关的需求分析在该系统的开发中非常重要,它是一个系统设计与开发的基础。它是后期的系统测试的重要依据和重要基础,所以编写需求分析的目的是为了成为后期维护的说明文档。

2.2 系统功能需求分析

2.2.1 系统功能概述(总体需求)

本App的设计是为了给用户的外出旅行提供不同的建议,推荐不同的旅游景点。由于用户的年龄层、兴趣爱好以及空闲时间等的不同,他们对外出旅行的需求也不尽相同。用户在登录过后可以通过选择不同的旅行类型,比如是短途的周末游、周边游,或者长途的出境游、出国游等等,还有一些热门路线或景点的推送展示,也可以对一些热门景点进行搜索,然后就可以浏览相关类型的一些景点的介绍。其次,用户可以通过其他用户分享的旅游动态对出行有更多的了解,然后还可以相互之间2

进行互动,分享旅游心得,找到旅行中志同道合的同伴。同时,还可以对自己的位置进行定位,对想要到达的景点的位置进行路线规划并导航。还有的是,可以对个人信息进行管理,创建自己的出行攻略(路线)并保存,也可以收藏某个景点的介绍,或者查看点赞过的动态等等。

根据相关调研得出该App的五个板块的具体需求,具体情况如下:

➢ 登录注册(进行注册后登录)--移动端

➢ 活动(对不同旅行类型分类及罗列热门活动、搜索热门景点)--移动端

➢ 动态(查看其他用户分享的动态并可与该用户聊天、自己发布动态)--移动端

➢ 导航(对所在位置定位并进行路线规划导航至想去的景点)--移动端

➢ 我的(收藏景点信息、创建攻略、查看点赞过的动态)-- 移动端

2.2.2登录注册

登录注册模块的用例图如图2-1所示:

图2-1

登录界面包含两个需求,第一是注册功能,第二是登录功能。

1.注册功能需求

用户初次使用App需先进行注册,注册成功后即可使用该用户名和密码进行登录。

2.登录功能需求

用户注册成功后,即可使用注册成功的用户名和密码进行登录,登录成功后即可进入到主界面,同时,在登录时可勾选记住密码项,可在下次登录时无需再输入用户名和密码直接点击登录,也可以勾选自动登录项,实现下次启动App时实现自动登录。

3

2.2.3用户活动

活动模块的用例图如图2-2所示:

图2-2

用户活动界面包含三个需求,第一是查看旅行分类功能,第二是查询热门活动,第三是搜索热门景点。

1.查看旅行分类功能需求

在应用中可以浏览到有不同的旅行分类,选择需要的分类后进行查询浏览,获取到该类型的一些景点,选取想要的景点后查看有关介绍,可点击收藏。

2.查询热门活动需求

在应用中可以看到推荐的一些热门的活动,比如热门景点(按周末娱乐、热门、推荐等分类)、网红打卡景点、热门路线等不同种类的推荐旅游景点,也可点击进入查看详细信息,并可进行收藏。

4

3.搜索热门景点

在应用中可以输入想要搜索的景点,选择后进入查看景点的详细信息。

2.2.4动态

动态模块的用例图如图2-3所示:

图2-3

动态界面包含三个需求,第一是查看动态功能,第二是发表动态功能,第三是与发表该动态的用户进行聊天功能。

1.查看动态功能需求

在应用中可以以列表的形式看到各个用户分享的旅行动态,点击可进入查看动态详细信息,包括其文字评价和感受以及旅行的一些图片,点击图片能够查看大图,可点击评论留言进行交流,也可为其点赞和收藏。

2.发表动态功能需求

在应用中可以输入想要分享的文字以及旅行拍摄的图片,发布后可在动态列表中显示,同样地点击进入可以查看动态详细信息。

3.与发表该动态的用户进行聊天功能需求

在应用中可选择某个用户发表的某条动态,浏览该动态的详细信息,点击聊天5

可以与该用户进行交流。

2.2.5导航

导航模块的用例图如图2-4所示:

图2-4

导航界面包含两个需求,第一是定位功能,第二是路线规划与导航功能。

1.定位功能需求

在应用中可以进行当前位置的定位,显示地图并将用户的位置显示在地图上。

2.路线规划与导航功能需求

在应用中输入起始点与目的地进行路线规划并导航,规划好的路线显示在地图上,然后开始导航。

2.2.6我的界面

我的界面模块的用例图如图2-5所示:

6

图2-5

我的界面包含三个需求,第一是查询收藏功能,第二是创建攻略功能,第三是查询点赞过的动态功能。

1.查询收藏功能需求

在应用中可以查看该用户所收藏的旅游景点的条目,分别点击可查看相应的详细信息。

2.创建攻略功能需求

在应用中可以输入攻略的有关内容,创建成功后可在我的攻略中点击后查看该用户创建的攻略的有关内容。

3.查询点赞过的动态功能需求

在应用中可以浏览该用户点赞过的动态,获取所需的信息。

2.3 非功能性需求

非功能性需求将决定用户对系统使用的体验或者系统的品质等相关问题。以下列举几个较为重要的非功能性需求

1.界面美观需求

这个需求需要系统达到一个符合规定的外观,尤其是本App是针对于期望获取休闲娱乐信息的用户而设计的,应具有界面简洁、布局规律、精美等特点,使得用户操作更清晰方便,而穿插的一些小动画和合理的布局文件分配,能为用户带来更7

完美的体验。

2.易操作性需求

易操作性会使系统使用起来更加的简易,对于用户使用本App时可以很快的操作各项功能,而不是需要花很多的时间熟悉操作。

3.安全性需求

必须具有消除潜在风险和对风险具有一定承受压力的能力,应当保证用户的个人账户信息的安全性,在遇到突发情况的发生时不至于丢失个人信息。

4.应用稳定与性能优良需求

一些严重的bug会严重降低用户体验,所以应尽量避免出现闪退、内存泄露、应用出现卡顿等情况,使界面运行流畅,同时每个页面的数据加载时间应控制在15秒左右以内,当然也取决于用户当前的网络情况,在加载时间过长或失败时应给予用户反馈。

2.4本章小结

系统开发的需求分析尤为重要,我们需要对用户的需求以及提出的问题进行彻底的了解。本章中讲述了旅游攻略App的一些基本情况,这在本次系统的设计中占据重要地位,本章将为以下概要设计跟详细设计提供完备的文档支持。为系统所需要的功能进行讲述。

第三章 系统总体设计

3.1 系统总体功能设计

本软件实现了5个功能模块,分别是登录注册、活动、动态、导航、我的五个部分,系统功能模块图如图3-1所示:

8

客户端登录/注册活动动态搜索选择查看注册登录热门旅行热门查看创建景点分类景点动态动态与该用点赞/户聊天收藏评论图3-1

3.2 系统流程设计

3.2.1 系统总体流程设计

系统业务流程图如图3-2所示:

9

导航我的定位路线创建查看规划导航我的攻略攻略收藏景点显示地图查看点赞过的动态

开始登录选择功能模块活动首页模块动态模块导航模块我的模块Y选择子功能模块查询/操作结果是否继续处理?N结束

图3-2

3.2.2 各模块流程设计

登录注册模块:该模块包含两个部分,第一部分是注册,第二部分是登录,在注册成功后可输入用户名和密码进行登录,登录注册模块流程图如图3-3所示:

10

开始验证账号密码N登录界面Y登录成功注册主界面结束

图3-3

活动首页模块:该模块包含四个部分,第一部分是查看各种分类的旅行类型,可根据自身的需求选择进入查看该类型的一些景点以及这些景点的详细信息。第二部分是一些热门的推荐景点,包括猜你喜欢板块中分成了三个部分(热门、推荐、周末娱乐),第三部分是年度网红打卡的景点和热门路线,第四部分是对一些热门景点进行搜索,活动首页模块流程图如图3-4所示:

11

开始进入主界面猜你喜欢查看旅行分类网红打卡热门路线菜单栏选择景点选择分类选择景点选择路线选择搜索项查看分类景点查看详细信息查看景点信息查看详细信息查看详细信息进入搜索界面输入搜索内容N结束N搜索成功?Y显示结果选择并进入查看信息图3-4

动态模块:该模块包含三个部分,第一部分是一个动态列表,可以查看某个用户发布的某条动态,第二部分是查看该动态的详细信息,包括旅行的文字和图片等,可以对该动态进行收藏、点赞、评论,也可以与该用户进行聊天。第三部分是发布动态,输入内容,并选择要发布的图片,发布成功后即可显示在动态界面中。动态模块流程图如图3-5所示:

12

开始Y进入动态界面进入发布动态N输入动态内容查看动态列表内容不为空?(发布成功?)提示发布失败选择某动态查看动态信息与用户聊天点赞、收藏评论N结束

图3-5

导航模块:该模块包含三个部分,第一部分是在定位界面会显示地图并会显示当前用户所在的位置,第二部分是路线规划,输入出发地和目的地进行规划回到定位界面,则可在地图上显示规划好的路线,第三部分是进行导航,导航模块流程图如图3-6所示:

13

开始进入导航界面点击规划进入定位界面地图显示规划路线进入路线规划界面Y输入出发点和目的地显示定位地图进行导航结束内容是否合法或不为空?(检索成功?)N提示失败N

图3-6

我的模块:该模块包含个部分,第一部分是可查看该用户收藏的景点、创建的攻略等,第二部分是可直接退出应用,第三部分是创建攻略,输入攻略的相应的内容,发布成功后即可进入我的攻略界面中查看,第四部分是可查看攻略的详细信息。我的模块流程图如图3-7所示:

14

开始进入创建攻略界面输入攻略内容进入我的界面查看我的攻略Y内容是否合法或不为空?(创建成功?)查看我的点赞查看我的收藏选择攻略N提示创建失败查看详细信息查看详细信息查看详细信息结束

图3-7

3.3 系统架构设计

3.3.1 系统总体架构

在该App的设计实现中,主要采用的是客户端、服务、网络、数据库四部分构成,App属于客户端,是基于Android平台的,并使用SQLite数据库进行数据的存取,使用了百度地图的SDK作为中间服务器,必须设计好客户端和中间服务器的访问接口,因此必须熟悉了解百度地图的查询接口。网络主要有Internet、4G/WLAN构成,服务方面主要是使用了Socket进行用户间的通信。

3.3.2 系统软件体系架构设计

该旅游攻略App使用MVC模式进行设计实现,该模式主要采用分层设计的思想,将技术实现的框架设计划分为3个部分,界面交互部分(View)、逻辑处理部分(Controller)、数据处理部分(Model),通过层次间的相互依赖和调用来完成整个应用程序的功能,如图3-8所示:

15

图3-8

由图可看出,数据层从数据库获得数据,通过逻辑处理层的处理,业务逻辑层再把数据转换为符合业务规则的数据格式,最后通过视图层将信息转换为用户可以理解的信息格式。

3.4本章小结

本章节对旅游攻略App客户端进行了总体设计,第一是分析了App的总体功能结构,并对原有需求分析中划分的五大功能模块分别进行了业务流程的分析,结合流程图对每个功能模块的具体功能的使用流程进行了详细的描述,从模块化的角度来实现系统,十分有益于系统的高效运行以及可维护性。第二就是从总体架构、软件体系架构两个方面对系统的架构进行了设计,结合用户使用习惯及系统功能等的设计进行了阐述,为后续详细设计和编码实现提供了基础。

第四章 系统详细设计

4.1 系统开发环境及相关工具和所用技术简介

具体开发环境和开发工具如下表所示:

类别 名称

16

系统环境

开发语言

开发平台

建模工具

后台数据库

Windows10

Java

Android Studio

Microsoft Visio 2007、Power Designer、Process On

SQLite

4.2 系统核心功能模块的详细设计

4.2.1 用户注册的详细设计

功能编号 01 功能名称 注册

功 能

描 述

输入项

处理描述

输出项

未注册用户则进入注册界面,输入要注册的用户名和密码,从本地选择并上传头像,点击注册按钮即注册成功

用户名、密码、头像

输入用户名和密码,选择头像,点击注册,会判断所要注册的用户名在数据库中是否已存在,是则弹出提示注册失败,否则注册成功,新用户信息被添加到数据库中的用户信息表中

数据库中的用户信息表出现新添加的用户信息,可在登录界面进行登录

一个图像框:显示选择的头像

界面要两个输入框:分别输入用户名和密码

两个按钮:选择头像,注册

4.2.2 用户登录的详细设计

功能编号 02 功能名称 登录

功 能

描 述

输入项

已注册用户可在登录界面中直接输入用户名和密码,点击登录按钮进行登录后进入到应用主界面

用户名、密码

17

输入用户名和密码,点击登录后判断所输入的用户名是否已存在处理描即是否已注册(与存储在数据库中的相应信息进行比对),或者是输述 入的密码是否正确,若错误则提示登录失败,否则登录成功进入到主界面。同时在登录时可选择记住密码或者自动登录。

登录成功,进入到应用主界面

输出项

若选择记住密码,则下次登录时直接点击登录即可完成登录

若选择自动登录,则退出后重新启动时可自动登录直接进入到主界面

两个输入框:输入用户名和密码

界面要两个个复选框:记住密码和自动登录

两个按钮:登录、注册

4.2.3 查看旅行分类的详细设计

功能编号 03 功能名称 查看旅行分类

功 能

描 述

输入项

处理描述

输出项

选择不同的旅行分类,查看该类别中的景点,点击相应景点后查看该景点的详细信息。

点击所选择的旅行类别项

用户登录后进入到主界面,主界面中有一个显示不同旅行分类的模块,在模块中选择所需要的类别进入后可查看该类别的一些不同的景点,点击所需要的景点后可进入查看该景点的详细信息。

显示所选择的旅行类别的信息后浏览所需要的相应的景点的信息

旅行图标和对应分类标题成列表排布,点击进入分类景点界面,界面要显示一个景点图片和景点名称,选择景点进入景点介绍界面,显示景点的图片和文字简介包括它的介绍,攻略等等。

4.2.4 查询热门活动的详细设计

功能编号 04 功能名称 查询热门活动

18

功 能

描 述

输入项

处理描述

输出项

选择应用中推荐的一些热门活动或者是受欢迎的推荐活动,点击进入后查看这些活动的介绍,攻略等

点击所选的热门活动项

用户登录后进入到主界面,主界面的下方即旅行分类模块的下方是一些热门活动或者推荐活动的模块,点击所需要的选项后进入到活动介绍界面查看活动的详细信息

显示所选择的热门活动的详细信息

分为猜你喜欢、年度网红打卡、热门路线三大板块,猜你喜欢板块中使用tab标签分成热门、推荐、周末娱乐三部分可自由切换,而年度网红打卡则是以水平列表的形式显示,显示活动照片对应景点或者活动名称,点击进入到活动介绍界面后显示活动或者景点的图片和文字简介,包括景点介绍和攻略等,最后最下方是热门路线,显示线路介绍、路线、路线地图等,点击查看更多能进入以列表的形式查看更多的热门路线,从而查看更多的详细信息。

界面要求

4.2.5 查看动态的详细设计

功能编号 05 功能名称 查看动态

功 能

描 述

输入项

选择某位用户的动态条目,查看该用户该条动态的详细信息,可进行点赞、收藏、评论。

选择某位用户的动态条目

从应用中的底部导航栏中切换到动态模块,显示用户动态列表,处理描述

点击所需要的某一条动态,进入动态信息界面显示动态的详细信息,包括发表动态的用户名、头像,发表时间,动态的文字、图片等,可进行点赞、收藏、进入评论界面后输入信息进行评论,并更新数据库中相应的数据

显示所选择的动态的详细信息

输出项

19

动态界面显示一个用户动态列表,每个动态条目显示一张动态的图片还有动态的文字,以及发表的时间和发表的用户名,点击进界面要入动态信息界面后上方显示用户名和头像,下方显示动态文字信求 息和动态图片等,并在下方显示点赞、收藏、评论、聊天的图标,评论界面显示评论列表,最下方是一个输入框,输入评论信息点击右侧的评论按钮发送评论

4.2.6 发表动态的详细设计

功能编号 06 功能名称 发表动态

功 能

描 述

输入项

输入所要发表的内容和图片,点击发布后在动态界面中的列表中可显示发布的动态条目,点击进入可查看该动态的详细信息

发表的动态的文字、图片

在应用的右上角的菜单栏中选择发布动态选项进入到发布动态界处理描面,在输入框中输入动态文字,从图库中选择所要发布的照片,述 点击发布后会在动态界面和该动态的动态信息界面显示有关信息,并将动态的信息数据添加到数据库中的动态信息表中。

输出项

发布的动态信息显示在动态列表中,并可在该动态信息界面查看到详细信息

最左上角是一个返回按钮,右上角是发布按钮,下方是一个文本界面要输入框,输入框的下方区域是一个图标用于点击进入图库中选择图片或拍照,并显示

4.2.7 聊天的详细设计

功能编号 07 功能名称 聊天

功 能

描 述

输入项

查看某位用户的某条动态的信息时可点击聊天按钮与该用户进行聊天,发送信息。

聊天的信息

处理描在某位用户发表的某条动态的动态信息界面中,点击聊天按钮,就会进入到与该用户聊天的界面,在输入框中输入信息点击发送述

20

按钮进行发送,聊天的信息数据会添加到数据库中的聊天信息表中。

输出项

显示自己发送的聊天信息,对方接收后回复信息并显示

界面最左上角是一个返回按钮,它的右边是所要聊天的用户的用界面要户名,最下方是一个文本输入框,它的右边是一个发送按钮,而中央的大区域则用来显示聊天信息。

4.2.8 定位与路线规划的详细设计

功能编号 08 功能名称 定位与路线规划

功 能

描 述

输入项

处理描述

输出项

定位到当前位置,显示地图并在地图上显示用户的当前位置,输入出发点和目的地进行路线规划,在地图上显示规划的路线

出发点和目的地名称

在应用的底部导航栏中切换到导航模块,通过调用API接口进行定位到当前位置,分别在出发点和目的地输入框中输入名称,点击规划按钮,在地图上显示规划路线

显示定位的位置和规划路线

百度地图视图:显示地图

界面要求

弹出吐司:显示当前位置信息

两个输入框:输入出发点、目的地名称

按钮名称:规划

按钮功能:进行路线规划

4.2.9 导航的详细设计

功能编号 09 功能名称 导航

功 能

描 述

输入项

按路线规划时输入的出发点和目的地名称,点击导航按钮,进行导航

出发点、目的地名称

21

处理描述

输出项

在应用的底部导航栏中切换到导航模块,通过调用API接口进行,在出发点和目的地输入框中分别输入名称,点击导航按钮,显示地图和路线方案

显示地图和路线方案

两个输入框:输入出发点、目的地名称

界面要按钮名称:导航

按钮功能:进行导航

4.2.10 创建攻略的详细设计

功能编号 10 功能名称 创建攻略

功 能

描 述

输入项

输入所要创建的攻略的信息,包括攻略内容,预计天数,旅行类型等,进行创建

所要创建攻略的信息

在应用的右上角的菜单栏中选择创建攻略选项进入到创建攻略界处理描述

面,输入攻略的各种信息,点击创建按钮,创建成功后相关信息会显示在我的攻略界面中,我的攻略界面会显示一个攻略列表,点击一个攻略条目进入到攻略信息界面可查看该攻略的详细信息,同时创建的攻略信息会添加到数据库中的攻略信息表中。

在我的界面中的我的攻略中显示创建的攻略并查看详细信息

输入框:分别输入旅行类型、地点、预计天数、攻略内容等

按钮名称:创建

输出项

界面要按钮功能:创建攻略

求 而在我的攻略界面中,显示一个攻略列表,每个攻略条目显示攻略的旅行类型、地点等信息,点击进入到攻略信息界面会显示详细信息

4.2.11 我的界面的详细设计

功能编号 011 功能名称 我的界面

22

功 能

描 述

输入项

选择所要查看的该登录用户的一些个人信息,比如创建的攻略、点赞过的动态,收藏的景点或动态等,点击后可显示有关信息。

选择查看该登录用户的一些信息,比如收藏的景点或动态、点赞过的动态、创建的攻略等。

处理描在应用的底部导航栏中切换到我的模块,选择所要查看的自己的用户信息,点击后进入浏览显示的相关信息。

输出项

显示所选择的该用户的相应信息

最上方居中显示该用户头像,头像正下方显示用户名,用户下方界面要显示所发表的动态数,接着下方是一些选项列表,比如我的攻略、点赞过的动态、我的收藏等

4.2.12 搜索的详细设计

功能编号 012 功能名称 搜索

功 能

描 述

输入项

输入所要搜索的景点的名称,就可以根据所含的关键字显示有关选项,然后选择所需要的那个景点的选项,点击后进入查看景点的详细信息

景点的名称

在应用的菜单栏中选择搜索项,进入搜索界面后在搜索输入框中处理描输入名称,然后会根据输入的内容进行关键字的模糊匹配并在下述 方的列表中显示结果,最后根据需要选择并进入查看景点的详细信息

输出项

显示所搜索并选择的景点的信息

输入框:输入搜索内容

界面要一个列表:列出搜索到的内容

23

4.3 数据库设计

用户信息表:

表中列名

userId

userName

likeId

collectId

tipId

password

headIv

动态信息表:

表中列名

shareId

userId

content

date

likeCount

collectCount

shareImage

说明

动态id

发表用户id

动态内容

发表日期

点赞数

收藏数

动态图片

数据类型

varchar

integer

varchar

date

Integer

Integer

varchar

长度

10

10

2000

100

是否为空

否(主键)

否(外键)

说明

用户id

用户名

点赞动态id

收藏动态id

创建攻略id

用户密码

用户头像

数据类型

integer

varchar

varchar

varchar

varchar

varchar

varchar

长度

10

20

10

10

10

10

100

是否为空

否(主键)

评论信息表:

表中列名

commentId

commentId

shareId

content

date

commentIv

commentImage

攻略信息表:

表中列名

说明

评论id

评论用户id

评论动态id

评论内容

评论日期

评论用户头像

评论图片

数据类型

varchar

integer

varchar

varchar

date

varchar

varchar

长度

10

10

10

2000

100

100

是否为空

否(主键)

否(外键)

否(外键)

说明 数据类型

24

长度 是否为空

planId

type

day

place

content

date

userId

聊天信息表:

表中列名

userId

friendId

chatId

content

date

攻略id

旅游类型

预计天数

旅行地点

攻略内容

创建日期

创建用户id

Integer

varchar

Integer

varchar

varchar

date

integer

10

20

1000

否(主键)

否(外键)

说明

用户id

聊天好友id

聊天信息id

聊天日期

数据类型

varchar

varchar

varchar

date

长度

10

10

5

100

是否为空

否(外键)

否(外键)

否(主键)

聊天信息内容 varchar

4.4 系统界面原型设计

登录界面、注册界面原型如图4-1所示:

25

图4-1

活动首页界面、景点详细信息界面原型图如图4-2所示:

26

图4-2

发布动态界面、创建攻略界面原型图如图4-3所示:

图4-3

27

动态界面、动态信息界面原型图如图4-4所示:

图4-4

评论界面、聊天界面原型图如图4-5所示:

图4-5

路线规划界面、定位导航界面原型图如图4-6所示:

28

图4-6

我的界面、搜索界面原型图如图4-7所示:

图4-7

29

4.5 本章小结

本章结合上一章中系统总体设计得到的系统总体功能以及各个模块的业务流程图,总结出系统实现所用的开发环境和所需要的开发工具以及技术,对系统的各个核心功能模块进行了详细设计,包括它的功能描述、输入/输出项以及处理描述和界面要求等,从而设计出各个界面的原型图,最后对系统进行了数据库表的设计,为接下来的系统的编码实现奠定了基础。

第五章 系统编码实现

5.1 系统各模块的实现

5.1.1 登录注册模块的实现

登录界面与注册界面如图5-1所示:

30

图5-1

核心功能实现:

1、判断是否完成注册或用户信息正确,若已注册且用户信息正确,则登录成功进入主界面,否则提示登录失败,代码如下:

31

2、实现记住密码和自动登录:SharePreferences实现,代码如下:

3、若未注册,则点击跳转到注册界面进行注册,注册时可以点击选择头像按钮选择32

头像:使用了第三方的图片选择库TakePhoto,网络请求使用了OkHttp,用来实现图片的上传,并通过r()类的build()方法来构建Request对象。使用r()类的url()方法设置请求的链接,使用r()类的post()方法设置请求参数。由上述界面图所示,从相册选择图片后,可对图片进行裁剪、旋转等编辑,代码如下:

33

4、对输入的注册用户信息进行检验,并完成用户信息的数据库存储,代码如下:

5.1.2 活动首页模块的实现

应用右上方创建一个菜单栏,用于选择进行发布动态、创建攻略和搜索,如图5-2所示:

34

图5-2

活动首页界面如图5-3所示:

35

图5-3

核心功能实现:

1. 实现广告播放栏的播放,代码如下:

旅行类型信息界面与景点详细信息界面如图5-4所示:

36

图5-4

搜索界面如图5-5所示:

图5-5

核心功能实现:

1、对输入的内容按关键字进行动态匹配,对匹配的关键字进行变色,逐步显示搜索符合的结果集,然后适配器就会重新执行onBindViewHolder方法,刷新界面,实现37

搜索结果和关键字变色。同时使用了平移动画,将搜索到的结果以一个动画的效果呈现,代码如下:

如果有关键字的话(()方法找到所有匹配的关键字),找到它的开始和结束的位置,然后我们会通过SpannableString的setSpan()方法将关键字变色,代码如下:

定义两个集合,wholeList用来存放全部数据,list用来保存我们经过筛选后的数据。在未进行搜索操作是默认显示所有数据,(wholeList)。之后通过对EditText的变化监听afterTextChanged,在里面执行删除按钮的显示隐藏以及匹配文字并变色的doChangeColor()方法,代码如下:

38

在执行doChangeColor()之初,我们将list清空,不然如果第一次搜索了“山”,第二次搜索了“水”,那么最终的搜索结果会是包含了“山”和“水”数据的并集,然后判断EditText里面是否有关键字,如果没有关键字,即展示全部数据并且数据不变色。如果有关键字,则对wholeList进行遍历,匹配。把符合条件的数据add到list中并显示,代码如下:

39

5.1.3 动态模块的实现

动态界面与发布动态界面如图5-6所示:

图5-6

核心功能实现:

1、实现发布动态并存储信息到数据库,代码如下:

40

2、实现发布的动态同步显示到动态列表中:发布动态后发送一个广播,读取数据库中的动态信息数据显示到动态界面的RecyclerView中,代码如下:

动态信息界面如图5-7所示:

41

图5-7

核心功能实现:

1、设置适配器,显示图片到GridView中,然后可查看大图并滑动,代码如下:

42

评论界面如图5-8所示:

43

图5-8

核心功能实现:

1、实现对动态进行评论后存储信息到数据库中,并发送一个广播,代码如下:

2、发送评论后同步显示到对应的该动态的评论列表中:在动态信息界面中点击评论按钮跳转到评论界面时传递该动态的id,代码如下:

44

接收到广播后,读取数据库中的相应数据,代码如下:

聊天界面如图5-9所示:

45


本文标签: 动态 用户 界面 进行