同学录管理系统设计与实现

上传人:ca****in 文档编号:112252151 上传时间:2022-06-22 格式:DOC 页数:64 大小:881.54KB
收藏 版权申诉 举报 下载
同学录管理系统设计与实现_第1页
第1页 / 共64页
同学录管理系统设计与实现_第2页
第2页 / 共64页
同学录管理系统设计与实现_第3页
第3页 / 共64页
资源描述:

《同学录管理系统设计与实现》由会员分享,可在线阅读,更多相关《同学录管理系统设计与实现(64页珍藏版)》请在装配图网上搜索。

1、 毕 业 设 计(论 文)题 目 同学录管理系统设计与实现姓 名 范方舟 学 号 0810311107 所在学院 计算机学院 专业班级 08计算1班 指导教师 吕瑾文 日 期 2012 年 6 月 7 日 毕业设计(论文)任务书学 院计算机学院指导教师吕瑾文职 称讲师学生姓名范方舟专业班级08计算1班学 号0810311107设计题目同学录管理系统设计与实现设计内容目标和要求(设计内容目标和要求、设计进度等)设计进度:2011.3.21-2011.3.27 完成毕业设计的开题报告2011.3.28-2011.4.3 完成准备和需求分析2011.4.4-2011.4.11 完成总体设计和详细设计

2、2011.4.12-2011.4.20 完成整体编码2011.4.21-2011.4.26 完成系统测试2011.4.26-2011.5.1 完成论文设计2011.5.1-2011.6.6 完成毕业论文修改和打印2011.6.7 参加毕业答辩设计目标和要求: 1、完成坦克大战游戏设计。 2、进行系统需求分析。 3、根据需求分析完成系统的概要设计和详细设计。 4、进行编码和测试。 5、最终完成功能的实现。 6、能在JAVA模拟器上和实际手机上运行。实现功能: 1、能够发射子弹打击敌人。 2、敌人能够移动。 3、敌人随机出现。 4、上方显示血条。 5、血条降低为零,游戏结束。指导教师签名:年 月

3、日基层教学单位审核学 院审 核此表由指导教师填写学院审核61毕业设计(论文)学生开题报告课题名称同学录管理系统设计与实现课题来源学 生 自 主 选 题课题类型DX指导教师吕 瑾 文学生姓名范方舟学 号0810311107专业班级08计算1班国内外电子网络游戏的现状游戏本身就是一种娱乐方式。自有人类文明的时候,就有了游戏,可以说游戏就是人们生活娱乐的一部分。在今天,借助于数字、电子、网络、创意、编剧、美工、音乐等等“先进”的道具,网络游戏对于人们现实生活的虚拟达到了一个全新的境界,并且则在这新的境界上还原了游戏的本源-人与人的互动。网络游戏满足了现代社会必须的沟通需求,无疑它应该是适合所有人的。

4、国内网络游戏市场,已经坐拥了1000万用户且仍不断增长的游戏玩家市场,百余款游戏也着实热闹,但也体现出国内玩家的相对固定和游戏种类的相对单一,虽说运营商的推广手法也各具特点,可本质上的大同小异使得竞争空前惨烈,而由此诱发的种种问题更是招致了社会与媒体的不满,阻碍了游戏产业的发展。网络游戏市场的重新定位是最迫切需要解决的问题。大型游戏机除了在大众休闲娱乐方面,还在军事、国防、医疗等方面有良好的发展前景。广州大型游戏机所采用的尖端计算机图形图像技术、多样化的软件程序设计、成熟的机械和电子技术,被充分运用在军事、国防及医疗等方面。例如,在军事模拟对抗演习中,大型游戏机既可以模拟作战现场的地形、军力部

5、署、天气等情况,还可以进行多兵种战术技能对抗训练;在国防训练方面,大型游戏机可以模拟坦克操纵、导弹发射、飞机驾驶、舰艇巡航等多种训练任务;在医疗培训方面,大型游戏机拥有的全息三维立体投影技术,可以逼真地展示人体的各部分构造和器官,以上这些方面的应用,都显示出大型游戏机在降低行业技能培训成本的优势。本系统的现实意义游戏本身是一种娱乐方式,能带给人们无尽的乐趣,而且游戏行业的发展还将会带动众多周边产业,如五金、塑料、机械、电子、 显像管,高端机型甚至使用了40英寸以上的大屏幕背投、液晶显示器等,这些显像设备不但要依赖国内众多显像管生产企业提供支持,更要针对游戏的内容进行深入开发和优化,以适应游戏内

