您的当前位置:首页正文

基于Android的网上订餐系统毕业设计论文

2020-02-21 来源:易榕旅网
毕业设计(论文)题作学专学

目者院业号

基于Android的网上订餐系统

指导教师

二〇一二年五月十六日

摘要随着科技的发展,二十一世纪成为了以网络化,信息化为核心的社会。网络商业化也成为了时下最热门的词汇。随着信息技术的不断更新,特别是07年谷歌公司推出了Android开放源码,让Android操作系统成为了移动平台的宠儿,本系统主要分析了中小型餐饮店管理与发展的现状所面临的问题,发现传统的服务模式已经不能适应市场发展的需求,方便、快捷、个性化的网上订餐服务正在进入人们的生活。针对这类问题,结合当代科技发展的新成果,本文构思规划了一套最贴切的服务模式,为中小型餐饮店外送服务提供了一套系统。

本设计是一个基于Android手机的网上订餐系统,采用C/S模式,能为客户提供网上选择浏览菜品介绍,点菜订餐服务,并为管理员提供一个服务平台实现用户信息与顾客订单的管理,从而提高了服务的质量,本文从系统需求、系统实际、代码实现几个方面介绍了整个软件的开发过程,这个系统采用JAVA、SQLServer数据库,并利用MyEclipse、TOMCAT、AndroidSDK、ADT、AVD、DDMS等开发环境或者开发工具。关键词:Android;Java;MyEclipse;SQLite;SQLServer2005

湖南科技大学本科生毕业设计(论文)ABSTRACTWiththedevelopmentofscienceandtechnology,the21stcenturyhasbecomeasocietycentredoninformationandnetwork.Hencecommercializationofnetworkhasbecomeoneofthehottesttopicsinrecentyears.Androidoperatingsystemisgraduallygoingtobethedarlingofthemobileplatform,whichresultsfromtheconstantlyupdatingofinformationtechnology,especiallytheappearanceofAndroidopensourcecarriedoutbyGooglecompanyin2007.Thesystemmentionedinthisarticlemainlyfocusontheproblemsfacedbythemiddleandsmallreataurantsintheirmanagementanddevelopment,andfindsthatthetraditionalservicemodecannotadapttotheneedsofthedevelopmentofthemarketanymore.Amoreconvenient,quicker,andpersonalizedserviceenterspeople’slife——onlinereservations.Inviewoftheexistingproblemsandcombiningthelatestachievementsofthedevelopmentofmoderntechnology,Ihaveconceivedasetofthemostappropriatepatternofdiliveryservicefortherestaurantindustry.

ThisdesignisaonlinereservationssystembasedontheAndroidmobilephones,whichadoptsC/Smode.Itcanprovideservicesforclientstochoosedishesintroductionfreely,andtoordermealactively.Besides,itcanalsoofferaserviceplatformformanagertoregulatetheuserinformationsandcustomerorders,soastoimprovethequalityoftheirservices.Inthisarticle,I’dliketointroducethewholedevelopmentprocessofthissoftwareindetailsfromthesystemrequirements,systemrealization,codeimplementationandsomeotheraspects.ThissystemusesJAVA,SQLServerdatabase,inaddition,MyEclipse、TOMCAT、AndroidSDK、ADT、AVD、DDMSandotherdevelopmentenvironmentsordevelopmenttoolsarealsousedinit.

Keywords:Android;Java;MyEclipse;SQLite;SQLServer2005

湖南科技大学本科生毕业设计(论文)目

第一章引

1.21.3

言................................................................................................1

1.1项目背景........................................................................................................................1

项目目的....................................................................................................................1主要内容....................................................................................................................2

第二章系统理论与技术....................................................................................3

2.1Android..........................................................................................................................3

2.1.1Android简介........................................................................................................32.1.2AndroidFeatures特性.........................................................................................32.1.3Android基本框架(AndroidArchitecture).....................................................42.1.4Android系统的四大组件....................................................................................42.2Java.................................................................................................................................52.3SQLServer2005和SQLite数据库.............................................................................52.4C/S模式.........................................................................................................................6

第三章系统分析与设计....................................................................................8

3.13.2

功能需求.....................................................................................................................8模块结构与流程.........................................................................................................93.2.1客户端.................................................................................................................93.2.2服务端...............................................................................................................103.3数据库设计.................................................................................................................11

3.3.1数据库表及其结构...........................................................................................113.3.2数据...................................................................................................................123.3.3客户端数据库的连接.......................................................................................133.3.4服务器数据库的连接.......................................................................................143.4系统结构.....................................................................................................................15

3.4.1部署图...............................................................................................................153.4.2类图...................................................................................................................153.5执行概念.....................................................................................................................16

第四章系统实现................................................................................................18

4.1Android环境搭建.......................................................................................................184.2客户端.........................................................................................................................19

4.2.1系统登录...........................................................................................................194.2.2系统注册...........................................................................................................214.2.3浏览菜品...........................................................................................................23

-i-湖南科技大学本科生毕业设计(论文)4.2.4搜索菜品...........................................................................................................254.2.5订餐...................................................................................................................264.2.6结账...................................................................................................................284.3服务端.........................................................................................................................29

4.3.1系统登录...........................................................................................................294.3.2订单管理...........................................................................................................304.3.3菜品管理...........................................................................................................324.3.4会员管理...........................................................................................................35

第五章结束语..................................................................................................37参考文献.........................................................................................................38致

谢...............................................................................................................39

-ii-湖南科技大学本科生毕业设计(论文)第一章1.1项目背景

引言伴随着我国市场经济的高度发展,企业越来越依赖于市场和客户,这种依赖关系已经开始逐步提升到关乎企业生存的高度。如何获得更多客流量,如何通过小的代价而使商家获得更大的知名度,这是使企业得以生存、发展、壮大的关键。年销售过亿的众多电子商务案例让人们看到了更多的商机。与应用场景相当有限的PC(个人电脑)相比,生而具备便携属性的手机给了电商们更大的想象空间。移动电子商务由此产生了。移动电子商务就是利用手机、PDA及掌上电脑等无线终端进行的B2B、B2C或C2C的电子商务。它将因特网、移动通信技术、短距离通信技术及其它信息处理技术完美的结合,使人们可以在任何时间、任何地点进行各种商贸活动,实现随时随地、线上线下的购物与交易、在线电子支付以及各种交易活动、商务活动、金融活动和相关的综合服务活动等。

