毕业设计(论文)-基于安卓的智能校园系统.docx_第1页
毕业设计(论文)-基于安卓的智能校园系统.docx_第2页
毕业设计(论文)-基于安卓的智能校园系统.docx_第3页
毕业设计(论文)-基于安卓的智能校园系统.docx_第4页
毕业设计(论文)-基于安卓的智能校园系统.docx_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

盐城师范学院毕业设计盐 城 师 范 学 院毕业设计 基于安卓的智能校园系统学生姓名 学 院 信息工程学院 专 业 软件工程 班 级 12(4) 学 号 指导教师 2016 年 5 月 16 日基于安卓的智能校园系统摘 要当前,智能手机等科技产品如雨后春笋般涌出,使人们获取信息的主要手段发生了质的变化。其中,大学生群体更加习惯利用各类手机软件接收信息。当前市面上发布的APP虽然繁复多样,但真正适合大学生的软件却较少。为提高校园的学习、管理智慧化程度,本文拟面向大学校园开发一款实用的大学生服务管理软件。本文开发的基于安卓的智能校园系统能及时将校园资讯、学校优秀课程内容等优质信息快速传达到学生群体。该系统包括移动端和服务器端两部分:移动端采用Android编写,服务器端使用了S2SH作为Web架构,有效地降低了程序模版和代码的耦合度,使系统具有很好的灵活性和可扩展性。同时,系统采用重写View的方式构造大量全新UI控件。服务器端主要有管理员和校园组织两种角色。系统给管理员具有App数据的增删改查,以及分析统计数据的权限。移动端主要分为游客和注册用户两种角色,提供给用户最新的校园资讯。登陆后用户还可以享受关注用户和参加活动等实用功能,获取更好App体验。整个管理界面主要采用Bootstrap和jQuery作为页面的UI显示,给用户提供一个良好的人机交互体验。【关键词】Android;Java;S2SH;智能校园全套设计加扣 3012250582Intelligent campus system based on AndroidAbstractAt present, smart phones and other products have sprung up. The way people get information have greatly changed. College students are more used to receive information by kinds of mobile software .There are lots of apps in the current market. However, most of them are not suitable for students. In order to improve the campus learning, and degree of management wisdom, this paper develop a practical system about service and management which faced on campus.Campus information and excellent course which is information is good conveyed to the students in this intelligent campus system which based on Android. The system includes two parts. they are mobile client which used Android and server which used S2SH and Web. It can effectively reducing the coupling of procedure templates and code. And the system has good flexibility and scalability. The system construct large number of new UI controls by rewriting View. The server has role of administrators and campus organizations. Administrator has right to add, delete, change and search App data, as well as permission to analyze statistical data. Mobile client is divided into two roles and they are visitors and registered users. It provides users the latest campus information. Users can also get better APP experience by enjoy the function of attention and take part in an activity. The entire management UI mainly uses Bootstrap and jQuery and it can provided good interactive experience. Keywords Android, Java, S2SH, Intelligent Campus目 录 1 前言11.1 选题背景及意义11.1.1 背景11.1.2 意义11.2 课题的主要内容12 关键技术12.1 关键技术介绍12.1.1 Java22.1.2 S2SH22.1.3 Android22.1.4 Volley22.1.5 Vitamio22.1.6 Picasso32.2 系统开发工具及环境32.2.1 Eclipse32.2.2 MySQL32.2.3 MyEclipse1042.2.4 Tomcat7.043 系统分析与设计53.1 系统需求分析53.2 系统概要设计63.2.1 系统架构设计63.2.2 系统用例设计73.2.3 系统功能设计83.3 系统详细设计93.3.1 客户端首页模块93.3.2 客户端校园资讯模块103.3.3 客户端新生攻略模块103.3.4 客户端校园公开课模块113.3.5 客户端记单词模块113.3.6 客户端教室查询模块113.3.7 客户端兼职招聘模块123.3.8 客户端失物招领模块123.3.9 客户端二手市场模块133.3.10 客户端用户登录注册模块133.3.11 客户端我的资料模块143.3.12 客户端我的名片模块153.3.13 客户端校园活动模块153.3.14 客户端Find Me模块163.3.15 客户端应用锁模块163.3.16 客户端更新App模块163.3.17 Web端CRUD模块173.4 数据库设计173.4.1 系统E-R图173.4.2 数据库表设计194 系统实现264.1 客户端与服务器端数据通信源码解析274.2 服务器端数据库的查询与修改294.3 客户端记单词模块的源码分析304.4 客户端应用锁模块的源码分析305 系统测试315.1 功能测试315.1.1 客户端登录测试315.1.2 服务器端CRUD测试315.2 性能测试325.2.1 网络环境测试325.2.2 压力测试335.2.3 自动化测试335.3 测试结果分析335.4 系统小结34结论35参考文献36致 谢371 前言1.1 选题背景及意义1.1.1 背景 当前,智能手机等科技产品如雨后春笋般涌出。从绳线电话到无线电话,从无线电话再到智能手机,人们获取信息的主要手段发生了质的变化。仅仅是打电话、发短信已经满足不了人们对于手机功能的需求,而更多的是作为社交媒体、便利生活、游戏娱乐的媒介。在大部分的手机用户群中,大学生对于各种信息平台的接收和依赖程度普遍要强。虽然市面上App繁复多样,但适合大学生的定制软件少之又少。另一方面,在不断增长的需求和鼓励大学生创业的政策驱使下,以校园为主体的App将进入一个快速增长的阶段。因此,本文针对大学生群体开发了一款基于安卓的智能校园系统。1.1.2 意义在这个信息交错的时代,投放及时精准信息已经成为重中之中。面对校园杂乱的信息管理,开发一套科学合理的智能化管理平台成为了当务之急。针对上述背景,本文开发了“智能校园系统”能及时的将校园资讯,以及学校优秀课程内容等优质信息快速投放给学生群体,把大学课堂上的知识应用到生活生产中去。1.2 课题的主要内容本课题主要基于Android的智能校园系统的设计与开发,使用Eclipse开发客户端,MyEclipse作为服务端开发工具,服务器端采用S2SH作为架构框架,Android与服务器端依靠Google的Volley进行Json交互。开发完成的服务器端系统在Windows7电脑上用Tomcat7.0运行,客户端App则在安卓设备上安装运行服务器端管理员可在Web服务器端发布最新的校园资讯,修改App数据来实时更新最新信息。客户端用户主要负责信息的浏览,包括校园新闻资讯、新生攻略、公开课、四六级单词、教室使用、兼职招聘、失物招领、二手市场等。2 关键技术2.1 关键技术介绍2.1.1 JavaJava是一种目前流行的面向对象编程语言,它的出现对网络编程产生了深远的影响。Java语言本身就是安全的,且在Web方面有长足的应用,进一步阐述利用Java可以较好地实现网络应用的安全性1。同时,Java的回收机制确保开发者可以不用管何时何处销毁对象2。2.1.2 S2SHStruts2负责Web层的控制转发,及Action间的跳转。也提供了与安卓端数据交互的接口。负责处理智能校园服务器端业务层逻辑的是Spring框架。为了解决复杂的企业应用开发,同时降低程序员的开发难度,避免使用过多臃肿的代码,诞生了轻量级的IOC和AOP容器框架Spring。Hibernate负责数据持久层的操作与处理,大大减少对底层数据库Sql语句复杂的操作。在实体类里用注解进行配置后,可直接在逻辑层进行数据的操作。在众多的关系映射框架中,对底层数据库进行轻量级封装的Hibernate可谓是集大成者。开发人员可以轻松的进行持久化对象的存取,同时还可以控制事务管理3。2.1.3 Android作为开源性的系统,Linux以其优秀的可移植性、模块化程度高等吸引了Google公司将其作为Android的底层处理平台。OS级别的启动采用的是Linux Kernel,现成的软件系统是其上层基础,通过低门槛的java语言,开发者可以轻松开发出高端手机应用4。本系统引用该技术作为移动端载体。研究了Android平台的架构及相关开发技术,利用Android与Web开发结合的设计方式 。2.1.4 Volley安卓端与服务器的通信是比较难解决的问题,很多公司单独使用Http协议封装了通信框架。为了集大家之长,谷歌发布了轻量的网络通信库Volley。针对少量频繁的数据交互,Volley能够做到高效率的数据传输。该框架是在基本网络数据流传输基础上的深层次封装。Web端返回的数据在底层都是通过Java的数据流和过滤流的字节数据中取出各种类型的数据5。2.1.5 Vitamio安卓提供的VideoView组件,虽然能够支持HTTP,RTSP两种协议,但是对于多格式的视频文件以及网络视频缓存方面效果欠佳。Vitamio支持硬件解码,很好的渲染网络视频画面,最重要莫过于支持硬件加速,GPU渲染,低耦合封装,使用简单而受欢迎。2.1.6 Picasso网络上有众多图形缓存库,Universal-Image-Loader、Picasso、Volley。作为Square公司最重要的安卓项目之一的Picasso,相比较而言使用方便更简单,只需要传入相应的ImageView便可实现图片异步缓存。该框架在初始化是需要传入不定数量的多个参数,因而考虑采用构建器中的Builder模式,使框架更易于阅读和编写6。2.2 系统开发工具及环境2.2.1 Eclipse本次设计开发Android端所需的主要软件就是Eclipse。由于Eclipse发展悠久,具有很多插件,特别适合SVN版本控制。图2-1是当下流行的Android集成开发环境Eclipse的软件截图:图2-1 Eclipse截图2.2.2 MySQLMysql属于关联式数据库,与Mongo,DB2等主流数据库软件相比,其小巧,开源等特点,一上市就受到了开发者的大力追捧。图2-2为Mysql图形化开发工具Navicat的开发环境截图:图2-2 navicat工具2.2.3 MyEclipse10 主要是在Eclipse的基础上加上自己的插件开发而成的功能强大的企业集成IDE,主要用于Java、JavaEE开发。图2-3为此次设计采用的服务器端程序开发环境MyEclipse10。图2-3 MyEclipse102.2.4 Tomcat7.0作为Servlet、Jsp的容器,Jetty在某些性能上还是不能超过Tomcat。此外,它是属于轻量级的应用服务器,安装部署简单,在并发访问用户不是很多的场合下被普遍使用。在配置好的Myeclipse中运行Tomcat如图2-4:图2-4:Tomcat7.0运行图3 系统分析与设计3.1 系统需求分析智能校园系统的用户分类有:管理员、校园组织和普通用户。涉及到具体的访问控制需求,即不同角色的不同操作权限,如下表3-1所示:表3-1智能校园系统访问控制权限需求角色操作权限管理员web端app数据的管理添加/编辑用户校内外新闻发布app首页轮播图片管理公开课的课程、栏目、类别管理发布兼职/招聘信息发布失物招领信息发布二手市场信息发布校园活动信息用户轨迹分析用户数据分析发布教室使用情况信息校园通知信息的发布校园组织web端发布活动信息查看关注用户续表3-1普通用户浏览校园资讯查询教室使用情况观看校园公开课关注校园活动关注用户进行单词练习反馈app意见查看二手市场信息查看兼职/招聘信息查看失物招领信息未注册用户用户中心功能不可使用普通浏览功能可使用3.2 系统概要设计3.2.1 系统架构设计 本设计是建立在Web服务器和移动安卓端两个方面的,并且App的用户数据,新闻资讯,公开课栏目,校园活动,二手市场,失物招领等模块数据都是有专门的后台进行数据管理的,操作简单方便。Android端主要作为信息的载体,以全新的UI展示数据给用户,提供了一定的交互能力。图3-1、3-2分别为智能校园客户端与服务端的系统结构简图和安卓端和服务端之间的分层架构图。图3-1系统结构图图3-2 系统分层架构图3.2.2 系统用例设计图3-3系统用例设计图3.2.3 系统功能设计本系统分为服务器端和客户端,服务器端采用主流的开发技术Html5+Css3+jQuery+Bootstrap.这里应用html+css作为前台显示并不难理解7。jQuery是一个很好的Web端处理框架,使处理任务变得更简单高效8。主要有以下功能:管理消息通知,管理失物招领,管理兼职招聘,编辑轮播图片,编辑用户,编辑新闻,管理公开课,管理二手市场,管理校园活动等功能9。移动端是基于安卓平台上的,主要负责校园分类信息的浏览。由于谷歌允许任何手机联盟厂商加入Android系统的开发,所以安卓的开源性彰显了客户端选择的必然性10。如图3-4所示:对移动端的需求进行模块拆分简析,主要需要包括以下功能:u App首页可以查看校园新闻。u 功能页校园资讯版块可以查看详细的校内外新闻。u 功能页新生攻略模块,新生可以查看校园注意点和温馨提示。u 功能页公开课模块,用户可以针对自己的专业和兴趣查看感兴趣的校园优秀课程以及培训视频教程。u 功能页记单词模块,用户可以针对四六级的考证情况,进行四六级的单词练习,同时还可以离线查阅生词释义。u 功能页教室查询模块,针对靠前复习,考研考公复习,用户可以实时查询校园教室的使用情况,再也不用担心很难找到空教室学习了。u 功能页兼职招聘模块,用户可以查看校内校外审核通过的兼职招聘信息,丰富课余生活。u 功能页失物招领模块,针对校内丢失物品无处发布公示的情况,此模块能够帮助失主及时的找回丢失物品。u 功能页二手市场模块,针对大学生的闲置物品无处售卖的情况,此模块可以有效的解决物品循环利用,避免铺张的乱象。u 个人中心用户资料模块,通过Application缓存登录后的用户可以在此修改用户资料。u 我页面查看活动模块,登录后用户方可查看关注校园活动信息。u 我页面Find me模块,登录后用户可以通过扫描或搜索用户名来关注用户或校园组织。u 我页面个人通知模块,登录后用户可以接收服务器发布的公示信息,同时在个人中心模块也可接收到特定用户信息,及时掌握校园动态。u 设置页设备锁模块,用户可以在此设置设备锁功能,以防别人盗用自己的帐号或获取App信息。u 设置页更新App模块,为了使App有更好的扩展性和维护性,用户通过实时查询App最新版本可以升级App。图3-4 模块划分图3.3 系统详细设计3.3.1 客户端“首页”模块用户打开App,首页会异步加载学校新闻和最新轮播图片。图3-5为网络顺畅和不畅下的两种结果显示界面:图3-5 客户端首页截图3.3.2 客户端“校园资讯”模块用户直接可以在客户端App上查看最新的校内新闻和校外新闻,新闻内容、图片都是通过异步加载的方式,避免图片的OOM以及减少用户等待时间。图3-6为校内外新闻的展示界面:图3-6 客户端校园资讯截图3.3.3 客户端“新生攻略”模块学校新生用户可以在此模块获取学校的一些新生指南信息,新生无需登录注册用户,只要点击进感兴趣的栏目便可了解详细的信息。如图3-7所示:图3-7 客户端新生攻略截图3.3.4 客户端“校园公开课”模块用户可以在此处观看发布的学校公开课信息,公开课有精选课程和全部课程,用户可以根据自己的兴趣去观看相应栏目的公开课课程,也可以根据公开课的课程性质去查找详细的分类课程。如图3-8所示:图3-8 客户端校园公开课截图3.3.5 客户端“记单词”模块记单词模块共有两个子模块,单词练习作为其中之一。用户可以在单词练习模块中进行专项的单词任务练习。在平时做题中遇到的生词还可以通过剩下的单词搜索模块完成单词的搜索。如图3-9所示: 图3-9 客户端记单词截图3.3.6 客户端“教室查询”模块客户端解析获取自服务器端的Json数据,并将数据已直观的方式展示教室使用情况给用户。如图3-10所示:图3-10 手机端流程图图3-10 客户端教室查询截图3.3.7 客户端“兼职招聘”模块用户可以在此模块看见已经通过管理员审核过的兼职招聘信息,图片加载也是通过多进程的方式访问,防止程序OOM。如图3-11所示:图3-11 客户端兼职招聘截图3.3.8 客户端“失物招领”模块用户在App首页找到失物招领模块,通过点击进入失物招领栏目,便可查看相应信息。通过Volley的快速网络请求,以及Intent、Picasso图片缓存技术的使用,可以进行快速的查询。图3-12为模块失物招领主页和详细页截图:图3-12 失物招领截图3.3.9 客户端“二手市场”模块用户点击功能页二手市场按钮进入二手市场模块,便可查看审核通过的二手信息,技术处理与兼职招聘模块相同。图3-13为客户端二手市场模块的一二级页面:图3-13 二手市场截图3.3.10 客户端“用户登录注册”模块用户点击注册和登录按钮便可进入用户注册登录页面,在重写的EditText框中输入正确格式的用户名、密码便可进行登录或注册,如果密码输入错误,则不进行Activity的跳转。图3-14为用户注册和登录详情页截图:图3-14用户注册登录截图3.3.11 客户端“我的资料”模块用户可以修改保存在服务端上的个人用户资料,包括修改昵称、更改性别、修改个性签名,查看大头像以及更换密码等功能。如图3-15所示:图3-15我的资料截图3.3.12 客户端“我的名片”模块我的名片模块采用的是Zxing作为生成用户特定二维码的技术基础,用户可以通过下面的Find Me模块直接通过扫描二维码来关注用户。如图3-16所示:图3-16客户端我的名片截图3.3.13 客户端“校园活动”模块用户登录后可以在我页面中点击活动按钮进入校园活动页面。登录后用户方可关注未过期的活动。图3-17为校园活动查看和详情页截图:图3-17校园活动截图3.3.14 客户端“Find Me”模块登录后用户可以在此模块通过输入用户或者扫描二维码的方式关注用户或校园组织。如图3-18所示:图3-18客户端Find Me截图3.3.15 客户端“应用锁”模块用户通过在设置里选择是否打开应用锁按钮来设置启用安全锁与否。开启应用锁后每次打开App必须划出正确的手势才能进入应用。如图3-19所示:图3-19客户端应用锁截图3.3.16 客户端“更新App”模块用户点击设置里的检查更新按钮与服务器进行交互,检查App的最新版本。如果是则不用更新,否则则关闭是否下载更新对话框。点击下载更新后会自动安装apk,用户需要同意安装最新更新便可完成更新操作。如图3-20所示:图3-20客户端应用更新截图3.3.17 Web端CRUD模块Web端主要采用Bootstrap和jQuery作为前台显示页面,而后台主要采用的数据媒介是Json。如图3-21所示:图3-21 Web端CRUD界面截图3.4 数据库设计3.4.1 系统E-R图通过分析系统的功能需求、各模块之间实体的映射关系以及表结构,生成的系统关系图如图3-22所示。图3-22 系统表关系图3.4.2 数据库表设计 通过分析系统概要设计和需求描述后,用mysql图像化工具navicat建立数据库,并用其建立了17张数据表。系统用户表,是对用户的详细信息进行存储,如表3-2所示。其中用户id(userId)、密码 (password)、名 (userName)、头像 (userImagePhoto)、其他信息 (otherInfo)、状态 (userStatus)、创建时间(createDate)、类型(userType)、手机号(userPhoneNumber)、QQ号码(userQqNumber)、性别(userSex)、年龄(userAge)、所在城市(userCity)、昵称(nickName)、个性签名(userDescription)。表3-2 用户信息表字段类型说明是否主键userIdint主键 是userNamevarchar(60)用户名 否passwordvarchar(100)密码否userImagePhotovarchar(100)用户头像否userDescriptionvarchar(255)个性签名否otherInfovarchar(255)冗余字段否userStatusint用户状态否createDatetimestamp创建时间否userTypevarchar(60)用户类型否userPhoneNumbervarchar(40)手机号码否userQqNumbervarchar(40)QQ号码否userSexint用户性别否userAgeint用户年龄否userCityvarchar(20)所在城市否nickNamevarchar(50)用户昵称否活动表,主要存放发布的校园活动,如表3-3所示。其中活动id(activityId),发布者id(userId)、发布时间(deliveryDate)、活动开始时间(beginDate)、活动结束时间(endTime)、活动内容(content)、活动标记(remark)、其他信息(otherInfo)、活动状态(enabled)、审核情况(checked)、活动标题(title)、活动类型(type)、活动地点(location)。表3-3 活动表字段类型说明是否主键activityIdint主键是userIdint发布用户id否deliveryDatetimestamp发布时间否beginDatetimestamp开始时间否endTimetimestamp结束时间否contentvarchar(255)活动内容否remarkvarchar(255)冗余字段否otherInfovarchar(255)其他信息否enabledint活动状态否checkedint审核状态否titlevarchar(100)活动标题否locationvarchar(255)活动地点否新闻表,主要存放校园新闻资讯。如表3-4所示。其中新闻id(articleId)、标题(articleName)、小缩略图(articlePicSmall)、大缩略图(articlePicBig)、描述(articleDescription)、点击量(articleClicked)、内容(articleContent)、类型(articleType)、是否热门(articleHot)、是否置顶(articleUp)、发布时间(articleDeliveryDate)、是否可评论(canComment)。表3-4 新闻表字段类型说明是否主键articleIdint主键是articleNamevarchar(100)新闻标题否articlePicSmallvarchar(100)小缩略图否articlePicBigvarchar(100)大缩略图否articleDescriptionvarchar(100)新闻描述否articleClickedint新闻点击量否articleContentvarchar(2000)新闻内容否articleTypeint新闻类型否articleHotint是否热门否articleUpint是否置顶否articleDeliveryDatetimestamp发布时间否canCommentint能否评论否教室表,由于学校多校区的缘由,需要将不同校区的的教室分布信息分类存储。如表3-5所示。其中教室id(classroomId)、教室名称(classroomName)、教室描述(classroomDescription)、校区(classroomLocation)。表3-5 新闻信息表字段类型说明是否主键classroomIdint主键 是classroomNamevarchar(30) 教室名称否classroomDescriptionvarchar(255)教室描述否classroomLocationint教室所在校区否系统通知表,如表3-6所示。其中通知id (notificationId)、发布者id (notificationUserId)、通知内容(notificationContent)、通知类型(notificationType)、通知标记(remark)、其他信息(otherInfo)。管理员在web端发布的即时通知信息将会暂时存放于本表中。表3-6 标签信息表字段类型说明是否主键notificationIdint主键 是notificationUserIdint发布者id 否notificationContentvarchar(255)通知内容否notificationTypeint通知类型否App首页轮播图片表,主要存放汽app首页轮播图片地址,如表3-7所示。其中id (id)、排序 (orderSq) 、地址(imageUrl)。表3-7 app首页轮播图片表字段类型说明是否主键idint主键 是imageUrlvarchar(255)图片地址 否orderSqint图片序号 否用户活动关系表,如表3-8所示,记录用户活动之间的关系映射,。其中记录id(id)、活动id(activityId)、用户id(userId)、关注时间(participateDate)、关系标记(remark)、关系状态(enabled)、其他信息(otherInfo)。表3-8 用户活动关系表字段类型说明是否主键idint主键是activityIdint活动id否userIdint用户id否participateDatetimestamp关注时间否remarkvarchar(255)关系标记否enabledint关系状态否otherInfovarchar(255)其他信息否教室使用状态表,教室各时间段的使用状态存放在此表中,如表3-9所示。其中关系记录id(id)、教室id(classroomId)、时间段(duringIndex)、使用状态(usingStatus)。表3-9 教室使用状态表字段类型说明是否主键idint主键是classroomIdint教室id否duringIndexint时间段否usingStatustimestamp使用状态否公开课课程类别表,存放公开课的课程类别,如表3-10所示。其中类别id(categoryId)、父类别id(parentCategoryId)、类别名称(courseCategoryName)、是否推荐(isRecommend)。表3-10 公开课课程类别表字段类型说明是否主键categoryIdint主键是parentCategoryIdint父类别id否courseCategoryNamevarchar(50)类别名称否isRecommendint是否推荐否公开课课程表,存放公开课的课程详情,如表3-11所示。其中课程id(courseId)、类别id(categoryId)、名称(courseName)、图片(courseImage)、主讲教师(teacherName)、描述(description)、播放次数(readCount)、审核状态(examined)、是否置顶(top)、是否热门(hot)、是否推荐(isRecommend)。表3-11 公开课课程表字段类型说明是否主键courseIdint主键是categoryIdint课程类别id否courseNamevarchar(50)课程名称否courseImagevarchar(255)课程图片否teacherNamevarchar(30)主讲教师否descriptionvarchar(255)课程描述否readCountint播放次数否examinedint审核状态否Topint是否置顶否hotint是否热门否isRecommendint是否推荐否公开课课程视频表,存放公开课的课程视频信息,如表3-12所示。其中视频id(videoId)、地址(videoUrl)、播放次数(readCount)、审核状态(examined)、是否热门(hot)、是否置顶(top)、能否播放(canPlay)、课程id(courseId)排列、序号(orderSq) 、名称(videoName)。表3-12 公开课课程视频表字段类型说明是否主键videoIdint主键是videoNamevarchar(100)视频名称否videoUrlvarchar(255)视频地址否courseIdint课程id否readCountint播放次数否examinedint审核状态否hotint是否热门否topint是否置顶否canPlayint能否播放否orderSqint排列序号否用户反馈信息表,存放用户对app的反馈信息,如表3-13所示。其中反馈id(id)、反馈内容(content)、联系方式(contact)、联系手机(phoneInfo)、用户信息(userInfo)、提交时间(sendDate)。表3-13 用户反馈信息表字段类型说明是否主键idint主键是contentvarchar(255)反馈内容否contactvarchar(255)联系方式否phoneInfovarchar(255)联系手机否userInfovarchar(255)用户信息否sendDatetimestamp提交时间否用户粉丝关系表,存放用户粉丝关系映射,如表3-14所示。其中关系映射id(id)、关注的人id(focusId)、关注日期(focusDate)、关系状态(relationEnabled) 、用户id(userId)。表3-14 用户粉丝关系表字段类型说明是否主键idint主键是userIdint用户id否focusIdint关注者id否focusDatetimestamp关注日期否relationEnabledint关系状态否失物招领表,如表3-15所示,失物招领信息被存放于此。其中丢失物品id(id)、发布日期(deliveryDate)、失物状态(finished)、发布者id(userId)、联系人(contact)、联系方式(contactInfo)、失物描述(content)、是否置顶(top)、描述图片(imageUrl)、其他信息(otherInfo)、失物标记(remark)、浏览次数(readed)、审核状态(examined)。表3-15 用户粉丝关系表字段类型说明是否主键idint主键是deliveryDatetimestamp发布日期否finishedint失物状态否userIdint发布人id否contactvarchar(255)联系人否contactInfovarchar(255)联系方式否contentvarchar(255)失物描述否imageUrlvarchar(1000)失物图片否otherInfovarchar(255)其他信息否remarkvarchar(255)冗余字段否readedint查看次数否examinedint审核状态否用户通知关系表,存放用户和通知之间的映射关系表,如表3-16所示。其中映射关系id(id)、接收通知的用户id(recievedUserId)、发布时间(deliveryDate)、通知id(notificationId)。表3-16 用户通知关系表字段类型说明是否主键idint主键是recievedUserIdint接收者id否deliveryDatetimestamp发布时间否notificationIdint通知主体id否兼职招聘表,存放发布的兼职招聘信息,如表3-17所示。其中兼职招聘id(id)、发布者id(userId)、发布时间(deliveryDate)、招聘内容(content)、招聘状态(finished)、审核状态(examined)、是否置顶(top)、其他信息(otherInfo)、描述图片(imageUrl)、招聘标记(remark)、浏览次数(readed)、联系人(contact)、联系方式(contactInfo)、兼职招聘类型(type)、积分(reputation)。表3-17 兼职招聘表字段类型说明是否主键idint主键是userIdint发布者id否deliveryDatetimestamp发布时间否contentvarchar(255)招聘信息内容否finishedint招聘状态否examinedint审核状态否topint是否置顶否otherInfovarchar(255)其他信息否imageUrlvarchar(255)描述图片否remarkvarchar(255)招聘标记否readedint浏览次数否contactvarchar(50)联系人否contactInfovarchar(50)联系方式否typeint兼职招聘类型否reputationint积分否remarkvarchar(255)冗余字段否topint是否置顶否Contact1varchar(50)联系人1否二手信息表,如表3-18所示,存放发布的二手信息。其中发布日期 (deliveryDate)、内容 (content)、描述图片(goodsImage)、联系人(contact)、联系方式(contactInfo)、浏览量 (readed)、发布者id、状态(finished)、审核状态(examined)、其他信息(otherInfo)、二手标记(remark)、二手信息id、是否置顶(top)。表3-18 日志信息表字段类型说明是否主键idint主键是userIdint发布者id否deliveryDatetimestamp发布时间否contentvarchar(255)二手描述否goodsImagevarchar(255)描述图片否contactvarchar(255)联系人否contactInfovarchar(255)联系方式否readedint浏览量否finishedint信息状态否examinedint审核状态否otherInfovarchar(255)其他信息否remarkvarchar(255)冗余字段否topint是否置顶否4 系统实现客户端整体架构及设计如图4-1所示,该系统采用Json作为与服务器端交互数据格式,通过Volley来进行请求的分发与管理,更快速高效的实现数据的交互。服务器端采用S2SH作为底层架构,很大程度上减少程序的耦合度。:图4-1 客户端系统架构图其中src包下为客户端源码:1. com.beyole.adapter:view适配器。用来存放ListView,Gridview等其他自定义view数据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论