6、容的飞速发展和变化,大大突破了传统家电类显像设备的限制,对国内显像管制造企业的发展、创新具有极大的推动作用,大型游戏机的外部框体制造涉及工业设计、模具加工、五金加工、塑料成形、特殊印刷等工艺流程,由此带动了一大批相关的零部件生产制造企业,而这些企业均为生产密集型企业,大幅度增加了劳动就业的需求。本系统和其他开发游戏区别本系统的坦克大战是基于Java语言设计开发的,支持单机运行,游戏基本玩法较简单,支持手机运行,游戏以消灭全部敌方坦克过关为目的。主要的功能简单罗列如下:1、己方坦克可以发射子弹攻击敌人;2、敌方坦克能够随机移动并且能够发射子弹;3、显示生命值,生命值为零显示游戏结束;4、敌方坦克

7、消灭完毕为胜利。系统运行的软件环境(1)网络服务器操作系统:Windows XP;(2)开发工具:eclipse3.2;(3)运行环境:J2SDK 1.5;(4)编程语言:Java语言;课题类型:(1)A工程实践型;B理论研究型;C科研装置研制型;D计算机软件型;E综合应用型(2)X真实课题;Y模拟课题;(1)、(2)均要填,如AY、BX等。本课题的研究内容 1、Java图形编程Java中的Graphics类是用于绘图和显示格式化文本的工具类。在Java程序中绘图必须在一个窗口(容器)中进行,绘图窗体经常被设计为一个组件容器。一般首先在一个面板中进行绘制,然后再将这个面板添加到显示窗口中去。G

8、raphics类是在Java.awt包中申明,显示格式化文本和绘图时通过调用Graphics类的draw()方法实现的,例如drawString(String),drawLine()等。绘图采用的坐标系是原点在左上角,纵轴向下以像素为单位的坐标系。 2、J2SE框架J2SE软件是快速开发、部署关键任务和企业应用程序的首选解决方案。J2SE是基于Java跨平台技术和强有力的安全模块而开发的,其最新的特征和功能极大地提高了Java语言的伸缩性、灵活性、适用性,以及可靠性。J2SE特点:良好的计算性能和缩放能力。J2SE提升了Java计算的性能与缩放能力,代表了Java技术的大跨步进展。通过J2SE

9、框架更简易的步骤、花费更少的时间,采用Java技术开发与配置要求更高的应用了。J2SE在Java客户机应用方面得到了重大性能提升。基于Swing的Java小程序和应用程序在图形用户界面(GUI)的响应速度上也大有提高。跨平台:J2SE是一个具有综合性能的平台,能使一个完整的、可缩放的高性能应用配置在任何种类的平台上。支持Web服务: J2SE对SSL、LDAP等业界标准技术也给予支持,因此保证了在不同平台、系统和环境间的互操作能力。J2SE支持XML技术和一整套安全服务,因此为基于各类标准的可互操作应用与服务的创建奠定了重要基础。有了J2SE与Java Web Services Develop

10、er Pack的结合,开发商就能创建、测试和配置Web服务了。完整性:J2SE还是一个完整的开发环境。开发商可基于这一环境创建功能丰富的交互式应用。这些应用可以配置在任何平台上。J2SE具有新的GUI控制功能、快速的Java 2DT图形功能、支持国际化与本地化扩展和新的配置选项,并对Windows XP提供扩展支持。总之,J2SE是多种不同风格软件的开发基础,包括客户端Java小程序和应用程序,以及独立的服务器应用程序等。J2SE版还是J2ME的基础,是J2EE执行程序的推动力。本课题研究的实施方案、进度安排 基于android的手机订餐系统初步定于5月之前要全部完成,开始时间是从2011年3