而Android操作系统凭借着自己开放的平台允许任何移动终端厂商加入到Android联盟中,从而使得越来越多的用户倾向于选择操作系统为Android的手机品牌。选择设计基于Android平台的软件,毫无疑问能覆盖更多的群众,餐饮业在电子商务中还处于形成的初期,传统的餐饮业中,大都是以实际门面形式来进行宣传和交流。作为网络普及化的社会,这还缺少了一些更为现代化的元素。餐饮业是一个个性化、多样化的服务业,而电子商务则最能体现个性化、多样化服务的方式。而且现在大部分电子商务都体现为向大企业服务,结合餐饮这个行业的特点,最终还发展为同小区小店服务的模式。以最贴切的方式,最灵便的服务进入个个网络社区,进入人们的生活。

1.2项目目的

如今宅男宅女日益增加,很多餐饮店都提供外卖服务,传统的外卖服务需要客户给商家打电话并报出地址,商家那边也需要记录下客户的信息,才能将外卖准确的送达,但在这之间都是人在操作,难免会出现偏差和遗漏为客户或者商家带来损失。如今3G网络覆盖范围越来越广,Android手机也占领了手机行业的大头,那么我们可以考虑做一个Android的应用来方便商家和客户,让出错率达到最低。用户要点餐的时候只需手机上网点一下菜单就能吃到自己喜欢吃的菜品,这里面蕴含了很大的商机,完全能够有效的提高商家的营业额,基于以上因素,所以提出了这样一个基于Android的网上订餐系统。

本项目的目的是开发一个可以让用户在手机上操作的客户端,然后与服务器连接进行数据交互,来实现网上订餐的流程。客户端需要实现浏览菜品,点菜,下订单,搜索等功能。服务器端需实现添加、删除、修改菜品、对订单的处理,以及对会员的管理等功能。

-1-湖南科技大学本科生毕业设计(论文)本项目是一款基于Android手机平台的订餐系统,使拥有Android手机的用户生活更加方便快捷,使得手机显得更生动灵活化,与人们更为接近,让手机主人随时随地都能吃到自己喜欢的菜品。使人们的生活更加多样化。也使设计者更加熟练Android的技术和其他在市场上的特点。

1.3主要内容

通过对实际情况的调研,本系统大致可分为三个部分,即手机客户端、电脑服务器端和图形化界面工具。系统采用HTTP协议来进行数据传输。采用C/S结构,客户端为基于Android操作系统平台的智能手机,主要的业务逻辑则服务器端来实现,数据存储在数据库服务器。客户端主要实现位置服务,商品展示,会员注册及登录,购物车,商品搜索和个人信息等功能,服务器端主要是完成数据交互和数据逻辑处理,而图形界面化工具则是负责商品、订单等的增删改查。

为了一步步实现确定的功能,本论文主要内容安排如下:第一章:引言(介绍课题研究的背景和目的)

第二章:系统理论与技术(在本项目中设计到的技术简介)

第三章:系统分析与设计(需求分析,数据库的分析与设计以及系统结构的设计)第四章:系统实现(根据需求分析来实现系统的各个模块功能,使客户端与服务器,服务器与数据库能正常数据交互。这部分主要搭建开发环境,编写代码,测试,运行)

第五章:结束语(对本项目做一个项目总结)

-2-湖南科技大学本科生毕业设计(论文)第二章2.1Android

2.1.1Android简介

系统理论与技术Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。

Android是基于Linux内核的软件平台和操作系统,早期由Google开发(在华注册商标名为“安致”),后由开放手机联盟(OpenHandsetAlliance)开发。它采用了软件堆层(softwarestack,又名以软件叠层)的架构,主要分为三部分。低层以Linux内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为编写程序的一部分。另外,为了推广此技术,Google和其它几十个手机公司建立了开放手机联盟。Android在未公开之前常被传闻为Google电话或gPhone。大多传闻认为Google开发的是自己的手机电话产品,而不是一套软件平台。到了2010年1月,Google开始发表自家品牌手机电话的NexusOne,目前最新SDK版本为Android4.0.3。2.1.2AndroidFeatures特性

Android系统有如下的几大特性[1]:·应用程序框架支持组件的重用与替换·Dalvik虚拟机专门为移动设备做了优化

·内部集成浏览器该浏览器基于开源的WebKit引擎

·优化的图形库包括2D和3D图形库,3D图形库基于OpenGLES·SQLite用作结构化的数据存储

·多媒体支持包括常见的音频、视频和静态印象文件格式(如MPEG4,MP3,AAC,AMR,JPG,PNG)

·GSM电话(依赖于硬件)

·蓝牙Bluetooth,EDGE,3G,andWiFi(依赖于硬件)·照相机,GPS,指南针,和加速度计(依赖于硬件)

·丰富的开发环境包括设备模拟器,调试工具,内存及性能分析图表,和Eclipse集成开发环境插件

-3-湖南科技大学本科生毕业设计(论文)2.1.3Android基本框架(AndroidArchitecture)

图2.1AndroidArchitecture

2.1.4Android系统的四大组件

在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来启动一个程序组件,我们还可以通过使用

-4-湖南科技大学本科生毕业设计(论文)sendBroadcast()方法来发起一个系统级别的事件广播来传递消息。我们可以在你的应用程序中实现BroadcastReceiver来监听和响应这些广播的Intent

(4)ContentProvider简介

ContentProvider用来保存和检索数据,并且使应用程序之间相互访问数据成为可能。它是跨应用程序共享数据的唯一方法。

Android为常用的数据类型(如:音视频、图片和联系方式等)提供了大量的ContentProvider。它们被定义在android.provider包下面。通过这样定义好的ContentProvider我们可以方便的进行数据操作。当然我们必须拥有适当的权限。我们也可以自己来定ContentProvider共享我们的数据,方便用户的访问。

