毕业设计(论文)-基于Android的盐城健身平台的设计与实现.doc_第1页
毕业设计(论文)-基于Android的盐城健身平台的设计与实现.doc_第2页
毕业设计(论文)-基于Android的盐城健身平台的设计与实现.doc_第3页
毕业设计(论文)-基于Android的盐城健身平台的设计与实现.doc_第4页
毕业设计(论文)-基于Android的盐城健身平台的设计与实现.doc_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

盐盐 城城 师师 范范 学学 院院 毕毕业业设设计计 基于 Android 的盐城健身平台 的设计与实现 学生姓名 学 院 信息工程学院 专 业 软件工程 班 级 12(3) 学 号 指导教师 2016 年 5 月 16 日 盐城师范学院毕业设计 基于基于 Android 的盐城健身平台的设计与实现的盐城健身平台的设计与实现 摘摘 要要 中国经济迅速发展,人们生活质量不断提高,所以大家不再满足于吃饱穿暖, 而是有着更高层次的需求,比如健身这种有益于身体健康的活动。健身行业的兴起, 也意味着大家对身体的健康程度越来越重视。因此,一个能够为用户提供多样选择 以及较高性价比的健身平台就很受欢迎。此健身平台实现的是对盐城本地健身场馆 的收集,并且为各类常住盐城或者旅居盐城的健身爱好者提供一个方便,快速的场 馆推荐,实用性很强。 该系统采用 Eclipse 作为软件的开发工具,使用 Mysql 为用户端和场馆端的数据 交互提供支持。从而实现了用户端上课程列表显示,场馆列表显示以及场馆端订单 处理,课程管理等功能,并且支持数据的实时交互。由于健身等新兴行业的实时性, 便捷性很重要,而且顾客对于健身环境是否舒适,服务的质量的好坏很在意,因此 将健身平台做的透明多元化,是健身行业面临的一大考验,与此同时也是机遇。本 系统主要是把线下场馆连接到线上,价格透明公开,使大家有个比较,实现场馆的 O2O(online to offline)发展。 【关键词关键词】健身平台;O2O;Eclipse;Mysql 全套设计加扣 3012250582 盐城师范学院毕业设计 The Design and Implementation of Yancheng Fitness Platform Based on Android Abstract Because of the rapid economic development of china,the quality of peoples life rises ceaselessly,people no longer content to satisfied eating and warm wearing,Also,people has a higher level of demand,such as fitness which is good for their health. The rise of the fitness industry means that body health is paid more and more attention.Therefore, a platform which provides users with a variety selection and much cheaper price is very popular. This exercise platform realizes the collection of Yancheng local fitness venues, and practicality provides a convenient, fast venue recommendation for all kinds of people who lived in Yancheng or not. The system uses the Eclipse as a software development tool,and uses Mysql to support the data interaction between client and venues.So as to realize the function of courses list and venues list in the user side and realize order processing, course management, and other functions in the venue side.It is also support the real-time interaction of data.Due to the real-time of emerging industries,such as fitness,which requires the convenience.Customer is very care about these things such as the comfort felling of fitness environment and service quality.So,the realization of transparent diversification of fitness platform is a challenge,and meanwhile,it is also an opportunity.This system mainly connects offline venues to online, and makes the price transparently, which gives us a comparison,and realizes the O2O development of venues. Key words fitness platform,O2O, Eclipse,Mysql 盐城师范学院毕业设计 目目 录录 1 引言 .1 1.1 课题背景 .1 1.2 课题研究意义 .1 1.3 课题研究方法 .1 2 系统目标平台及开发环境综述 .2 2.1 系统目标平台 .2 2.1.1 Windows7 系统.2 2.1.2 Android 系统.2 2.2 开发环境及技术综述 .2 3 系统需求分析 .3 3.1 系统功能需求分析 .3 3.2 移动端业务流程图 .4 3.3 系统可行性分析 .4 3.3.1 操作可行性 .4 3.3.2 技术可行性 .5 3.3.3 经济可行性 .5 3.3.4 时间可行性 .5 3.3.5 社会可行性 .5 4 系统总体功能设计 .6 4.1 设计概述 .6 4.2 系统功能结构设计 .6 4.3 系统数据库设计 .7 4.3.1 系统 E-R 图.7 4.3.2 系统数据库逻辑设计.8 5 系统模块的具体实现 .9 5.1 场馆管理模块的实现 .9 5.1.1 订单管理.10 5.1.2 健身课程管理.11 盐城师范学院毕业设计 5.2 普通用户模块的实现 .12 5.2.1 课程列表模块开发.12 5.2.2 场馆列表模块开发.13 5.2.3 订单列表模块实现.15 5.2.4 登录注册模块实现.17 5.3 服务器的实现 .18 5.3.1 服务线程的开发.18 5.3.2 流处理类的开发 .18 5.3.3 DB 处理类的开发.18 5.3.4 图片处理类的开发 .18 5.4 用户端与服务器连接的实现 .18 6 系统测试 .19 6.1 系统测试 .19 6.2 功能测试 .20 6.3 界面测试 .21 7 结束语 .21 参考文献.23 致 谢.24 盐城师范学院毕业设计 第 1 页,共 24 页 1 引言 1.1 课题背景 以前,当爱好运动的人们来到一个新的城市,若是想要找到一个适合自己的运 动场馆,可能得花费很多精力以及时间,以及询问好多人,原因在于人们根本不清 楚自己周围运动健身场馆的分布。即使找到一个运动场馆,如健身房,那也得自己 体验一下才知道其好坏,可能最终还得不到合自己心意的场馆。当然对于一个你自 己熟悉的城市,你对运动健身场馆多少还能了解一些,但是,当出现以上情况的时 候,一款能够解决问题的用户问题的安卓应用就显得很重要。 如今由于安卓移动端的普及,安卓用户基数多,生产安卓设备的厂家也多,所 以安卓系统在移动市场大放异彩是势在必行,故而基于安卓的各种应用应运而生。 在这种大环境下,开发一款方便大家使用,并且能够给用户带来切实利益的健身软 件,才能符合时代发展。所以这个软件的最大的亮点就是可以进行运动健身场馆的 介绍,以及根据你想参加的课程给你推荐场馆,实现预订,以便用户能够及时了解 场馆是否符合自己的期望。 1.2 课题研究意义 在健身平台中,健身课程的推荐,场馆的推荐,对于场馆和普通用户都存在不 一样的意义。对于普通用户来说,一个适合自己的场馆以及实惠的课程很重要。对 于场馆来说,有良好的口碑,一个能够方便管理健身运动课程的后台也显得必不可 缺。健身行业竞争激烈,只有促使健身行业坐上互联网的快车,才能实现健身产业 发生质的改变。老一辈的健身运动行业已然不能满足当下日益增加的健身需求,然 而采用安卓系统的健身平台,则可以避免互联网爆发之前的缺点,真正的做到专业 性,实时性,有效性,便捷性。普通用户端可以通过定位1,了解到自己的位置, 以及周边的场馆,然后找到自己感兴趣的场馆进行预订,预订之后,预订信息可立 即传给场馆,面对大量订单的时候可以避免错乱,信息明确,提高效率。 1.3 课题研究方法 本系统采用 Eclipse 开发用户端,以及使用 MyEclipse 来编写后台,并且使用服 务器,实现数据的动态更新。开发前期先写出需求分析,对软件需要达到的每个功 能进行细化,确定所需要完成的任务之后,看自己能否将其进行实现,将其中超出 盐城师范学院毕业设计 第 2 页,共 24 页 自己能力范围的放在最后进行开发;开发的过程当中,不断的调整一些细节,以及 自我纠正一些逻辑上面的错误,遇到难题则查阅相关资料,解决问题,并且进行回 归测试等;开发后期,需要对软件的健壮性,可维护性等进行测试,包括白盒测试, 黑盒测试等。在初期版本开发结束之后,征询指导老师意见,对软件进行去粗取精, 修改一些致命错误,使这个软件更完善。 2 系统目标平台及开发环境综述 2.1 系统目标平台 2.1.1 Windows7Windows7 系统系统 Win7 系统是当下较为普遍的电脑操作系统,本设计之中场馆端的订单管理, 以及健身课程的管理就是以这个操作系统为环境开发。开发完成之后,场馆端运行 的目标环境便是 Windows7,这也是为场馆端与用户端的数据交互提供一个更为可 靠的环境。 2.1.2 AndroidAndroid 系统系统 安卓系统就是一个开放式的移动互联网操作系统,并且已经成为应用最广的移 动互联网平台5。只要移动终端支持安卓操作系统,那么该系统中的用户端就可以 安装在这些目标终端上面。用户端最终运行环境也就是这些安装有安卓操作系统的 终端,这样,就能稳定地和 PC 上的场馆端进行交互。 2.2 开发环境及技术综述 PC 端也就是场馆端的开发环境及技术:开发使用 MyEclipse + tomcat 6.0,其中 采用 jsp + servlet 的方式进行页面展示和逻辑处理。 移动端也就是用户端的开发环境及技术:开发使用 Eclipse,其中基本的页面展 示是通过 Android 中的 Activity 来实现,并且在其中内嵌 Fragment 来灵活展示页面; 整个界面的底部导航采用 FragmentTabHost,四个主要 Fragment 供底部 Tabhost 切 换;还使用了一些基本的 View 以及自写的 View 组件2;定位以及地图显示调用的 是百度的接口。 数据库:该系统对于数据操作的实时交互性要求比较高,且数据之间联系比较 紧密,因而该平台在开发中采用 mysql 作为数据库,并且需要选取数据库可视化工 具,如 navicat for mysql。如此一来,如何提供数据支持的问题便迎刃而解。 盐城师范学院毕业设计 第 3 页,共 24 页 3 系统需求分析 3.1 系统功能需求分析 基于安卓的盐城健身平台的主要目的有以下几个方面:第一,为场馆提供了方 便的订单管理。第二,场馆可以管理自己所开设的健身课程,并及时将更改的课程 消息反馈给用户。第三,必须使用户的时间得到节约,而且使用户能够查找到适合 自己的健身项目以及附近的健身场馆。此外,该系统用于第三产业也对界面的美观 提出了要求,只有界面易操作,用户用的舒服,顺手,这样才能创造良好的口碑, 便于该系统用户端的推广。由于操作人员多为普通用户,场馆,因此数据的操作需 要简单方便,可靠快速。该平台计划达到如下目的: (1) 健身场馆在场馆端可以很方便的管理用户的订单。 (2) 健身场馆在场馆端可以管理健身课程的信息,可对健身项目进行增删改的 操作。 (3) 普通用户在用户端可以查询自己下过的订单,以及当前还未消费的订单。 (4) 普通用户在用户端可以通过首页的课程列表找到自己喜欢的课程,点击进 去之后会有相关场馆的推荐,也可以通过搜索周边,来查找场馆,并且在线预订课 程。 (5) 整个系统可以稳定运行,并且可靠,具有一定的安全性。 场馆端和用户端,服务器三个端口的关系如图 3-1 所示。 图 3-1 场馆端和用户端,服务器之间的关系 服务器端需要拥有以下功能模块,如图 3-2 所示。 图 3-2 服务器功能模块 服务器 接收数据 发送数据 操作数据库 场馆端 服务器 用户端 课程信息 传递数据 订单信息 传递数据 盐城师范学院毕业设计 第 4 页,共 24 页 3.2 移动端业务流程图 对需求详细分析之后,用户端需要的功能大致有健身课程列表的展示,场馆列 表的展示,用户根据自己的需求选择相应的场馆来完成预订,预订成功后,用户预 订信息提交给服务器,服务器再发送场馆端。用户能够查询已经预订的场馆信息。 现以用户端下单的全过程为例,其业务流程图如图 3-3 所示。 图 3-3 用户端下单业务流程图 3.3 系统可行性分析 3.3.1 操作可行性操作可行性 由于操作该系统的人员一般都是普通健身运动爱好者以及各大运动场馆,因此 对该程序提出了方便性,快捷性,实时性的要求。场馆端能够方便各大场馆进行健 身课程的录入,删除,修改以及订单的管理。普通用户端的界面人性化,能使用户 只需要根据相关信息操作,就可以预订自己所需的课程,非常适合广大健身爱好者。 因此本系统操作可行。 登录 进入用户界面 点击任意课程 进入用户界面 点击“开始热炼” 填写订单 提交订单 是否预订成功显示“下单失败”数据提交服务器 是 否 盐城师范学院毕业设计 第 5 页,共 24 页 3.3.2 技术可行性技术可行性 该系统的完成主要涉及到用户端(移动端) ,场馆端(PC 端)的开发,用户界 面的设计等。PC 端也就是场馆端的开发需要用到 MyEclipse + tomcat 6.0,并且采用 jsp + servlet 的方式进行页面展示和逻辑处理。移动端也就是用户端的开发需要用到 Eclipse。 数据库:该软件数据库操作较为频繁,且数据之间联系比较紧密,因而该平台 在开发中采用 mysql 作为数据库,并且需要选取数据库可视化工具,如 navicat for mysql。从对开发者的技术基础要求来说,开发者需要熟悉 java 技术,网页开发技 术,以及知道如何实现移动端和网页端的交互。作为软件工程的学生,我在大学四 年中学过相关知识,在此基础上查阅与软件开发相关的资料。 通过技术可行性分析,开发的软硬件都符合要求,可以完成软件的开发,因此 具有技术可行性。 3.3.3 经济可行性经济可行性 对于用户来说,通过场馆列表上面各个课程显示的价格信息就可以选择性价比 最高的那家进行消费,这样就可以不用多花冤枉钱,减去不必要的支出。对于健身 运动场馆来说,这个系统可以为场馆带来大量的用户,由此可以提高场馆知名度, 以及可以带来用户流量,进而可以带来经济效益。对于开发者来说,开发成本在可 控制的范围内,并且系统完善,操作便捷,后期只要推广到位,便可以收集大量用 户信息。然后通过为场馆带去流量,从每单中抽取一定比例的佣金进行盈利,从而 填补前期开发成本。因此,该软件在经济上面对于多方面来说都是可行的。 3.3.4 时间可行性时间可行性 每个软件开发都有自己的开发周期,这个健身平台也是一样。由于是一个人完 成所有开发工作,所以时间必须充足。此平台前前后后一共有几个月时间,时间紧 张的问题并不存在。虽然开发中遇到一些难题,超过自己的能力范围,比如服务器 的开发。但是边学习边开发也不失为一种选择。最终能够按照预设时间完成开发, 故而该软件在时间上面是可行的。 3.3.5 社会可行性社会可行性 眼下如此激烈的竞争中,人们为了积累财富,好多人都拿身体健康来做抵押, 盐城师范学院毕业设计 第 6 页,共 24 页 不断透支生命。庆幸的是,有些人已经意识到自己的身体银行出现赤字了,故而转 向对健身的需求,就出现好多人去健身房找私人教练帮助自己锻炼,来偿还之前对 身体欠下的债。 这个时候,能够有一款给这些有需求的用户带来实惠,带来便捷,带来快乐的 软件显得很重要。健身爱好者将可以随便在哪个地方都可以快速找到自己喜欢的课 程,适合自己的场馆,同时又得到实惠。这个软件能够实现场馆,普通用户,开发 者等多赢的格局。由此,开发这款软件具有一定的社会可行性。 4 系统总体功能设计 4.1 设计概述 基于安卓的盐城健身平台是根据健身爱好者对健身场馆的个性化需要来开发设 计的,目标是给该用户带来更好的体验。基于安卓的盐城健身平台设计目的主要是 有以下几方面。第一,用户可以通过用户端找到自己喜欢的健身课程,以及查看相 应的开设这个课程的健身场馆,并且获得这些健身场馆的介绍信息。第二,用户能 够在线预订。第三,当用户觉得用户端上推荐的场馆距离自己有些远的时候,可以 点击“定位”图标10,这样用户界面就会显示出用户自己周边的健身运动场馆。第 四,健身运动场馆可以对自己开设的运动课程进行增删改操作。第五,健身运动场 馆可以对用户提交的预订信息进行处理。 4.2 系统功能结构设计 通过对该系统需求的分析,研究其所需要达到的目的,现将整体划分为以下功 能模块: 用户端:主要包括用户登录,注册,对课程列表的查询,对健身场馆的查询, 用户周边场馆的显示,以及预订功能等。 场馆端:包括登录,显示订单列表,对订单的操作,以及对课程的增删改操作。 服务器:传递数据,获取数据,以及数据处理的实时性。 最后得到该健身平台的系统功能模块图,如图 4-1 所示。 盐城师范学院毕业设计 第 7 页,共 24 页 图 4-1 系统功能模块图 4.3 系统数据库设计 系统数据库是整个系统能够能够存储,修改,删除以及查询数据等操作的基础。 合理的数据库设计能使软件数据交互及时,准确。后期软件测试会对部分数据进行 测试,以此来判断其正确性如何。因此一个数据库设计的是否合理完善,对于整个 系统的开发来说非常重要。 4.3.1 系统系统 E-R 图图 针对普通用户以及场馆的需求,对他们各自需要的功能进行研究,得到该健身 平台的 E-R 如图 4-2 所示。 基于 Android 的盐城健身平台 普通用户端(商家)场馆 端 登 录 注 册 登 录 运 动 课 程 列 表 场 馆 列 表 查 询 预 订 信 息 预 订 信 息 管 理 健 身 课 程 管 理 场 馆 信 息 周 边 场 馆 历 史 订 单 当 前 预 订 接 受 预 订 拒 绝 预 订 添 加 健 身 课 程 删 除 健 身 课 程 修 改 健 身 课 程 盐城师范学院毕业设计 第 8 页,共 24 页 图 4-2 系统 E-R 图 4.3.2 系统数据库逻辑设计系统数据库逻辑设计 本系统各个模块包含多个数据库表,包括基本表和功能关联表,经过对各种表 之间的关系进行分析,下面将列出本系统主要的数据库表格,如表 4-1,表 4-2,表 4-3,表 4-4 所示。 表 4-1 运动场馆表 名 称类 型含 义是否不为空主 键外 键 club-IdInt运动场馆 ID是是否 clubNameVarchar运动场馆名是否否 clubTimeVarchar场馆课程的时间否否 clubAddressVarchar场馆地址否否 lesson-IdInt开设课程的 id否是 lessonPricFloat课程价格否否 lessonPicVarchar课程图片否否 lessonDescribeVarchar课程描述否否 盐城师范学院毕业设计 第 9 页,共 24 页 表 4-2 健身课程表 名 称类 型含 义是否不为空主 键外 键 lesson-IdInt运动课程 ID是是否 lessonNamevarchar运动课程名是否否 lessonDescribevarchar课程描述是否否 lessonPicvarchar课程图片否否 表 4-3 订单表 名 称类 型含 义是否不为空主 键外 键 order-Idint订单 ID是是否 club-Idint运动场馆名是否是 user-Idint用户 ID是否是 Timedatetime课程时间否否 isCostedtinyint是否消费否否 表 4-4 用户表 名 称类 型含 义是否不为空主 键外 键 user-Idint用户 ID是是否 userNamevarchar用户名是否否 Passwordvarchar密码是否否 Roleint登录角色是否否 5 系统模块的具体实现 5.1 场馆管理模块的实现 运动场馆的登录模块是用来判断该运动场馆是否有权限登录后台操作系统,如 若是无法正常登录,则判断不是场馆,那就无法进行普通用户预订信息的处理以及 对健身课程管理的操作。当运动场馆成功登入后,可以对预订信息进行处理,以及 对健身课程的管理。其中登录界面如图 5-1 所示。 盐城师范学院毕业设计 第 10 页,共 24 页 图 5-1 场馆登录页面 5.1.1 订单管理订单管理 订单管理功能主要是通过场馆登录来获取权限,成功登录之后,便可对普通用 户也就是客户的预订信息进行处理,如图 5-2 所示。 订单管理界面如图 5-3 所示。 图 5-2 订单管理流程图 管理员登录 输入用户名 和密码 验证 功能选择 订单处理 退出登录 N Y 盐城师范学院毕业设计 第 11 页,共 24 页 图 5-3 订单管理界面 5.1.2 健身课程管理健身课程管理 在场馆登录后台以后,便可对健身课程的相关信息进行管理。健身课程的信息 包括开设该项运动项目的场馆,运动的课程名,运动项目所开设的时间,以及价格 等。其中运动课程的添加的操作界面如图 5-4 所示。 图 5-4 课程添加界面 盐城师范学院毕业设计 第 12 页,共 24 页 5.2 普通用户模块的实现 普通用户模块主要是给健身者使用,包括所有的健身课程的列表展示,运动场 馆的列表显示,历史订单的显示以及一些个人信息的显示。其中对健身课程列表进 行点击操作之后会显示相应的开设该门课程的场馆,用户选择自己喜欢的场馆,进 行预订;在场馆列表中选择自己喜欢的场馆会显示相应的场馆介绍;若是用户不清 楚周边场馆分布,则可以点击左上角定位图标,显示周边场馆;在历史订单中,会 显示自己曾经预订过的课程信息;个人信息的展示中,可以及时显示用户所在地等 一些基本个人信息。 5.2.1 课程列表模块开发课程列表模块开发 点击用户端 app,进入之后,首页会显示课程信息,包括瑜伽,游泳,健身, 柔韧性训练,Tabata,Hiit 等等,如图 5-5,图 5-6 所示。 图 5-5 运动健身课程列表一 图 5-6 运动健身课程列表二 实现代码: public class LessonTypeAdapter extends BaseAdapter /首页运动课程列表显示的实现 private List lessonList; /首页显示的运动课程列表的定义 private Context context; public LessonTypeAdapter(Context context, List lessonList) this.lessonList = lessonList; 盐城师范学院毕业设计 第 13 页,共 24 页 this.context = context; public int getCount() return lessonList.size(); public View getView(int position, View convertView, ViewGroup parent) ViewHolder viewHolder = null; if(convertView = null) /一些变量的初始化以及获取 viewHolder.bgIv = (ImageView) convertView.findViewById(R.id.lessonItemBg); viewHolder.lessonNameTv=(TextView)convertView.findViewById(R.id.lessonNameTv); viewHolder.lessonDescribleTv=(TextView)convertView.findViewById(R.id.lessonDescTv) ; convertView.setTag(viewHolder); else viewHolder = (ViewHolder) convertView.getTag(); LessonType lessonType = (LessonType) getItem(position); /viewHolder.bgIv.setImageResource(context.getResources().getIdentifier(lessonType.lessonPic, drawable, com.yctc.xmx.fitapp); ImageLoader.getInstance().displayImage(Util.getImageUrl(context) + lessonType.lessonPic, viewHolder.bgIv); viewHolder.lessonNameTv.setText(lessonType.lessonName); viewHolder.lessonDescribleTv.setText(lessonType.lessonDescrible); return convertView; class ViewHolder /自定义ViewHolder,方便复用 ImageView bgIv; TextView lessonNameTv; TextView lessonDescribleTv; 5.2.2 场馆列表模块开发场馆列表模块开发 此模块是有显示场馆列表,以及场馆所开设的课程信息,点击任意场馆之后有 相应的场馆信息显示,以及通过点击定位来显示周边场馆。如图 5-7,图 5-8,图 5- 9 所示。 盐城师范学院毕业设计 第 14 页,共 24 页 图 5-7 场馆列表 图 5-8 周边场馆 图 5-9 场馆信息 场馆列表代码: public class ClubAdapter extends BaseAdapter/第二页运动课程列表显示的实现 盐城师范学院毕业设计 第 15 页,共 24 页 private List lessons; /定义场馆列表 private Context context; public ClubAdapter(Context context, List lessons) this.lessons = lessons; this.context = context; public int getCount() return lessons.size(); Club lesson = (Club) getItem(position); /获取课程名 viewHolder.lessonNameTv.setText(lesson.lessonName); /获取课程时间 viewHolder.lessonTimeTv.setText(lesson.lessonTime); /获取开设该课程的场馆名 viewHolder.lessonClubTv.setText(lesson.lessonClubName); /获取该课程的价格 viewHolder.lessonPriceTv.setText(+String.valueOf(lesson.lessonPrice); /获取该课程的图片 viewHolder.picIv.setImageResource(context.getResources().getIdentifier(lesson.lessonPic, drawable, com.yctc.xmx.fitapp); return convertView; static class ViewHolder /自定义ViewHolder,方便复用 ImageView picIv; TextView lessonNameTv; TextView lessonTimeTv; TextView lessonClubTv; TextView lessonPriceTv; 5.2.3 订单列表模块实现订单列表模块实现 普通用户在线预订之后,会在“我的预订”这页显示已经预订的健身课程的相关 信息,包括课程名称,课程时间,开设的场馆名称,以及运动健身项目的价格等, 如图 5-10 所示。 盐城师范学院毕业设计 第 16 页,共 24 页 图 5-10 我的预订 实现代码: public class OrderAdapter extends BaseAdapter /定义订单列表 private List lists; private Context context; public OrderAdapter(Context context, List lists) this.lists = lists; this.context = context; public int getCount() return lists.size(); public View getView(int position, View convertView, ViewGroup parent) /各项数据初始化以及获取 _Order _Order = lists.get(position); Lesson lesson = _Order.lesson; Order order = _Order.order; viewHolder.lessonNameTv.setText(); /预订的课程名 viewHolder.lessonTimeTv.setText(lesson.time); /预订的时间 viewHolder.lessonClubTv.setText(lesson.clubName); /预订的场馆名 盐城师范学院毕业设计 第 17 页,共 24 页 viewHolder.lessonPriceTv.setText( + String.valueOf(lesson.price); /预订的价格 ImageLoader.getInstance().displayImage(Util.getImageUrl(context) + lesson.pic, viewHolder.picIv); /获取课程图片 if(order.isCosted = 0) viewHolder.costTv.setText(未消费); else viewHolder.costTv.setText(已消费); viewHolder.orderTimeTv.setText(order.time); return convertView; static class ViewHolder /自定义ViewHolder,方便复用 ImageView picIv; TextView lessonNameTv; TextView lessonTimeTv; TextView lessonClubTv; TextView lessonPriceTv; TextView orderTimeTv; TextView costTv; 5.2.4 登录注册模块实现登录注册模块实现 该模块与之前模块的逻辑是:只有登录之后才能看见自己相关个人信息,以及 订单列表,没有登录就无法预订课程。如图 5-11 所示。 盐城师范学院毕业设计 第 18 页,共 24 页 图 5-11 用户登录界面 5.3 服务器的实现 服务器主要功能是:实现普通用户端,运动场馆端及 Mysql 数据库的连接。进 而使它们的数据时时刻刻保持一致。该健身平台利用服务器成功解决了用户端与运 动场馆端之间的数据交互的问题。 5.3.1 服务线程的开发服务线程的开发 服务线程的开创是用来处理数据请求,并对各个请求进行合理操作,然后通过 调用 DB 处理类中的方法实现与数据库的交互,最后的处理结果会在用户端,运动 场馆端进行显示。 5.3.2 流处理类的开发流处理类的开发 用户端或者运动场馆端会对数据进行操作,用户端对数据的操作包括订单的形 成,运动场馆端对数据的操作包括对预订信息的处理,运动课程的增删改等等。它 们当中任意一个对订单,或者课程的数据进行操作,都会形成流,所以对于流处理, 需要有一个好的方法,这样才能确保数据进行实时,可靠的交互。 服务端与 android 通过 json 数据进行交流,而且都采用 Gson 来作为 json 的转 盐城师范学院毕业设计 第 19 页,共 24 页 换框架。 5.3.3 DBDB 处理类的开发处理类的开发 Conn 是服务器端一个类,用来实现连接。它包含了用户端与运动场馆端所需 要的对于数据交互的方法。这里需要连接 Mysql 上存储的数据,通过与数据库交互, 获得其中的数据,之后反馈给用户端以及运动场馆端。 5.3.4 图片处理类的开发图片处理类的开发 用户端与场馆端都会对图片进行操作,android 客户端采用 ImageLoader 作为图 片加载框架。只需传入服务端图片地址即可下载完成并显示到 imageview 中。需要 在 application 中初始化,使用很简单,如下: ImageLoader.getInstance().displayImage(Util.getImageUrl(context)+lesson.pic,viewH older.picIv); 5.4 用户端与服务器连接的实现 要实现用户端与服务器端连接,需要服务器完成以下几个功能: (1)用户 ID 权限的验证。 (2)IP 测试连接成功的验证。 在完成这两个主要功能后,再作调试可以对服务器进行访问。 android 中不允许在主线程执行网络操作,所以采用 AsyncTask 中异步请求服务 端,采用原生的 httpUrlConnection 发送 post/Get 的请求,在 onPostExcute 中拿到结 果更新 UI。例如: new AsyncTask() protected Void doInBackground(Void. param) try String host = http:/ + PreferenceUtil.getIp(getActivity(); URL url = new URL(host + /fit/LessonTypeServlet); URLConnection coon = url.openConnection(); HttpURLConnection httpCoon = (HttpURLConnection) coon; httpCoon.setRequestMethod(GET); httpCoon.connect(); byte bytes2 = Util.readInputStream(httpCoon.getInputStream(); Gson gson = new Gson(); lessonTypes = gson.fromJson(new String(bytes2), new TypeToken() .getType(); 盐城师范学院毕业设计 第 20 页,共 24

温馨提示

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

评论

0/150

提交评论