11、月正式开始的,下面则是实施该订餐系统的基本进度安排:2011.3.5-3.21 (2012下同) 完成全部设计开题报告的初稿 3.22-4.1 在老师的指导下进行修改和审查,完成开题报告 4.2-4.16 完成毕业设计的可行性分析 4.7-4.11 完成毕业设计的需求分析 4.12-4.18 完成总体设计 4.19-4.24 细化整个坦克大战游戏,并完成详细设计 4.25-4.26 对整个系统选择语言,实现相应的编码 4.26-4.30 测试系统,对本系统进行最后的修改 5.1- 在规定时间完成详尽说明书 (注:在以上过程中随时和自己的指导老师进行沟通和交流。)开题报告(2) 已查阅的主要参考

12、文献1 姜志强编著. Java语言程序设计 M.北京:电子工业出版社,20072 侯俊杰编著. Java语言应用开发基础 M.3 孙更新, 宾晟, 吕婕编著. Java毕业设计指南与项目实践 M. 北京:科技出版社,2007.4 杜江, 管佩森编著. Java使用编程100例 M. 北京:中国贴到出版社,2004.5 殷兆麟编著. Java语言程序设计 M. 北京:高等教育出版社, 2002.6 侯俊杰编著. Java程序设计教程与实训 M. 北京:科学出版社, 2005.7 赵强, 陈洪译著. Java程序设计高级主题 M. 北京:北京大学出版社,2004.8 电脑编程技巧与维护杂志社编著.

13、 Java编程技巧典型案例解析 J. 北京:中国电力出版社,20059张基温,朱嘉钢,张景莉编著. Java程序开发教程 M. 北京:清华大学出版社,200210丁来佳,周静. 基于JAVA平台事件驱动模型的研究与设计J. 黄冈师范学院学报 , 2008,(S1) .指导教师意见指导教师签名: 年 月 日开题报告(3) 毕业设计(论文)学生申请答辩表课 题 名 称同学录管理系统设计与实现指导教师(职称) 吕瑾文(讲师)申 请 理 由经过长时间的充分准备,所有设计资料已经准备齐全,现提出正式申请。学生所在学院计算机学院专业班级08计科2班学号0810311103 学生签名: 日期:2011.6.

14、7毕业设计(论文)指导教师评审表序号评分项目(理工科、管理类)评分项目(文科)满分评分1工作量外文翻译152文献阅读与外文翻译文献阅读与文献综述103技术水平与实际能力创新能力与学术水平254研究成果基础理论与专业知识论证能力255文字表达文字表达106学习态度与规范要求学习态度与规范要求15是否同意参加答辩:总分评语 指导教师签名: 另附毕业设计(论文)指导记录册 年 月 日3毕业设计(论文)评阅人评审表学生姓名范方舟专业班级07计科2班学号0710312118设计(论文)题目基于android的手机订餐系统的设计与开发评阅人评阅人职称序号评分项目(理工科、管理类)评分项目(文科)满分评分1

15、工作量外文翻译152文献阅读与外文翻译文献阅读与文献综述103技术水平与实际能力创新能力与学术水平254研究成果基础理论与专业知识论证能力255文字表达文字表达106学习态度与规范要求学习态度与规范要求15总分评语 评阅人签名: 年 月 日4毕业设计(论文)答辩表学生姓名范方舟专业班级07计科2班学号0710312118设计(论文)题目基于android的手机订餐系统的设计与开发序号评审项目指 标满分评分1报告内容思路清新;语言表达准确,概念清楚,论点正确;实验方法科学,分析归纳合理;结论有应用价值。402报告过程准备工作充分,时间符合要求。103创 新对前人工作有改进或突破,或有独特见解。1

16、04答 辩回答问题有理论依据,基本概念清楚。主要问题回答准确,深入。40总分答辩组评语答辩组组长(签字): 年 月 日 答辩委员会意见答辩委员会负责人(签字): 年 月 日5毕业设计(论文)成绩评定总表学生姓名: 范方舟 专业班级:07计科2班 毕业设计(论文)题目:基于android的手机订餐系统的设计与开发成绩类别成绩评定指导教师评定成绩评阅人评定成绩答辩组评定成绩总评成绩40%+20%+40%评定等级注:成绩评定由指导教师、评阅教师和答辩组分别给分(以百分记),最后按“优(90-100)”、“良(80-89)”、“中(70-79)”、“及格(60-69)”、“不及格(60以下)”评定等级