2.2Java

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE,JavaEE,JavaME)的总称。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentKit,JDK)。

虽然大多数用户很乐于将Eclipse当作Java集成开发环境(IDE)来使用,但Eclipse的目标却不仅限于此。Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

这种平等和一致性并不仅限于Java开发工具。尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言;例如,支持诸如C/C++和COBOL等编程语言的插件已经可用,或预计将会推出。Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。

基于Eclipse的应用程序的一个突出例子是IBMRationalSoftwareArchitect,它构成了IBMJava开发工具系列的基础[7]。

2.3SQLServer2005和SQLite数据库

SQLServer是一个关系数据库管理系统。它最初是由MicrosoftSybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本。在WindowsNT

-5-湖南科技大学本科生毕业设计(论文)推出后,Microsoft与Sybase在SQLServer的开发上就分道扬镳了,Microsoft将SQLServer移植到WindowsNT系统上,专注于开发推广SQLServer的WindowsNT版本。Sybase则较专注于SQLServer在UNIX操作系统上的应SQLServer安装界面用。

SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、C#、PHP、Java等,PostgreSQL这两款开源世界著名的数据库管理系统还有ODBC接口,同样比起Mysql、来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月.至今已经有10个年头,SQLite也迎来了一个版本SQLite3已经发布。

2.4C/S模式

在网络连接模式中,除对等网外,还有另一种形式的网络,即客户机/服务器网,Client/Server。在客户机/服务器网络中,服务器是网络的核心,而客户机是网络的基础,客户机依靠服务器获得所需要的网络资源,而服务器为客户机提供网络必须的资源。

这里客户和服务器都是指通信中所涉及的两个应用进程(软件)。使用计算机的人是计算机的“用户”(user)而不是“客户”(client)。但在许多国外文献中,也经常把运行客户程序的机器称为client(这种情况下也可把client译为“客户机”),把运行服务器程序的机器称为server。所以有时要根据上下文判断client与server是指软件还是硬件。

它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。

C/S架构软件的优势和劣势[9]:

应用服务器运行数据负荷较轻。最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,也称为应用服务器。一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户电脑,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果,应用服务器运行数据负荷较轻。

数据的储存管理功能较为透明。在数据库应用中,数据的储存管理功能,是由服务

-6-湖南科技大学本科生毕业设计(论文)器程序和客户应用程序分别独立进行的,前台应用可以违反的规则,并且通常把那些不同的(不管是已知还是未知的)运行数据,在服务器程序中不集中实现,例如访问者的权限,编号可以重复、必须有客户才能建立定单这样的规则。所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,前台程序不是非常“瘦小”,麻烦的事情都交给了服务器和网络。在C/S体系的下,数据库不能真正成为公共、专业化的仓库,它受到独立的专门管理。

C/S架构的劣势是高昂的维护成本且投资大。首先,采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,有这样一些问题,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。

(4)传统的C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代十分快,代价高和低效率已经不适应工作需要。在JAVA这样的跨平台语言出现之后,B/S架构更是猛烈冲击C/S,并对其形成威胁和挑战。

-7-湖南科技大学本科生毕业设计(论文)第三章3.1功能需求

系统分析与设计随着3G时代的到来,手机应用越来越普遍,加之国民手机持有量更是爆炸式增长。为了方便Android手机用户能随时随地点到自己喜欢的菜品,提出一种操作简便,功能齐全,占用资源少,能为用户节约流量的的网上订餐应用,于是提出本系统的主要功能。

需求界面如下:客户端:

1、登陆、注册界面2、显示菜品界面

3、搜索菜品界面(按菜品名称、种类、店铺名称进行搜索)4、购物车界面5、个人信息界面6、菜品详情界面服务器端:1、登陆界面

2、订单管理、菜品管理、会员管理界面需求实现功能如下:客户端:

1、实现客户端与服务器之间的连接2、实现登陆、注册功能

3、实现登陆后能浏览到服务器数据,并对数据进行一系列的操作4、能把菜品加入到购物车,并结算生成订单5、把生成的订单信息传回服务器端服务器端:1、实现管理员登陆

2、实现添加、删除、修改菜品信息3、实现对客户端传过来的订单进行处理4、实现添加、删除会员列表功能模块图如3.1所示:

-8-湖南科技大学本科生毕业设计(论文)图3.1系统功能模块图

3.2模块结构与流程

3.2.1客户端

表3.1客户端概要设计表

客户端模块登陆模块注册模块浏览菜品模块菜品详情模块搜索模块购物车模块个人信息模块简要说明在连接上服务器的前提下登陆成功在连接上服务器的前提下注册成功从服务器中读取数据,并把数据封装显示在菜品列表中点击菜品进入到菜品的详细介绍和订餐服务页面按照用户选择的条件从手机数据库中搜索菜品当用户定了菜品之后,所有订单信息都显示在这个模块中,并且点击结算按钮生成订单传送回服务器显示用户的个人信息-9-湖南科技大学本科生毕业设计(论文)图3.2客户端流程图

3.2.2服务端

表3.2服务器端概要设计表

服务器端模块登陆模块订单信息模块菜品添加删除修改模块会员管理模块简要说明提供管理员登陆显示现有的订单信息并给与处理按钮对要显示在客户端的菜品进行添加删除修改操作对会员进行添加和删除以及查看信息-10-湖南科技大学本科生毕业设计(论文)图3.3服务器流程图

3.3数据库设计

数据库结构组织和数据库文件设计要根据不同用途,使用要求等,来决定数据库的整体组织形式等一系列问题。

数据库,顾名思义,是存放数据的仓库,只不过这个仓库是在计算机存储设备上的,而且数据是按一定格式存放。数据库中的数据按一定模型组织描述和存储。具有较小的重复度,较高的数据独立性和易扩张性,并且可以被一定范围内的各种用户共享。在涉及数据库的软件开发中,需要根据有待解决的问题性质,规模,以及所采用的前端程序创建工具等。做出合适的数据库类型选择。

