_201***********_
密级_____ 公开_____
******本科毕业论文
基于Android平台订购系统
研究与实现
学院 名称:信息工程学院
专 业 名 称:计算机科学与技术
学生 名:***
指导 老师:***
二○一八年五月
BACHELOR'S DEGREE THESIS
OF ******
Ordering system based on Android
Platform Research and Implementation
College : School of Infor ** tion Engineering
Subject Computer Science and Technology
Name : ***
Directed by : ***
May 2018
郑 重 声 明
我提交的学位论文是在导师的指导下独立研究的结果。所有的数据和图片数据都是真实和可靠的。据我所知,除了文章中注明的参考内容外,本学位论文的研究结果不包括他人享有作权的内容。其他对本论文所涉及的研究工作做出贡献的个人和集体已在本文中明确表示。本学位论文的知识产权属于培训单位。
我的签名: 日期:
摘 要
进入21世纪以来,计算机的迅速发展,计算机的应用信息技术全面地渗透到人类社会的各个方面,信息化成为世界经济和社会发展的大趋势。在传统的餐饮行业中,点餐过程都是由餐厅服务员人工完成的,如果餐馆规模比较大且有客流高峰的时候,则会出现客人等待就餐时间长的现象。Android 系统的出现给移动互联网时代带来了新的发展。为了满足现代信息时代订购的需求,采用新的信息技术,研究设计了一个基于Android手机订餐系统平台。
本系统包括两大模块:用户和管理员。用户可以注册,登录,直接预定菜品,添加菜品到购物车,查看消息,修改个人信息等。管理员可以登录,添加、修改、删除某个菜品,查看当天或者所有订单,改变订单状态等。开发工具主要有:Eclipse,MySQL,Tomcat,SDK,ADT。
Android订购系统为用户提供最方便的饮食方式,为客户提供快速方便的订购业务,节省了大量不必要的时间和麻烦,给企业带来更多的好处。Android订过信息管理,订餐系统可以帮助餐饮企业营销,记录餐饮企业各方面的数据。
关键词:订购系统;Java;Android;MySQL
ABSTRACT
Since twenty-first Century,with the rapid development of computers,infor ** tion technology of computer applications has been fully penetrated into all aspects of hu ** n society and infor ** tion technology has become the trend of the world economic and social development. In the traditional restaurant,ordering process is done ** nually by restaurant waiters. If a restaurant is relatively large and has a peak passenger flow,the phenomenon that guests are waiting for eating a long time will happen. The appearance of Android system brought a new era of mobile internet. In order to meet the needs of ordering,using new infor ** tion technology,research and design a mobile phone ordering system based on Android platform.
The system includes two modules: users and administrator. Users can register,login,directly book dishes,add dishes to the shopping cart,view messages,modify personal infor ** tion and so on. The administrator can login,add,modify,delete dishes,see today or all orders and change the order status. Development tools: Eclipse,MySQL,Tomcat,SDK,ADT.
Android ordering system provided to the users the most convenient way of eating by fast and convenient order business door-to-door service for customers. It saves the customer a lot of unnecessary time and trouble and brings more benefits to merchants. At the same time,Android ordering system can ** rketing assistant catering enterprises and through infor ** tion ** nagement can record the catering enterprises in all aspects of the data.
Keywords: ordering system; Java; Android; MySQL
目 录
1.1
1.1 本研究背景1
1.2 本研究的目的和意义1
二是3
2.1 3
2.2 3
2.3分析4
2.3.1可行性4
2.3.2可行性4
2.3.3可行性4
三章5
3.1 Android介绍5
3.2 Android搭建环境5
3.3 软件工程结构6
四、7
4.1 7
4.1.1 用户客户端数据流程7
4.1.2 管理员客户端数据流程8
4.2设8
4.2.1 8
4.2.2设10
4.3 11
4.4设计14
4.4.1 数据实体E-R图设计 14
4.4.2 16
五、18
5.1 WEB实现服务器的主要功能18
5.1.1 建立数据库连接池18
5.1.2 实现用户注册服务端18
5.1.3 web.xml配置文件 19
5.2实现客户端的主要功能19
5.2.1 客户端购物车会话19
5.2.2 用户客户端修改头像20
5.2.3 管理员客户端接收推送消息20
六22
6.1 22
6.2 用户登录模块测试22
结 论 23
参考文献 24
致 谢 25
附 录 26
第1章 绪论
1.1 本研究背景随着我国市场经济的快速发展,企业越来越依赖市场和客户,这种依赖关系开始逐渐提高到企业生存的高度。如何获得更多的客流,如何以较小的成本使企业获得更大的知名度,是企业生存、发展和成长的关键。与应用程序场景有限PC与生而便携的手机相比,它给了电子商务更大的想象空间,导致了移动电子商务。移动电子商务是使用手机PDA 以及手持电脑等无线终端B2B、B2C或C2C电子商务。由于特殊网络、移动通信技术、短途通信技术等信息处理技术的完美结合,人们可以在任何时间、任何地点开展各种商业活动,实现随时随地、在线购物和交易、在线电子支付和各种交易活动、商业活动、金融活动及相关综合服务活动。Android任何移动终端制造商都可以通过自己开放的平台加入 Android在联盟中,越来越多的用户倾向于选择操作系统Android手机品牌品牌的选择。Android平台软件,毫无疑问,它可以覆盖更多的人。餐饮业仍处于电子商务形成的早期阶段。在传统的餐饮业中,它们大多以实际的外观形式进行宣传和交流。作为一个网络普及的社会,它仍然缺乏一些更现代的元素。餐饮业是一个个性化、多样化的服务业,而电子商务最能反映个性化、多样化的服务方式。目前,大多数电子商务都反映在为大型企业服务,结合餐饮业的特点,最终发展成为同一社区的商店服务模式。以最合适的方式,最方便的服务进入每个网络社区,进入人们的生活。
1.2 本研究的目的和意义如今宅男宅女日益增加,很多餐饮店都提供外卖服务,传统的外卖服务需要客户给商家打电话并报出地址,商家那边也需要记录下客户的信息,才能将外卖准确的送达,但这之间都是人工操作,难免会出现偏差和遗漏,为客户或者商家带来损失。如今3G,4G网络覆盖范围越来越广,Android手机也占据了手机行业的大部分,所以我们可以考虑做一个Android应用程序方便商家和客户,最大限度地降低错误率。当用户需要点餐时,他们可以通过在手机上点菜单来吃他们最喜欢的菜,这包含了巨大的商机,可以有效地提高商家的营业额。基于上述因素,提出了这样一个基础Android在线订购系统。
这个项目是一个基础Android手机平台的订购系统有两个客户端和一个用户和管理员WEB服务器。用户客户实现浏览菜肴、点菜、下订单、搜索等功能,管理员客户实现添加、删除、修改菜肴、处理订单、管理会员等功能。两个客户端和WEB服务器连接数据交互,实现在线订购流程。
拥有这个项目Android手机用户的生活更加方便快捷,使手机更加生动灵活,更接近人,让手机主人随时随地都能吃到自己喜欢的菜。让人们的生活更加多样化,让设计师更加熟练Android市场上的技术等特点。
二章需求分析
2.1 系统功能分析1、实现用户注册、用户信息修改等用户信息操作,方便下次直接登录。
2、实现管理员对菜品的编号、名称、图片、菜品的管理,最大限度地方便管理员和用户查询菜品的信息。
3、建立菜谱信息查看和菜品搜索功能。
4、建立菜单发送和订单发送信息提醒。
5、实现管理员对菜品信息的有效管理,方便各项工作的查询功能,实现用户对菜品的查询、选择、购物车等操作。
6、建立Android订餐系统是对食品信息数据库和用户信息的有效管理。
2.2 系统性能分析1、可用性
确保功能正常使用,界面大气美观,界面操作方便,界面逻辑合理,页面最大响应时间不超过10秒。
2、可扩展性
便于二次开发,满足功能的扩展或改进,提高相应的安全控制。
3、安全性
要求系统前端和后端提供一定级别的密码安全保护,确保系统和信息的安全,防止恶意访问。该程序可以防止跨站脚本攻击、重复提交攻击等基本漏洞攻击。系统用户的登录密码使用MD5不可逆加密。注册时,用户需要至少6位密码强度验证。
4、性能
要求系统能同时负载300个用户,不易与其它软件发生冲突,能长期稳定运行。
2.3可行性分析2.3.1 经济可行性现在智能手持设备已经越来越多,特别是Android系统的手持设备也越来越便宜,性能也有很大进步,而本应用的安装使用只需要一般性能的手机。
对餐厅而言,无线点餐系统一般都是由一个无线终端(一般而言是PDA)、无线路由器和后台服务器组成。这种技术架构很成熟,但弊端是PDA价格较高,并且功能比较单一,只能作为点餐使用,增加了系统成本,造成了资源浪费,而且此系统只能够由餐厅服务员使用。Android订餐系统,可以由服务员帮助来点餐的顾客使用,也可以由已经注册的用户通过下载客户端自己订餐,用户群体更大,无形中节约了资源。所以,在经济上是可行的。
2.3.2 技术可行性本系统的WEB服务端选择了当今流行的Eclipse开发环境,采用Java语言编写,使用MySQL数据库存储数据和行业普遍使用的MVC框架来进行设计。虽然Android开发平台是第一次接触,但它的最上层开发语言是Java,而且它是开源的,经过一段时间的学习基本上掌握了其开发流程和框架设计。因此从技术层面上来看,开发此系统是可行的。
2.3.3 营运可行性按照人性化设计的原则,系统用户界面友好、操作灵活简便。系统整体结构设计合理,数据库信息齐备,面对大量数据的输入输出,能及时地对数据进行快速,准确的排序,统计和处理等。在餐饮高速发展的今天,餐厅除了保证和提高自身的服务质量外,服务方式的创新也显得尤为重要。如何吸引客户,和更好的为客户提供便捷、优质的服务,成了餐厅竞争的重要途径。随着手机应用的高速发展,我们将订餐系统应用于智能手机上,以方便客户不出户便可浏览菜单和下订单,有效的节约人工同时可以提高餐厅效率,为客户节省更多的时间。该订餐系统适合现代餐饮业,对餐厅的菜品信息进行处理和展示,使订餐过程信息化,提高工作效率并增加订餐情趣。
第3章 软件实现相关技术
3.1 Android开发环境介绍Android的上层应用程序是Java语言开发,同时还需要基于Dalvik虚拟机,所以Google公司推荐使用主流的Java集成开发环境Eclipse。只有Eclipse还不够,因为是使用Java语言开发,还应该有由SUN公司提供的Java SDK(其中包括JRE:Java Runtime Environment,JDK:Java Development Kit)。此外,Android的应用程序开发和Java开发有较大区别,所以还需要Google提供的Android SDK。同时,还需要在Eclipse中安装ADT,为Android开发提供开发工具的升级或者变更。
3.2 Android开发环境搭建Android开发环境搭建步骤:
1、首先到http:// ** .eclipse.org/downloads/下载Eclipse集成开发环境并解压,这里推荐下载Java EE集成版本,可以为平台的搭建省下不少工作。接着再去http://java.sun.com/javase/downloads/index.jsp站点下载SDK后安装,下载http://dl.google.com/android/android-sdk-windows-1.5.zip,Android SDK1.5。第一步下载工序就结束了。
2、双击Eclipse解压后目录中的eclipse.exe然后启动,选择Eclipse菜单中的Help->Install New Software->选项卡上的Available Software,点击右侧的“Add”输入http://dl-ssl.google.com/android/eclipse/后确定,然后在“Workwith”下拉菜单中选择刚才输入的网址。过一会就会出现一个Developer Tools选项,勾上以后点击Next以后Eclipse会自动网上查找Android开发工具插件,然后找到Android DDMS和ADT(Android Development Tools),选中这两个点击Finish,Eclipse就会自动下载并安装Android插件了,最后会提示重启Eclipse。
3、重新启动后选择Eclipse菜单中的Windows->Preference在左侧的Android项目中SDK Location中填入Android SDK解压后的目录,然后点击Apply。
4、在Windows的系统变量中的path变量中添加一个值,该值指向解压后的Android SDK目录下的tools文件夹。
3.3 软件的工程项目结构为了使源代码文件的结构更加清晰,该工程设置了多个命名空间,分别用来保存用户界面、数据库、后台服务和工具实体的源代码文件,源代码文件的名称以及说明如图3.1和图3.2所示。
图3.1 管理员客户端项目结构
图3.2 WEB服务器项目结构
第4章 详细设计
4.1 系统数据流程基于Android平台的无线订餐系统由客户端和服务器两部分组成,其中客户端有用户客户端和管理员客户端,用户客户端主要负责订餐,管理员客户端主要负责接收订单,WEB服务器的功能是对信息的增加、删除、修改、查询。
4.1.1 用户客户端数据流程用户客户端的基本流程共有四个步骤:
1、用户输入正确的登录凭证进入系统,若登录凭证不正确,系统会自动返回到登录页面,提示用户重新输入登录信息,直到用户成功登录进入系统。
2、用户成功进入系统后,可先进行所有菜品的查看,点击某个具体菜品,查看该菜品的详情(包括:具体描述、评论、菜评分数)。
3、用户在查看所有菜品页面和具体菜品详情页面,都可将喜欢的菜品加入购物车或者立即订购。
4、用户选菜完成,进入购物车页面,进行已选菜品的修改,最后提交订单。
根据上述流程可得到用户客户端的数据流程图,具体如图4.1所示。
图4.1 用户客户端数据流程图
4.1.2 管理员客户端数据流程管理员客户端的基本流程共有四个步骤:
1、管理员输入正确的登录凭证进入系统,若登录凭证不正确,系统会自动返回到登录页面,提示管理员重新输入登录信息,直到管理员成功登录进入系统。
2、管理员成功进入系统后,首先进入查看所有菜品页面,可以进行所有菜品的管理,包括修改菜品图片、名称、食材、详细描述等,也可以添加菜品。
3、管理员进入订单页面,可以查看当天订单或者所有订单。
4、管理员在当天订单页面修改订单状态(接受或者拒绝订单)。
根据上述流程可得到管理员客户端的数据流程图,具体如图4.2所示。
图4.2 管理员客户端数据流程图
4.2 系统功能设计4.2.1 系统功能架构根据上一章的系统需求分析可知,基于Android平台的无线订餐系统由用户客户端,管理员客户端和WEB服务器三大模块组成,各个模块下边又有许多小模块组成,每个模块的作用各不相同,但彼此之间又存在一定关系,通过分析上述模块之间的联系以及系统需求,可得到无线订餐系统的功能架构,具体如图4.3所示。
图4.3 无线订餐系统的功能架构
4.2.2 功能模块设计1、用户客户端
(1)登录功能
任意用户在使用订餐系统之前,必须提供正确的登录凭证才能进入系统,否则会拒绝用户使用系统的相关功能,对于未注册的用户可事先进行注册,这样就可以提高系统的安全性,防止被恶意用户使用。同时,为了让系统有良好的人机交互界面,本系统用户界面布局做到功能布局明显,空间分配平衡,以及界面结构和风格一致。
(2)订餐功能
订餐功能是无线订餐系统中的核心功能,它主要处理用户的点餐要求,并由此生成订单,在用户提交订单后,系统会自动将生成的订单信息传送到WEB服务器,由管理员进行处理。
此功能包括了四部分:查看菜品清单,查看菜品详情,加入购物车,查看购物车。查看菜品清单是每次从WEB服务器中请求12条数据,向下滑动该页面可以重新加载页面,页面到达底部继续向下滑动可以加载更多菜品信息,点击加入购物车,可将某菜品加入购物车,点击查看菜品详情,WEB服务器返回该菜品的图片、名称、食材、备注、评论、评价分数等,在查看购物车页面,用户可以对购物车中的菜品进行修改或者删除。
(3)个人信息管理功能
个人信息管理功能是用户修改自己的昵称、手机号码、头像、密码。修改头像的图片可以从手机相册或者调用照相机接口进行拍摄。密码修改需要WEB服务器向手机发送的验证码。
2、管理员客户端
(1)登录功能
管理员进入系统,需要提供正确的用户名和密码,否则拒绝进入,因为管理员可以修改菜谱和用户等重要信息,由此可提高系统安全性。
(2)菜品管理功能
管理员登录成功后,主界面显示的是所有菜品,向下滑动加载更多信息解决分页问题,点击具体的item则进入菜品详情界面,在这里管理员可以修改该菜品的图片、名称、食材、备注,同时可以添加新的菜品,新菜品的图片可以从手机相册或者直接拍照获取。
(3)订单管理功能
管理员对订单的管理主要是改变订单状态和查询一段时间内的订单。订单状态有三种:已付款、已接受、已拒绝,管理员可以接受或者拒绝订单。查询订单主要是查询当天订单,根据订单号查询订单,查询所有订单。
3、WEB服务器
WEB服务器主要是接收请求,连接数据库进行增加、删除、修改、查询操作,然后作出响应。WEB服务器的所有请求在servlet包中处理,web.xml中保存了所有请求的servlet,在具体的servlet中调用对应的接口service,service再调用具体的接口dao,dao进行最基本的数据库操作。
4.3 主要界面设计1、用户客户端主界面设计
用户客户端主界面整体采用LinearLayout布局,即线性布局,垂直分布,它的第一个子布局是Gallery,Gallery是制作图片不断切换的banner,共有六张图片可以不断切换,第二个子布局还是LinearLayout,子LinearLayout下面包含了四个RelativeLayout,即绝对布局,四个绝对布局是一样的,里边还包括有I ** geView(图片),TextView(文本),具体界面如图4.4所示。
图4.4 用户客户端主界面
2、用户客户端登录界面设计
用户客户端登录界面采用大气、清新、简单的风格和RelativeLayout布局方式,整体背景为浅色,主要包含了两个EditText和两个Button,EditView背景样式设为白色与浅色背景形成反差,突出了输入框醒目的特点,两个Button按钮颜色样式一深一浅,当鼠标指针在其上方是背景颜色改变,具体界面如图4.5所示。
图4.5 用户客户端登录界面
3、用户客户端购物车界面设计
用户客户端购物车界面整体是一个ListView和一个RelativeLayout布局,RelativeLayout布局位于最底部,ListView是有多个相同布局的item组成,具体界面如图4.6所示。
图4.6 用户客户端购物车界面
4、管理员客户端菜品清单界面设计
管理员客户端菜品清单界面有一个ListView布局,具体界面如图4.7所示。
图4.7 管理员客户端菜品清单界面
5、管理员客户端菜品详情界面设计
管理员客户端菜品详情界面如图4.8所示。
图4.8 管理员客户端菜品详情界面
4.4 数据库设计数据库设计是通过合理的逻辑设计和有效的物理设计,构造较优的数据库模式、子模式,建立数据库和设计应用程序,满足用户的各种信息需求。
在设计数据库时,主要考虑以下事项:
1、数据库用途及该用途将如何影响设计,应创建符合用途的数据库计划。
2、数据库规范化规则,防止数据库设计中出现错误。
3、对数据完整性的保护。
4、数据库和用户权限的安全要求。
5、应用程序的性能需求,设计数据库时必须利用MySQL 5.0中能够提高性能的功能。对于性能而言,在数据库大小和硬件配置之间权衡也是很重要的。
4.4.1 数据实体E-R图设计根据以上各节对系统所做的需求分析和系统设计,规划出本系统中使用的数据库实体分别为user实体、菜品实体、订单实体。下面将介绍几个关键实体的E-R图。
1、user实体
user实体包括user编号,user电话,user邮箱,user密码等属性,如图4.9所示。
图4.9 user实体的E-R图
2、菜品实体
菜品实体包括菜品编号,菜品名称,菜品材料,菜品折扣,菜品备注等属性,如图4.10所示。
图4.10 菜品实体的E-R图
3、订单实体
订单实体包括订单编号,菜品编号,user编号,数量,备注,订单时间等属
性,如图4.11所示。
图4.11 订单实体的E-R图
4.4.2 数据表的设计本系统的数据库命名为:order_db,用来存储该系统中用到的所有数据。order_db数据库中共分3张表,如表4.1至4.3所示。
1、用户信息表。主要是用来保存用户信息,如表4.1所示。
表4.1 user(客户信息表)
字段名
数据类型
是否为空
主键/外键
描述
id
int
no
PK
客户编号
username
varchar(50)
no
用户名
password
varchar(50)
no
密码
e ** il
varchar(50)
no
邮箱
phone
varchar(50)
no
电话
headerImg
varchar(50)
no
头像
tag
int
no
标签
2、菜品信息表。主要是用来保存菜品信息,如表4.2所示。
表4.2 dish(菜品信息表)
字段名
数据类型
是否为空
主键/外键
描述
id
int(4)
no
PK
菜品编号
dishName
varchar(50)
no
菜品名称
** terial
varchar(50)
no
菜品材料
price
double
no
菜品价格
discount
double
yes
菜品折扣
re ** rk
varchar(50)
no
菜品备注
dishImg
varchar(50)
no
菜品图片
3、订单信息表。主要是用来存订单信息,如表4.3所示。
表4.3 orders(订单信息表)
字段名
数据类型
是否为空
主键/外键
描述
id
int
no
PK
订单编号
dishId
int
no
菜品id
userId
int
no
客户id
num
int
no
数量
re ** rk
varchar(50)
no
备注
state
int
no
状态
create_at
timestamp
no
创建时间
第5章 系统实现
5.1 WEB服务器主要功能实现5.1.1 建立数据库连接池数据库连接池是用来管理数据库的连接问题。打开数据库的连接需要很长时间,而且占用了很多内存,能够很大影响系统的运行速度,所以我们建立连接池,在服务器启动的时候自动建立连接池,打开一定数量的空闲连接,具体实现有两步:
1、在Tomcat的context.xml文件中添加如图5.1所示代码。
图5.1 Tomcat连接池配置代码
2、在项目的DBHelper类中添加如图5.2所示代码。
图5.2 DBHelper类部分代码
5.1.2 用户注册服务端实现用户在客户端发送注册请求,请求到达服务器中的RegisterServlet,RegisterServlet解析出请求中的电话和密码,再通过User实体类封装,然后调用UserService的register方法,register方法的方法体由UserDao的register方法实现,最后UserService返回具体注册成功后的User实体,RegisterServlet再将User实体转换成Json数据,最后将Json数据返回客户端。
5.1.3 web.xml配置文件web.xml配置文件主要是保存servlet以及调用具体的servlet,具体代码如图5.3所示。
图5.3 web.xml配置文件部分代码
5.2 客户端主要功能实现5.2.1 用户客户端购物车会话实现用户将菜品添加到购物时,出现购物车会话界面,需要填写菜品数量和备注,界面如图5.4所示。
图5.4 用户客户端添加菜品到购物车会话界面
购物车会话实现代码如图5.5所示。
图5.5 购物车会话实现代码
5.2.2 用户客户端修改头像实现用户在修改头像的时候,会出现选择相册还是直接拍照的会话框,选取照片或者拍照之后会裁剪照片,然后将照片保存,具体实现代码如图5.6所示。
图5.6 用户客户端修改头像部分代码
5.2.3 管理员客户端接收推送消息实现管理员客户端接收推送消息具体代码如5.7所示。
图5.7 管理员客户端接收推送消息具体代码
第6章 软件测试
系统测试是指利用人工或自动的方法执行和评价各个模块的过程。其目的在于验证模块是否满足规定的要求,查看期望的结果与获得的结果之间有无差别,以便最大限度地找出系统在实际运行中可能出现的错误和问题,及时的进行维护,修改,以期获得更好的用户体验,所以软件测试是非常重要的。
6.1 系统整体测试步骤软件测试的主要步骤有单元测试、集成测试和确认测试。
1、单元测试
单元测试也称模块测试。通常单元测试可放在编码阶段,程序员在编写好一个模块后,总会对自己编写的模块进行测试,检查它是否实现了详细设计说明书中规定的模块功能和算法。
2、集成测试
集成测试也称组装测试,它是对由各模块组装而成的程序进行测试,主要检查模块间的接口和通信。集成测试主要发现设计阶段产生的错误,通常采用黑盒测试。
3、确认测试
确认测试的任务是检查软件的功能、性能及其它特征与用户的需求一致,它是以需求规格说明书(即需求规约)作为依据的测试。确认测试通常采用黑盒测试。
6.2 用户登录模块测试本系统在测试过程中用到了黑盒测试法。黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
在用户登录模块中,主要用于验证用户是否为合法用户。在登录页面中,只有当输入正确的用户名、密码和相对应的用户类型后,单击“登录”按钮,才可进入主界面,否则单击“登录”按钮后,会清空输入内容,并重新跳转到登录页面,给出“用户名或密码错误!!!”的错误提示信息。
结 论
通过对Android手机平台的网上订餐系统软件的开发,从技术上来说,让我对Android系统的整体设计有一个深入的了解,对发现问题,提出问题,解决问题有了自己的一套简单的体系,也对整个软件设计流程也有了一个清晰的认识。开发Android网上订餐,让我明白了前期的需求分析以及对数据库的设计,就是因为这两部分做得不好,导致了软件的用户体验比预期的不如意。如果这两部分做得好,会让软件开发变得更轻松,思路会更清晰,用户体验也会更加舒适。从团队合作方面来讲,我学会了如何跟同学跟老师沟通来解决遇到的问题,让我在以后的工作能更快的融入团队,创造价值。
这次的毕业设计是对我大学四年学习成果的一次检验和提升,也是我第一次独立的进行应用软件的开发。四年来做过了很多的课程设计,每次做完都会有成就感,所以我在刚开始的阶段并不是很重视这次毕业设计,觉得可能只是课程设计的增强版,然而事实与我的想象截然不同,除了巩固了设计语言外,而且了解了很多程序设计的实现方法,对自己专业知识有了一定程度认同。特别是在期间遇到了很多不懂的知识,刚开始会很慌张,不知道如何下手,但是在查阅一些相关的资料,慢慢弄懂了这些东西的时候,心里就开始慢慢接受这种学习的方法,在后来遇到的问题中就不会再慌张,而是有条理的去理清问题,搞懂他们之间的逻辑关联,一步步解决问题。
Android网上订餐系统是我的第一个基于Android的大型应用软件,这个系统基本上把我之前学习的所有东西都融入了进去,让我对Android的整体架构,编程思想有了进一步的了解,对Android中控件运用的熟练度也有了提高,毕竟是第一个应用软件肯定在各个模块上做得都不是很完美,但是我会在接下来的工作中努力将各方面的能力提高,做出更优秀的软件。
现阶段此系统还处于初试用阶段,当然由于时间和个人设计方法的问题,软件在技术方面还存在着很多不足之处,希望在今后的学习过程中可以进一步的改进和调整。在这次设计中使我积累了许多实际经验,这让我在将来的工作中有信心做出更大的成绩。
参考文献
[1] 严蔚敏,吴伟民.数据结构(Java版)[M].北京:清华大学出版社,2011.
[2] 韩培友. My SQL实验指导[M]. 浙江:浙江工商大学出版社, 2012.
[3] 郭金尚. Android实战宝典[M].北京:清华大学出版社,2013.
[4] 汪永松. Android平台开发之旅[M].西安:机械工业出版社,2012.
[5] 李晓. 基于Android平台的手持终端应用功能开发与设计[D].武汉:湖北大学,2010.
[6] 靳岩. Google Android开发入门与实战[M].北京:人民邮电出版社,2009.
[7] 凡海飞.基于Android平台的无线点餐系统的设计与实现[D].武汉:华中科技大学,2011.
[8] 李刚.疯狂Android讲义[M].北京:电子工业出版社,2011.
[9] eoe.Android开发社区.http:// ** .eoeandroid.com/,2010.
[10] 陈卫伍.Android中Java虚拟机模型研究与优化[D].上海:同济大学,2011.
[11] 杨丰盛.Android应用开发揭秘[M].西安:机械工业出版社,2010.
[12] 陈昱勋 郑名杰.Google Android SDK开发范例大全(第一版)[M].北京:人民邮电出版社,2011.
[13] 吴亚峰,索伊娜.Android核心技术与实例详解[M].北京:电子工业出版社,2011.
[14] 高昂.支持动态语言的Android平台[M].北京:人民邮电出版社,2009.
[15] JavaEye论坛.http:// ** .javaeye.com/forums,2010.
[16] 林城.Android2.3应用开发实战[M].北京:电子工业出版社,2011.
[17] 王家林.大话企业级Android应用开发实践[M].北京:电子工业出版社,2011.
[18] 余志龙,王世江.Google Android SDK开发范例大全(2010年版)[M].北京:人民邮电出版社,2010.
[19] 任立红,丁永生.移动电子商务的框架与应用[J].计算机工程与应用,2001.
[20] 黄长著.程序员2013精华本[J].架构实践,2013.
致 谢
四年的大学生活即将划上一个句号,而对于我来说却只是一个逗号,我将面对又一次征程的开始。在论文即将付梓之际,我思绪万千,心情久久不能平静。我的指导教师***老师,从论文题目的选定到论文写作的指导,都由您悉心的点拨。在设计过程中,指导教师***为我提供了很多有益的设计思想和辅助材料,这对本课题的尽快完成起到了重要的作用。另外,***老师治学严谨,对工作认真负责,让我从中学习到了很多的东西,在此特别感谢!
在此毕业设计的设计过程中,学校和院里都给予了大力支持,为我们提供了制作设计的场所,让我们有一个良好的环境搞好毕业设计,在此郑重的向各位领导和老师表示感谢!
在本课题的设计过程中,***同学给我提供了很大的帮助,为本课题的设计提出了很多新的想法和设计技巧。
最后,向在百忙中抽出时间对本文进行评审并提出宝贵意见的各位读者观众表示衷心地感谢!
附 录
Android系统的四大组件。
在Android系统中,为我们提供了四大基本组件,每个组件是一个视图,但是有些是可见的,有些是不可见的视图,像Activity,ContentProvider是可见的视图,Service和BroadcastReceiver是不可见的,它们只在系统的后台运行。下面分别介绍四大组件[3]:
(1)Activity简介在Android系统中Activity提供可视化的用户界面,一个Android应用通常由多个Activity组成。多个Activity组成了Activity栈(Stack),当前活动的Activity处于栈顶。Activity有自己的生命周期,由Android系统来控制。
(2)Service简介顾名思义Service就是运行在后台的一种服务程序,一般很少和用户交互,因此没有可视化界面定义一个Service类比较简单,只要继承Service类,实现其生命周期中的方法就可以了。一个定义好的Service必须在AndroidManifest.xml配置文件注册,通过元素声明才能使用.Service有自己的生命周期,我们可以调用startService()启动一个Service或者bindService()方法来绑定一个存在的Service。
(3)BroadcastReceiver简介BroadcastReceiver顾名思义广播接收器,它和事件处理机制类似,只不过事件处理机制是程序组件级别的(例如,某个按钮的单击事件),而广播事件处理机制是系统级别的。到目前为止我们可以使用Intent来启动一个程序组件,我们还可以通过使用湖南科技大学本科生毕业设计(论文)-5-sendBroadcast()方法来发起一个系统级别的事件广播来传递消息。我们可以在你的应用程序中实现BroadcastReceiver来监听和响应这些广播的Intent。
(4)ContentProvider简介ContentProvider用来保存和检索数据,并且使应用程序之间相互访问数据成为可能。它是跨应用程序共享数据的唯一方法。Android为常用的数据类型(如:音视频、图片和联系方式等)提供了大量的ContentProvider。它们被定义在android.provider包下面。通过这样定义好的ContentProvider我们可以方便的进行数据操作。当然我们必须拥有适当的权限。我们也可以自己来定ContentProvider共享我们的数据,方便用户的访问。
扫码咨询与免费使用
申请免费使用