17、。其中, 指导教师评定成绩占40%,评阅人评定成绩占20%,答辩组评定成绩占40%。6毕业设计(论文)专用纸 摘 要 随着现在智能手机越来越普及,移动电子商务新一轮的竞争也将逐渐展开。我们作为21世纪的IT人员,应该具备熟悉并运用新一代google推出的android系统来开发手机订餐系统的能力。本系统就是充分利用android和数据库技术,主要以ListView Widget来作为搜索加载,显示餐厅数据。重写访问数据库的类,利用其内置的方法访问数据库。通过使用手机内的SQLlite数据库来创建数据,同时迎合现在年轻人对于智能手机的喜爱和追捧。该系统相对于传统的订餐模式和前几年流行的短信订餐模

18、式而言,界面友好,功能更加强大,因而本系统更具有优势。 关键字:智能手机;android;移动电子商务;手机订餐;SQLlite 毕业设计(论文)专用纸 Abstract With the increasing popularity of smart cellphones, a new round of competition inmobile e-commerce will expand gradually.So we,the new generation of IT staff should be familiar with android system in order to devel

19、op mobile food-booking systems.The mobile system and database technology are in full use of android.It is mainly used by ListView Widget to load and search,display the restaurantdata,Rewritethe classto access the database, using itsbuilt-inway toaccess the database.By using the cellphones SQLlite da

20、tabase to create data,it caters to young peoples tastes and sought after smart cellphones. Comparing to the traditional ordering patterns and SMS,it has the advantages of friendly interface and powerful functions. Key words :smart cellphones;SMS;android;Mobile e-commerce;phone reservation;SQLlite 毕业

21、设计(论文)专用纸目 录 1 绪论.13 1.1 知识背景.13 1.1.1 android系统简介.13-171.1.2 android application层应用.17-18 1.2 eclipse安装及android sdk配置.18-21 2.1 系统概要.21 2.1.1 android概要.21 2.2 总体设计.22-243 详细设计.24-39 3.1 具体类的设定.24-363.1.1 类CreateRestaurant.Menu.java的实现.243.1.2 类InitRestaurantMenu.java的实现.25-273.1.3 类EditRestaurantMe

22、nu.java的实现.27-303.1.4 类ChooseRestaurant.java的实现.30-333.1.5 类GeoPointImageOverlay.java的实现.33-343.1.6 类MySQLiteOpenHelper.java的实现.34-36 3.2 类中包含的.xml文件设置.36-39结束语.39致谢.394 主要参考文献.40-415 (附录)软件流程图.41-42 毕业设计(论文)专用纸第一章 绪论 手机订餐的出现必将改变人们对订餐的看法。在手机订餐之前,无论是学生族还是上班族,电话订餐往往是采用最普遍的订餐方式。然而美在线订餐网站GrubHub通过发布ipho

23、ne和android的手机订餐应用,在短短的5个月时间内融资达到2000万美元。7这个数字足以使我们对手机订餐的前景刮目相看。电话订餐相对于手机订餐而言有很大的局限性,首先是时效问题,订餐高峰期,一部电话根本招架不住那么多的订餐顾客;其二,不利于同学们对周围饭店信息的广泛获取;其三,点菜不方便;其四,是打电话的成本过高。综上所述,我们需要推广手机订餐来取代人们所习惯的电话订餐方式。13 手机订餐的出现得益于互联网的发展,在Internet高速发展的今天,互联网已经越来越成为人们快速获取、发布和传递信息的重要渠道,它在人们的经济、政治、生活等各方面发挥着越来越重要的地位,而互联网发展的短短十年间

24、,智能手机的发展和手机的3G化已然成为互联网发展的两个最新热点。我们现在所使用的HTC智能手机,就运行着当代最流行的智能手机操作系统之一的android系统。围绕着该操作系统,android market开放平台上截止至今已经有25万个应用。每个Android平台上的开发人员都希望自己能拥有属于自己的应用程序发布到开放平台中,设计与开发android的应用软件对我们把握移动电子商务市场行情有着重要的意义。111.1 知识背景1.1.1 android系统简介 Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台