在该项目中建立了两个数据库,客户端和服务器各一个,用这种设计方式主要是为用户减少许多不必要的流量浪费,如果只创建一个服务器数据库的话,用户每次连接上服务器时都会将服务器的所有资源全部接受一遍,但是事实上该项目并不需要实时的更新数据,因为有些菜品的信息可能很久都不会有变动,所以考虑在客户端也创建一个数据库把服务器端发送过来的数据存储在本地数据库中,当服务器有更新时只需要传递改变的数据就可以实现更新。3.3.1数据库表及其结构

服务器数据库(SQLServer2005)

Admin表:管理员编号,用户名,密码,权限。

BaseProducts表:菜品编号,菜品名字,菜品种类,菜品价格,菜品图片。DetailOrders表:订单编号,详细编号,菜品编号,数量。

DetailProducts表:编号,菜品编号,菜品价格,菜品状态,折扣,菜品描述。Member表:会员编号,会员名字,会员密码,会员性别,会员电话,会员地址,

-11-湖南科技大学本科生毕业设计(论文)会员积分,会员金钱。

Orders表:订单编号,订单生成时间,会员编号,订单状态。客户端数据库(SQLite)

Shoppingrecord表:订单编号,详细编号,菜品编号,数量。

Showedgoods表:菜品编号,菜品名字,菜品种类,菜品价格,菜品图片。3.3.2数据

系统E-R(实体-联系)图用来描述数据关系模型,可以用来建立数据模型。本系统共有8个实体,其关系如图3.4所示。

图3.4全局E-R图

下面列举主要实体:

管理员实体(Admin)包括管理员编号、管理员姓名(登录姓名)、登录密码、管理员等级等属性,如图3.5所示。

-12-湖南科技大学本科生毕业设计(论文)图3.5管理员实体属性图

会员实体(Member)包括会员编号、会员姓名(登录帐号)、登录密码、管理员性别,联系电话,联系地址,会员积分等属性。如图3.6所示。

图3.6会员实体属性图

3.3.3客户端数据库的连接

Andorid数据库存储的位置在data/data/<项目文件夹>/databases/目录下,Android是利用ContentProvider作为内容提供商,SQLiteOpenHelper数据库帮助类来进行对数据库的创建和操作。程序中数据库类为MyopenHelperextendsSQLiteOpenHelper(继承关系),在此列出连接数据库的代码:

publicclassMyopenHelperextendsSQLiteOpenHelper{//生成表shoppingrecod,用以记录购买过的商品privatestaticfinalStringRECORD_TABLE=\"createtableshoppingrecord(oidintegerprimarykey,doidinteger,bidinteger,donuminteger)\";//生成表showedgoods,用以存储上次购买过的商品privatestaticfinalStringGOODS_TABLE=\"createtable-13-showedgoods(bidinteger湖南科技大学本科生毕业设计(论文)primarykey,bnamevarchar,bstylevarchar,bpricefloat,bpicturevarchar)\";//创建表publicvoidonCreate(SQLiteDatabasedb){db.execSQL(RECORD_TABLE);db.execSQL(GOODS_TABLE);}//更新表publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){db.execSQL(\"droptableifexistsshoppingrecord\");db.execSQL(\"droptableifexistsshowedgoods\");db.execSQL(RECORD_TABLE);db.execSQL(GOODS_TABLE);}3.3.4服务器数据库的连接

服务器端采用SQLServer2005来创建数据库,首先得导入sql2000_2005jdbc.jar库文件,然后在数据库的配置工具中开启SQLServer服务,接下来就要在java代码中实现连接数据库的功能了,代码如下:

publicstaticConnectiongetCon(){Connectioncon=null;if(!isInitialized){returncon;}try{Class.forName(prop.getProperty(\"className\"));//连接数据库语句,urluserpwd都在配置文件sql.ini中con=DriverManager.getConnection(prop.getProperty(\"url\"),prop.getProperty(\"user\"),prop.getProperty(\"pwd\"));}catch(Exceptione){e.printStackTrace();}returncon;}Sql.ini配置文件内容:className=com.microsoft.sqlserver.jdbc.SQLServerDriverurl=jdbc:sqlserver://localhost:1433;databaseName=Dinneruser=sapwd=123-14-湖南科技大学本科生毕业设计(论文)3.4系统结构

本系统采用HTTP协议来进行数据传输。采用C/S结构,客户端为基于Android操作系统平台的智能手机,主要的业务逻辑则服务器端来实现,数据存储在数据库服务器。3.4.1部署图

系统部署如图3.7所示,客户端采用基于Android操作系统平台的智能手机,服务器端包括服务器、图形界面化工具和数据库服务器,主要处理业务逻辑和对数据的增删改查。

图3.7系统部署图

3.4.2类图

根据已建立的用例图确定要建立的对象类并确定属性和操作。通过检查类的定义,分析问题的需求和运用该领域知识来确定类的属性。根据系统功能需求和系统设计需要确定类的操作,本系统有6个实体类,分别为管理员实体类(Admin)、会员实体类(Member)、订单实体类(Orders)、订单详情实体类(DetailOrders)、商品实体类(Products)、商品详情实体类(DetailProducts),如图3.8所示。

-15-湖南科技大学本科生毕业设计(论文)图3.8实体类

3.5执行概念

本系统时序图如图3.9所示。

图3.9系统时序图

-16-湖南科技大学本科生毕业设计(论文)1、客户端发送请求给服务器,服务器的后台Servlet负责处理数据。2、服务器业务逻辑处理会调用DAO,进行数据处理。3、调用实体类,把数据保存到数据库DB中。4、DAO返回结果给Servlet。5、Servlet把结果返回给客户端。

-17-湖南科技大学本科生毕业设计(论文)第四章系统实现4.1Android环境搭建

任何事物要运行,都要有它的环境,Android也有它的环境才能够运行,下面介绍Android的开发环境配置.

搭建开发环境需要的软件:1、操作系统:Windows7或Linux

2、软件包:AndroidSDK(SoftwareDevelopmentkitJavaDevelopmentkit)、ADT(AndroidDeveloopmentTool)

3、IDE环境:EclipseIDE+ADTEclipse3.3以上

4、JDK:JavaRuntimeEnvironment虚拟机、(JDK)JavaDevelopmentkit安装步骤如下:

第一步:安装Java虚拟机sun-java6-jdk版本

第二步:安装Eclipse3.5工具官网http://www.eclipse.org/downloads/选择版本(图4.1):进行安装

图4.1eclipse下载

第三步:安装AndroidSDK:首先要下载SDK,可以在这个网址下载Http://developer.android.com/sdk,如图4.2,选择相应的系统进行安装

图4.2

第四步:安装AndroidADT插件

SDK下载

运行Eclipse,选择help->installnewsoftware选择add,将会弹出一个框,如图4.3

-18-湖南科技大学本科生毕业设计(论文)所示

图4.3ADT的安装

点击OK,选择要安装的软件,占next,然后选择接受协议,直到安装成功,重启Eclipse软件,设置AndroidSDKHome,Window->refrence

图4.4设置SDK路径

在SDKlocation中输入SDKTools路径:D:\\android\\android-sdk点击OK这样Android环境就已经搭建成功了。

4.2客户端

4.2.1系统登录

登陆模块界面如图4.5所示,显示了一个登陆窗口,在其中加入许多控件,如文本输

-19-湖南科技大学本科生毕业设计(论文)入框(EditText),文本显示框(TextView),单选按钮(RaidoButton),复选按钮(CheckBox)等,然后用一系列的布局将其有条理的放在这个窗口中。

图4.5登陆窗口

当用户点击游客登陆时,将不会跟服务器的数据库进行匹配,直接进入主界面,代码如下:if(flag){//当用户选择游客登陆时点击登陆按钮直接进入主界面Intentintent=newIntent(LoginActivity.this,ProductListActivity.class);startActivity(intent);Intentintent1=newIntent(LoginActivity.this,UpdateService.class);startService(intent1);}当用户点击会员登陆时,会把用户输入的数据跟服务器端数据库中的数据进行匹配,如果相同则登陆成功,否则弹出登陆失败的信息。如果用户点击了记住密码选项,则把用户输入的用户名和密码都保存到SharedPreferences中。代码如下:Stringname=etUsername.getText().toString().trim();Stringpassword=etPassword.getText().toString().trim();//包装用户发送的用户数据Membermember=newMember(name,password);protocolHelper.setObject(member);-20-湖南科技大学本科生毕业设计(论文)protocolHelper.setRequest(ProtocolHelper.REGISTER,ProtocolHelper.QUERY,member);result=protocolHelper.sendRequestVO();//向服务端发送数据if(result.size()>0){response=result.get(0);}//根据服务端的相应信息进行相应判断if(response!=null){//将用户名存在sharedPreferencesEditornamedata=sharedPreferences.edit();namedata.putString(\"name\etUsername.getText().toString().trim());namedata.commit();//将密码存在sharedPreferencesEditorpassworddata=sharedPreferences.edit();passworddata.putString(\"password\etPassword.getText().toString().trim());passworddata.commit();//登录成功,进入主界面else//登录失败,弹出错误信息当用户点击注册按钮时,通过Android的Intent机制,就从登陆界面跳转到注册界面,接下来实现系统注册的功能。4.2.2系统注册

注册界面如图4.6,跟登陆界面一下,它也有一个属于它的布局文件来摆放这些控件,在此模块中必须要输入正确这些注册信息,才能正常的进行注册。

-21-湖南科技大学本科生毕业设计(论文)图4.6注册界面

当用户点击取消按钮时,界面会跳转回到登陆界面,当用户点击注册按钮时会跟服务器端的数据库进行连接,把用户所填的信息拼接发给服务器,服务器处理过后将数据插入到数据库中对应的表中。客户端实现注册代码如下:bRegister.setOnClickListener(newOnClickListener(){publicvoidonClick(Viewv){//获取用户输入数据if(name.equals(\"\")||password.equals(\"\")||repassword.equals(\"\")){//如果用户输入用户名或密码为空,则给出提示,用户名和密码不能为空}else{//如果不为空则先放入HashMap中,再做密码输入是否一致的判断//判断输入的密码是否一致if(infoHashMap.get(\"password\").equals(infoHashMap.get(\"repassword\"))){//拼凑数据data=\"name\"+infoHashMap.get(\"username\")+\";\"+\"password\"+infoHashMap.get(\"password\")+\";\"+\"sex\"+infoHashMap.get(\"sex\")+\";\"+\"num\"+infoHashMap.get(\"number\")+\";\"+\"address\"+infoHashMap.get(\"address\");Membermember=newMember(name,password,infoHashMap.get(\"sex\"),number,address);protocolHelper.setObject(member);-22-湖南科技大学本科生毕业设计(论文)//准备请求数据protocolHelper.setRequest(ProtocolHelper.REGISTER,ProtocolHelper.INSERT,data);//向服务端发送请求response=protocolHelper.sendRequest();//判断响应信息,根据信息触发不同的事件if(response.equals(\"success\")){//跳转到主界面}else//以对话框的形式给出错误信息}else//以对话框的形式给出错误信息:密码必须一致4.2.3浏览菜品

用户登陆成功或者选择游客登陆成功后,会直接进入到主界面,如图4.7,主界面的布局采用的是TabHost分页式布局,每一个Tab都对应一个Activity,通过addTab这个方法来添加Tab,这个控件让Android手机多个Activity共享一个界面,而且操作方便,简单,布局好看。

图4.7主界面

当用户选择菜单选项时,在其下面将列出从服务器端发送过来菜品简要信息数据,客户端想要看到这些数据必须对它进行一系列的处理,在此,本模块采用了ListView来显示菜品信息,ListView是以列表的形式来展示具体内容,并且能够根据数据的长度自适应的显示,要想ListView显示数据必须要为其添加适配器(Adapter),适配器分为很多种,有ArrayAdapter、SimpleAdapter、BaseAdapter等等,由于在该ListView中显示的

-23-湖南科技大学本科生毕业设计(论文)数据比较多,而且还有图片信息等,所以在此采用BaseAdapter来构建适配器。

构建BaseAdapter核心代码://菜单模块的自定义适配器。classProductAdapterextendsBaseAdapter{publicViewgetView(intposition,ViewconvertView,ViewGroupparent){ViewHolderviewHolder=null;//如果convertView为空则为其创建一个Viewif(convertView==null){LayoutInflaterinflater=LayoutInflater.from(ctx);viewHolder=newViewHolder();convertView=inflater.inflate(R.layout.listitem,null);//获得listitem布局中的控件并添加到View上convertView.setTag(viewHolder);}//如果convertView不为空那么直接为其灌入数据else{viewHolder=(ViewHolder)convertView.getTag();}}//获得所有的数据并灌入convertView中returnconvertView;}向服务器获得菜品信息的数据代码:publicvoidproRequest(){helper.setRequest(ProtocolHelper.GOODSLIST,ProtocolHelper.QUERY,\"\");BaseProductsbp=newBaseProducts();bp.setBid(1);helper.setObject(bp);Listresult=helper.sendRequestVO();if(result==null){}}-24-湖南科技大学本科生毕业设计(论文)4.2.4搜索菜品

图4.8搜索界面

如果菜品数量过多,用户将会很难找到自己心仪的菜品,在此,本项目为了方便用户选择特定的菜品,设计了一个搜索菜品的功能,通过搜索界面,用户可以通过商品名称、商家名称、商品价格三个搜索条件来搜索对自己胃口的菜品,如图4.8,该功能暂时仅支持单条件搜索,在此列出按商品名称搜索的核心代码,另外两种搜索代码跟此差不多。

//通过商品名称模糊查询。publicvoidgetProductByName(Stringname){ListproductListByname=newArrayList();Cursorcursor=dbutil.querygoodsByName(name);intcount=cursor.getCount();cursor.moveToFirst();if(count>0){//对菜品数据遍历查找for(inti=0;i订餐功能是本项目的核心功能,前面做的那些仅仅是为订餐功能做铺垫。当用户点击每一行菜品时,不论这菜品时在菜品列表中还是在搜索列表中都会跳转到菜品详细信息界面,在跳转的同时,Intent里面会PutExtra菜品的数据,在详细信息界面中再将Intent里面的数据取出并显示。界面如图4.9,在该界面中显示了菜品的图片、价格、评分、是否有折扣、菜品详细介绍等菜品信息,还有两个按钮和输入订餐份数的文本输入框,该输入框只允许输入数字。如果用户选好了菜品,并且准备将菜品加入购物车时,用户首先得输入一个菜品份数,并点击加入购物车按钮,这时系统将进行一系列的逻辑处理,如果购物车中没有物品则直接加入,如果购物车中已经有物品了,则将用户刚加入购物车的菜品数据跟购物车中原有的数据进行匹配,如果已经有了,那么将提示用户,该物品购物车里已有,反之则加入购物车。

图4.9菜品详情

在此列出跳转界面时对数据处理的代码:

-26-湖南科技大学本科生毕业设计(论文)菜品行点击事件,把数据putExtra到Intent中

publicvoidonItemClick(AdapterViewparent,Viewview,intid,longposition){if(position!=-1){ViewHolderholder=(ViewHolder)view.getTag();TextViewtvid=(TextView)view.findViewById(R.id.tvid);TextViewtvname=(TextView)view.findViewById(R.id.tvname);TextViewtvprice=(TextView)view.findViewById(R.id.tvprice);Intentintent=newIntent(ProductListActivity.this,DetailsActivity.class);intent.putExtra(\"pic\(Bitmap)holder.ivpicture.getTag());intent.putExtra(\"bidvid.getText().toString());intent.putExtra(\"bnamevname.getText().toString());intent.putExtra(\"bpricevprice.getText().toString());startActivity(intent);在详细信息界面中取出Intent里面的数据代码:Intentintent=getIntent();Bitmappic=(Bitmap)intent.getParcelableExtra(\"pic\");ivdish=(ImageView)findViewById(R.id.ivdish);ivdish.setImageBitmap(pic);//获得商品idtvbid=intent.getStringExtra(\"bid\");//获得菜名bname=intent.getStringExtra(\"bname\");price=intent.getStringExtra(\"bprice\");将菜品添加到购物车中代码:badd.setOnClickListener(newOnClickListener(){publicvoidonClick(Viewv){intcount=ProductListActivity.cartdata.size();if(count>0)//表示购物车中有数据{for(inti=0;i当然,订餐完成之后就得去购物车模块进行结账操作。

首先用户可以选中购物车中的物品,点击menu按钮对物品进行修改数量和删除操作。要实现Androidmenu功能必须重载onCreateOptionsMenu、onPrepareOptionsMenu以及onOptionsItemSelected三个方法,第一个方法是用来创建menu按钮显示的菜单项,第二个方法是限制菜单项只在购物车列表中显示,第三个方法则是实现菜单项功能的。在本模块中,为menu添加了两个菜单项,一个是修改数量,一个是删除,可以对购物车中物品的数量进行修改和删除操作,没选中物品则会提示错误。

其次为每一条ListView添加了一个长点击事件,及setOnLongClickListener接口,在此接口中必须实现onClick方法,当用户点击物品不放时会直接将该选中物品删除。

最后点击结算按钮系统将会把订单中的数据进行封装,并使用protocolHelper中的sendRequest方法向服务器发送请求,并接受服务器端返回的消息,如果消息不为空则说明订单生成成功,提示用户订单生成,该方法代码如下:

//使用ProtocolHelper的setRequest方法对请求类型,操作及传送来的数据data进行封装helper.setObject(order);helper.setRequest(helper.ORDER,helper.INSERT,\"\");//使用ProtocolHelper的sendRequest方法对服务器发送请求并返回服务器发回得消息Stringresult=helper.sendRequest();//如果服务器返回消息不为null,则说明订单以生产成功,弹出提示if(result!=null&&!result.equals(\"fail\")){Toast.makeText(ProductListActivity.this,\"订单已生成,谢谢惠顾!!!\Toast.LENGTH_LONG).show();Listlist=newArrayList();setList(list);//创建适配器对象cartadapter=newSimpleAdapter(ProductListActivity.this,cartdata,-28-湖南科技大学本科生毕业设计(论文)R.layout.cartlist,newString[]{\"bid\\"bname\\"bprice\\"bnum\"},newint[]{R.id.markid,R.id.shopname,R.id.price,R.id.number});//设置listview的适配器cartlistView.setAdapter(cartadapter);客户端的基本功能介绍到此结束了,接下来介绍服务器端的功能实现。4.3服务端

服务端分为管理员登陆、订单管理、菜品管理、会员管理四个模块,主要是为商家对客户端发送过来的数据进行处理,以及对客户端的数据进行更新操作。服务端代码是用JavaSE来实现,下面对每一个模块进行详细分析。4.3.1系统登录

当管理员运行程序后,必须得进行登录认证,在服务器端数据库的用户表中有一个用户权限的字段,如果值为0则表示为管理员账号,如果值为1则表示用户账号,在此模块中仅仅为管理员提供登录功能,并不支持管理员注册功能,所以管理员是唯一的,这也是系统数据安全性的一种表现。登录界面如图4.10所示,管理员点击登陆时如果用户名和密码输入错误则会弹出错误信息,输入正确则进入管理界面。

图4.10管理员登陆界面

在该模块中核心代码在于获取用户输入的信息并跟数据库中管理员的信息进行匹配,代码如下:

publicvoidactionPerformed(ActionEvente){if(e.getActionCommand().equals(\"login\")){if(jt_password.getText().toString().equals(\"\")|jt_username.getText().toString().equals(\"\")){JOptionPane.showMessageDialog(null,\"用户名或密码不能为空\");}else{AdminDAOadmin=newAdminDAO(\"config\");-29-湖南科技大学本科生毕业设计(论文)Stringlogo=admin.loginAdmins(jt_username.getText().toString(),jt_password.getText().toString());if(logo.equals(\"success\")){login.dispose();MainJframe.getInstance();}else{JOptionPane.showMessageDialog(null,\"用户名或密码错误\");}}}elseif(e.getActionCommand().equals(\"exist\")){System.exit(0);}}4.3.2订单管理

当管理员登陆成功后,那么就进入了管理界面,在该界面中采用了JavaSE的卡片布局方式,这个布局方式跟客户端主界面的布局方式差不多,也是多个面板共用一个框架。在管理界面中,将管理员操作数据的方式分为了订单管理、菜品管理、会员管理三个模块,首先介绍一下订单管理模块的设计与实现。

在订单管理模块中,从上到下分为三个部分,最上面是查看订单按钮,中间是订单的一些基本信息表结构,有订单编号、订单生成时间、请求人姓名、请求人联系方式、订单状态,这里主要是使用DefaultTableModle来实现这样一个表结构,最下面是一个查询订单详细信息的按钮,如图4.11。

当管理员点击查看订单时,系统将会从数据库中将订单表的信息取出并放入到DefaultTableModle里面一遍管理员对订单进行查看。当管理员选中一行订单信息,再点击查看订单详细信息按钮时,将会弹出一个订单详情对话框,如图4.12所示,在该对话框中显示了订单中的信息,以及一个订单完成的按钮,如果交易完成,在这里的交易完成的定义是商家把菜品做好,送到用户的地址并且用户付清所有费用,则管理员点击该按钮,将会弹出订单完成消息框,并且将此订单从订单管理界面中移除。

-30-湖南科技大学本科生毕业设计(论文)图4.11订单管理界面

图4.12订单详细对话框

在此功能中的难点在于,当订单完成之后将其从订单列表中移除,在此该模块是这样设计的,在数据库中为每一个订单加一个标识位初始化为0,查询订单时把标识位为0的订单都添加到列表中,当点击订单完成时将标识位改为1,然后再查询一次订单表那么就能将订单移除。核心代码如下:

-31-湖南科技大学本科生毕业设计(论文)publicvoidcomplete(finalintid){btn_complete=newButton(\"订单已完成\");btn_complete.setBounds(300,20,100,30);this.add(btn_complete);btn_complete.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){if(OrdersDAO.updateState(id,1)){JOptionPane.showMessageDialog(null,\"订单已完成\");listJPanellist=listJPanel.getInstance();list.insertIntoTable(vec);}}});}4.3.3菜品管理

菜品管理界面需要实现的功能是能使管理员对菜品进行增加、删除、修改等操作,在该模块中布局方式跟订单管理界面基本一样,如图4.13所示。

图4.13菜品管理界面

添加新菜功能实现:当管理员点击添加新菜按钮时会弹出一个输入菜品信息的界面,如图4.14所示,在此界面中可以输入菜品的名称、价格、菜系、折扣、上传图片、详细描述等。点击新增按钮时会进行一系列的判断,比如名称不能为空,价格不能为空等等限制。管理员将信息输入完成后就会将这些信息添加到数据库中的菜品信息表中,然后再菜品列表中读取出来,该功能的难点在于图片的上传功能,图片存入数据库中的

-32-湖南科技大学本科生毕业设计(论文)是图片的绝对路径,如果在该路径中找不到图片资源那么将会不能显示图片,该功能核心代码如下:

上传图片按钮功能代码:

btn_uploadIma.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){//初始化jfc_upload控件,并设置其只能上传图片jfc_upload=newJFileChooser();jfc_upload.setAcceptAllFileFilterUsed(false);//设置该控件过滤器,图片格式为(.png)jfc_upload.setFileFilter(newFileFilter(){publicStringgetDescription(){return\"图片格式(.png)\";}publicbooleanaccept(Filef){if//图片名称以.jpg结尾}elsereturntrue;returnfalse;//设置该控件过滤器,图片格式为(.jpg)jfc_upload.setFileFilter(newFileFilter(){publicStringgetDescription(){return\"图片格式(.jpg)\";}publicbooleanaccept(Filef){if//图片名称以.jpg结尾else增加按钮功能实现代码:btn_add.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){insertOneProducts();//向数据库中插入一条菜品数据方法Vector>v=productsMoreOperationJpanel.findall();productsMoreOperationJpanel.insertData(v);returnfalse;returntrue;-33-湖南科技大学本科生毕业设计(论文)图4.14新增菜品界面

修改菜品信息功能:管理员选中一行菜品后,点击更改选定菜品按钮就会跳转到更改菜品信息界面,如图4.15,在这个界面中将菜品的信息全都显示在了相应的文本输入框里面以便管理员对照修改,用户点击更新后会调用updataOneProducts方法将数据库里面的菜品信息也更新。

4.15更改商品信息界面

删除菜品功能:管理员选中一行菜品,点击删除按钮,就可以将该选中菜品从列表中删除。

-34-湖南科技大学本科生毕业设计(论文)4.3.4会员管理

在该模块中,主要实现功能为查看会员列表,新增会员,删除会员三个功能,在这几个功能中的核心主要是管理员对服务器端数据库的操作,具体界面如图4.16,该模块的布局跟前两个模块也差不多,在此主要对功能进行分析与设计,当管理员点击新增会员时,会弹出一个新增会员的界面,如图4.17,在该界面中管理员需输入增加会员的必要信息,点击新增按钮及在代码中调用插入数据的方法实现新增会员。当管理员需要删除会员时,则选中要删除的会员,点击删除按钮,代码中调用删除数据的方法来实现删除会员的功能。

图4.16会员管理界面

-35-湖南科技大学本科生毕业设计(论文)图4.17增加会员界面

Android网上订餐系统的客户端与服务器的所有功能和界面实现到此结束。

-36-湖南科技大学本科生毕业设计(论文)第五章结束语通过对Android手机平台的网上订餐系统软件的开发,从技术上来说,让我对Android系统的整体设计有一个深入的了解,对发现问题,提出问题,解决问题有了自己的一套简单的体系,也对整个软件设计流程也有了一个清晰的认识。开发Android网上订餐,让我明白了前期的需求分析以及对数据库的设计,就是因为这两部分做得不好,导致了软件的用户体验比预期的不如意。如果这两部分做得好,会让软件开发变得更轻松,思路会更清晰,用户体验也会更加舒适。从团队合作方面来讲,我学会了如何跟同学跟老师沟通来解决遇到的问题,让我在以后的工作能更快的融入团队,创造价值。

这次的毕业设计是对我大学四年学习成果的一次检验和提升,也是我第一次独立的进行应用软件的开发。四年来做过了很多的课程设计,每次做完都会有成就感,所以我在刚开始的阶段并不是很重视这次毕业设计,觉得可能只是课程设计的增强版,然而事实与我的想象截然不同,除了巩固了设计语言外,而且了解了很多程序设计的实现方法,对自己专业知识有了一定程度认同。特别是在期间遇到了很多不懂的知识,刚开始会很慌张,不知道如何下手,但是在查阅一些相关的资料,慢慢弄懂了这些东西的时候,心里就开始慢慢接受这种学习的方法,在后来遇到的问题中就不会再慌张,而是有条理的去理清问题,搞懂他们之间的逻辑关联,一步步解决问题。

Android网上订餐系统是我的第一个基于Android的大型应用软件,这个系统基本上把我之前学习的所有东西都融入了进去,让我对Android的整体架构,编程思想有了进一步的了解,对Android中控件运用的熟练度也有了提高,毕竟是第一个应用软件肯定在各个模块上做得都不是很完美,但是我会在接下来的工作中努力将各方面的能力提高,做出更优秀的软件。

-37-湖南科技大学本科生毕业设计(论文)参考文献

[1]张孝祥著.java就业培训教程[M].北京:清华大学出版社,2007.[2]余志龙编著.GoogleAndroidSDK开发范例大全[M].北京:人民邮电出版社,2009-7-1.[3]E2ECloud工作室著.深入浅出GoogleAndroid[M].北京:人民邮电出版社,2009-08-1.[4]靳岩姚尚朗著.GoogleAndroid开发入门与实战[M].北京:清华大学出版社,2009-07-01.[5]高昂著.支持动态语言的Android平台[M].北京:人民邮电出版社,2009-05-07.[6]eoe.Android开发社区.http://www.eoeandroid.com/.2010-04-10.[7]JavaEye论坛.http://www.javaeye.com/forums.2010-04-15.[8]AndroidAPI文档.http://androidappdocs.appspot.com/index.html.2010-04-10.[9]高焕堂编.Android应用框架原理与程式设计(第三版)[M].北京:清华大学出版社,2008-10-03[10]杨丰盛主编.Android应用开发揭秘[M].西安:机械工业出版社,2010-01-25-38-湖南科技大学本科生毕业设计(论文)致谢经过反复的添加修改,这篇毕业论文最终成稿,第一篇毕业论文让我体味到了非常复杂的心情,选题、收集资料、程序的编写、无数的原理尝试,我喜悦过,痛苦过,彷徨过,无助过。但是现在复杂的心情烟消云散,自己甚至还有一点成就感。

首先,我想感谢我的母校,湖南科技大学。在这里我度过了四年的大学时光,在这四年里我得到了很多的成长,也收获了很多。

我要感谢我的导师陈林书老师。他为人热情,治学严谨细心。正是他的无私帮助,在我苦恼的时候给我鼓励,在我迷茫的时候为我指明道路。整个论文的定稿过程中无处不有这老师的心血。

我还要感谢我的班主任胡勇华老师以及在大学四年中给我们授课的所有老师们,是他们让我学到了很多很多知识,让我看到了世界的精彩,让我学会了做人做事。最后感谢四年里陪伴我的同学、朋友们,有了他们我的人生才丰富,有了他们我在奋斗的路上才不孤独,谢谢他们。

-39-

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 版权所有