25、由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。16 同时android系统以linux作为核心,使用Java作为编程语言,使接口到功能,都有层出不穷的变化,其中Activity等同于J2ME的MIDlet,一个Activity类别(class)负责创建视窗(window),一个活动中的Activity就是在foreground(前 毕业设计(论文)专用纸就用此页眉景)模式,背景执行的程序叫做Service。两者之间透过由ServiceConnection和AIDL连结,达到复数程序同时执行的效果。如果执行中的Activity全部画面被其他Act

26、ivity取代时,该Activity便被停止(stopped),甚至被系统清除(kill)。View等同于J2ME的Displayable,程序人员可以透过View类别与“XML layout”档将UI放置在视窗上,Android 1.5的版本可以利用View打造出所谓的Widgets,其实Widget只是View的一种,所以可以使用xml来设计layout,HTC的Android Hero手机即含有大量的widget。至于ViewGroup是各种layout的基础抽象类别(abstract class),ViewGroup之内还可以有ViewGroup。View的构造函数不需要再Activi

27、ty中调用,但是Displayable的是必须的,在Activity中,要通过findViewById()来从XML中取得View,Android的View类的显示很大程度上是从 XML中读取的。View与事件(event)息息相关,两者之间透过Listener结合在一起,每一个View都可以注册一个event listener,例如:当View要处理用户触碰(touch)的事件时,就要向Android框架注册View.OnClickListener。18 Android系统在google创建之初就已经大致定下了以下的4层体系结构,其中4层体系结构图大致可以由下图来表示: 图1 android

28、体系结构图18其中蓝色部分:应用程序。绿色及黄色部分:中间件。 红色部分:作业系统。 毕业设计(论文)专用纸Android语言在程序语言方面有很大的提高,其本身执行于Linux kernel之上,但并不是GNU/Linux。因为在一般GNU/Linux里支持的功能,Android大都没有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以bionic取代Glibc、以Skia取代Cairo、再以opencore取代FFmpeg等等。Android为了达到商业应用,必须移除被GNU GPL授权证所约束的部份,例如Android将驱

29、动程序移到userspace,使得Linux driver与Linux kernel彻底分开。bionic/libc/kernel/ 并非标准的kernel header files。Android的kernel header是利用工具由Linux kernel header所产生的,这样做是为了保留常数、资料结构与宏。 Android在中介程序的选择和构建方面完成的非常出色,其包括有:一、 作业系统与应用程序的沟通桥梁,并用分为两层:函数层(Library)和虚拟机器(Virtual Machine)。 Bionic是Android改良libc的版本。Android同时包含了Webkit,所

30、谓的Webkit就是Apple Safari浏览器背后的引擎。Surface flinger是就2D或3D的内容显示到萤幕上。二、 Android使用工具链Toolchain为Google自制的Bionic Libc;采用OpenCORE作为基础多媒体框架。OpenCORE可分7大块:PVPlayer、PVAuthor、Codec、PacketVideo Multimedia Framework(PVMF)、Operating System Compatibility Library(OSCL)、Common、OpenMAX。使用skia为核心图形引擎,搭配OpenGL/ES。skia与Lin

31、ux Cairo功能相当,但相较于Linux Cairo, skia功能还只是阳春型的。2005年Skia公司被Google收购。三、 多媒体资料库采用SQLite资料库系统。资料库又分为共用资料库及私用资料库。用户可透过ContentResolver类别(Column)取得共用资料库。四、 Android的中间层多以Java实作,并且采用特殊的Dalvik虚拟机器(Dalvik Virtual Machine)。Dalvik虚拟机器是一种“暂存器型态”(Register Based)的Java虚拟机器,变数皆存放于暂存器中,虚拟机器的指令相对减少。 毕业设计(论文)专用纸五、Dalvik虚拟

32、机器可以有多个实例(instance),每个Android应用程序都用一个自属的Dalvik虚拟机器来执行,让系统在执行程序时可达到优化。Dalvik虚拟机器并非执行Java字节码(Bytecode),而是执行一种称为.dex格式的档案。1.1.2 android application层应用 在上一节android体系结构图中,我们可以看出Android的最上层包含有两个重要的层次,及Application层和Application Framework层,这里就牵涉出一些有关Application层的基本内容,这里面包含有常用的Activity、Home、Contents、Phone、Bro

33、wser这样五个在android sdk开发中经常用到的5个概念,因此下面有必要介绍有关Application层和Application Framework层的基本内容。 Application Framework层: Android在基于Linux2.6的内核下,依靠自身提供的类似虚拟机结构。通过提供开放的开发平台,使开发者能够编制极其丰富和新颖的应用程序。开发者可以自由地利用设备硬件优势、访问位置信息、运行后台服务、设置闹钟、向状态栏添加通知等等,很多很多。 开发者可以完全使用核心应用程序所使用的框架APIs。应用程序的体系结构旨在简化组件的重用,任何应用程序都能发布他的功能且任何其他应用

34、程序可以使用这些功能(需要服从框架执行的安全限制)。这一机制允许用户替换组件。 所有的应用程序其实是一组服务和系统,包括: 视图(View)-丰富的、可扩展的视图集合,可用于构建一个应用程序。包括包括列表、网格、文本框、按钮,甚至是内嵌的网页浏览器 内容提供者(Content Providers)-使应用程序能访问其他应用程序(如通讯录)的数据,或共享自己的数据 资源管理器(Resource Manager)-提供访问非代码资源,如本地化字符串、图形和布局文件 通知管理器(Notification Manager)-使所有的应用程序能够在状态栏显示自定义警告 活动管理器(Activity Ma

35、nager)-管理应用程序生命周期,提供通用的导航回退功能。 Application 层: Android装配一个核心应用程序集合,包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人和其他设置。所有应用程序都是用Java编程语言写的。更加丰富的应用程序有待我们去开发! 从上面我们知道Android的架构是分层的,非常清晰,分工很明确。Android本身是一套软件堆迭(Software Stack),或称为软件迭层架构,迭层主要分成三层:操作系统、中间件、应用程序。那么其中 Phone为Android电话通信和短信发送功能提供了基本的功能,Home又是Android启动的一切基础,Bro

36、wser则足以使Android在浏览器领域和web2.0时代成为IT企业中的领军人物,这一切都为我们使用Android打下了良好的基础。1.2 eclipse安装及android sdk配置 在了解有关Android系统的简单知识后,下面要知道的是如何在windows平台下安装google官方推荐的eclipse编译器,并在eclipse编译器下集成android sdk开发环境的步骤:13一相关下载(1) java JDK下载:进入该网页: 图2 java jdk下载界面选择 Download JDK 只下载JDK,无需下载jre.(2)eclipse下载 进入该网页:应选择第一个(即ecl

37、ipse IDE for java EE Developers) (3)下载Android SDK,在android官方网站上下载专门的sdk。 说明: Android SDK两种下载版本,一种是包含具体版本的SDK的,一种是只有升级工具,而不包含具体的SDK版本,后一种大概20多M,前一种70多M。二Eclipse配置 1 安装android 开发插件 (1)打开Eclipse, 在菜单栏上选择 help-Install New SoftWare 出现如下界面: 图3 eclipse install安装 点击 Add按钮,出现如下界面:图4 add进入界面 输入网址: 点击 Next按钮 ,

38、出现如下界面:图5 Android Development Tools 安装界面 后面即可通过选择I accept来完成相应android sdk开发环境的安装,成功后会在eclipse的工具栏上出现android机器人的相应图标,此时说明android环境已安装好。 2.配置android sdk (1)点击菜单window-preferences,进入如下界面:图6 android preferences配置界面 选择你的android SDK解压后的目录,选错了就会报错,这个是升级工具,目前还没有一个版本的SDK。 (2)升级SDK版本,选择菜单 window-Android sdk a

39、nd avd manager,在里面勾选update all的选项,则android对应的每个sdk api开始执行安装。 (3)新建AVD(android vitural device),和上面一样,进入android sdk and avd manager,选中Vitural Devices 在点击New按钮,名称可以随便取,target选择你需要的SDK版本,SD卡大小自定义,点击 Create AVD,则创建AVD完毕。 3.新建Android项目 在file目录下选择new选项,并选择下一级菜单中的other选项,这样就可以新建得到一个android project,到此即完成了an

40、droid sdk的所有工作。第二章 系统分析2.1 系统概要开发android平台下的手机订餐系统,主要目的是为了满足两方面的需求:一方面是满足以android为系统的手机用户软件使用需要;另一方面则是为了满足上班族对中餐的需要。因此我们要结合以上两方面来分析手机订餐系统的设计意义。上班族希望自己每天的饮食能同时做到经济、实惠。但是很多时候上班族都忙于自己的工作,一方面他们无法将自己的精力分摊到饮食中,而另一方面现在许多餐馆的食品质量实在是无法让人恭维。民以食为天。特别对于上班族来说,很多人孤身一人在外面上班,现实生活中每一个人与周围同事之间总为了每天中午应该吃什么而发愁。那么开发andro

41、id平台下的手机订餐系统对于解决上班族的问题起着至关重要的作用。2.1.1 Android概要 本系统中最重要的功能即要完成数据库的及时更新,对Android手机而言,最好的方式莫过于使用SQLite热量骰子地图来整合应用。因此在Android概要中,SQLite的应用过程显得非常重要,Android整合了轻量级的SQL数据库,从而大大减轻了开发者的负担。 数据库支持每个应用程序无论大小的生命线,除非所有的应用程序只处理简单的数据,那么就需要一个数据库系统存储你的结构化数据,Android使用SQLite数据库,它是一个开源的、支持多操作系统的SQL数据库。在Android中,当我们为某个应用

42、程序创建的数据库,只有它可以访问,其它应用程序是不能访问的,数据 库位于Android设备/data/data/databases文件夹中,包含了基本数据库所具有的各种语言功能。2.2 总体设计Android地图整合应用部分采用了SQL数据库,程序使用了手机里的SQLlite创建数据,提供了ListView Widget来作为搜索加载(SELECT),以显示餐厅数据之用,除了新建餐厅资料之外,在ListView上设计与User交互的OnClick Listener,使用户随时可以进入餐厅维护的界面,同时在以上步骤中支持各个餐厅的“删除”与“修改”功能。2通过以下这张表来简单反映出该程序的6个部

43、分和其主要功能:程序名称程序说明CreateRestaurant.Menu.javaActivity进入点为欢迎界面Activity,提供了3个Menu功能(添加餐馆、编辑餐馆、今天饮食),使用户可以从这个界面开始操作。 InitRestaurantMenu.java“添加餐馆”Activity,提供一个新建餐厅表单Layout以及两个Menu功能(编辑、今天饮食),在这个Activity中,让用户新建餐厅数据进入数据库,当数据库发现欲创建的餐厅名称已存在于数据库,便不运行添加的动作,在User单击“送出”按钮后,随即前往“编辑”Activity。 EditRestaurantMenu.jav

44、a“编辑餐馆”Activity,这是一个TestView与一个LIstView所组成,在加载此Activity的同时,自数据库中选出已创建好的餐厅数据,将之显示于ListView当中。当用户单击餐厅名称,则跳出对话窗口提供“编辑”或“删除”餐厅数据功能。 续表 ChooseRestaurant.java今天饮食Activity,这个Activity包含了一个TextView显示被勾选的餐厅资料之外,也提供了一个MapView来显示该餐厅的地图,运行此Activity程序会自数据库里选出所有餐厅数据,接着,以随机数的方式随机取出餐厅名称、地址以及热量等数据。 GeoPointImageOverl

45、ay.java自定义在地图上放置图片的Overlay类,可让程序调用直接传入Drawable ID与GeoPoint在MapView上显示图片文件Overlay。 MySQLiteOpenHelper.java自定义数据库访问类,包含新建数据表(OnCreate())、查询数据表(select())、删除数据记录(delete())以及新建数据记录(Insert())等方法。表1 订餐系统总体设计介绍 六个大类的设计从整体上相辅相成,类的组织则由附录中的类的组织结构图来完成。本设计类图在论文的最后,包含有软件设计的全部流程图和全设计类图。这个类图主要的作用是用来说明本程序的基本运行流程和该系统

46、在设计过程中界面和类的整体结构。以上的6个类的内容在整体设计中都会利用到GPS+Camera的混搭,让创建餐馆功能得以轻松完成,而且不需要键入任何地址数据,也能让照片拥有地理坐标,最后存储在数据库中,让程序骰子取出使用。第三章 详细设计3.1 具体类的设定 3.1.1 类Crea项目编号和后面的题目之间的间隔,所有的都要距离一致teRestaurant.Menu.java的实现 第一个类CreateRestaurant类主要是为了给用户提供了在进入欢迎界面后完成后面后续步骤的操作。这个Menu导引用户实现其对应的功能,整个程序内容中主要包含了有关Menu菜单的描述。主程序中包含了3个Menu功

47、能菜单,这3个菜单分别指向了系统中包含的其它3个功能,即新建餐馆、编辑餐馆和今天饮食的问题。 对于程序中可能出现的问题,则要事先设置好相应的访问规则,这里有3个分支,所以在选择结构中我考虑使用到switch-case选择结构,这样判定不仅准确性高,而且能更好的提高程序整体的复用性。以下是该程序中的关键步骤: 在创建菜单栏过程中,以下3个android菜单创建过程最为关键。通过这3个步骤来依次管理Menu的3个部分下对应的菜单,以下是3条执行语句。 /* 建立3个Menu选单 */ menu.add(idGroup1, MENU_ADD, orderItem1, R.string.str_man

48、u1).setIcon(android.R.drawable.ic_menu_add); menu.add(idGroup1, MENU_EDIT, orderItem2, R.string.str_manu2).setIcon(android.R.drawable.ic_dialog_info); menu.add(idGroup1, MENU_DRAW, orderItem3, R.string.str_manu3).setIcon(R.drawable.hipposmall); Android在menu选项中加入identifier,这些identifier的作用是给刚才的menu选单提

49、供识别标识,从而能使它们可以唯一被计算机所识别。点击Menu时,系统调用当前Activity的onCreateOptionsMenu方法,并传一个实现了一个Menu接口的menu对象供你使用。 /* 独一无二的menu选项identifier,用以识别事件 */ static final private int MENU_ADD = Menu.FIRST; static final private int MENU_EDIT = Menu.FIRST+1; static final private int MENU_DRAW = Menu.FIRST+2;3.1.2 类InitRestaur同

50、上antMenu.java的实现 添加餐厅Activity程序,提供了一个输入表单,该表单内包含餐厅名称、地址以及热量三个字段,皆为必填字段,当用户单击送出 按钮,则先查询数据库里是否有已存在的餐厅名称。当餐厅名称未存在时,才创建新的餐厅数据进数据库,随后关闭该Activity,前往“编辑餐馆”Activity进行维护与查看餐厅数据列表。欲使用自定义数据库访问类(MySQLiteOpenHelper.java)来查询数据,则是调用dbHelp.select()来进行查询,需传入的参数选项依次为数据表名称(table)、查询取得字段(columns)、查询条件名称(selection)、查询条件

51、值(selectionArgs)、分组别GROUPBY参数(groupBy)HAVING参数(having)以及ORDERBY参数(orderby)。在使用数据库新建数据的过程中,由于数据表(t_restaurant)字段有4个:f_id、f_name、f_address和f_cal,分别代表数据ID、餐厅名称、餐厅地址与消耗热量,创建的字段类型除了f_id为自动增加的整数类型之外,其余均使用text类型,这样做的一个好处是有效避免了UI会检查各种格式的问题。以下是该程序中的关键步骤:在数据库中每添加一个餐厅资料,那么需要我们对每一个新建的餐厅资料要有明确的标识方式,就像关系数据库有标识符和对应关系一样,我们需要明确餐厅的基本资料,下面的申明就是对应餐厅的资料使用:/* version必须大于等于1 */ int version = 1; /* Table数据表 */ String tables = t_restaurant ; /* 字段名称 */ String fieldNames = f_id, f_name, f_address, f_cal ;/* 字段类型 */ String fieldTypes = INTEGER PRIMARY KEY

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!