移动无线点餐客户端的研究与实现(Java+Android)
创始人
2024-02-21 19:48:20
0

目录
1 绪 论 2
1.1 研究的背景及意义 2
1.2 本文主要内容 2
2.1 系统架构 3
2.2 关键技术 3
2.2.1 JDBC 3
2.2.2 Jquery 4
2.2.3 Ajax 4
2.3 开发环境及平台 5
2.3.1 Eclipse 5
2.3.2 MyEclipse 6
2.3.3 Tomcat服务器 6
2.3.4 应用平台Android 7
3 订餐系统分析与设计 9
3.1需求分析 9
3.1.1 系统目标和要求 9
3.1.2 可行性分析 9
3.2 订餐系统概要设计 10
3.2.1 模块的划分 10
3.2.2 功能模块的设计 10
3.3 数据库设计 11
3.3.1 数据库需求分析 11
3.3.2 数据库E-R图设计 12
3.3.3 数据表设计 13
3.3.4 连接数据库实现 14
4.1安卓平台系统实现 15
4.1.1 功能描述 15
4.1.2 界面展示 15
4.1.3 关键代码 21
} 24
4.1.4 服务器端的实现 24
4.2 网页系统实现 25
4.2.1 界面展示 25
4.2.2 关键代码 28
结 论 32
致 谢 33
参 考 文 献 34
1.2 本文主要内容
本文介绍了无线点餐系统的开发过程。论文详尽论述了从需求分析、系统分析、概要设计、详细设计以及测试与调试的整个开发过程。首先系统地研究了无线点餐系统的背景和意义,分析了当今点餐系统的特点和共性,从而得出设计本系统的思路和方法。接着介绍了实现系统开发的Android平台环境,数据库用MySQL实现。同时简要介绍了以上工具的功能和方法。
概要设计分成后台数据库管理操作设计和客户端操作设计,同时介绍了数据库的建立和维护。详细设计主要阐述了点菜管理、并台管理、查台管理,转台管理,注销等实现,并给出了系统的部分设计代码。
3 订餐系统分析与设计
3.1需求分析
3.1.1 系统目标和要求
首先,我们得确定使用这个系统的用户应该有顾客、服务员、收银员。顾客和服务员应该是系统数据的起点,由他们做出相应的操作,然后系统进行处理;收银员则为系统数据的终点。
该系统在性能功能上应达到如下要求:
1.操作简单、界面友好:完全控件式的页面布局,使得菜品,资讯,座位等信息的
录入工作更简便,许多选项包括餐厅信息,桌位,包房信息等只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。对常见的类似网站的管理的各个方面:基本信息录入、浏览、删除、修改、搜索等方面都大体实现,顾客对菜品的预定及支付方式;
2.即时可见:对客户预定餐饮信息的处理(包括录入、删除)将立即在另一应用端及服务器的对应栏目显示出来,达到“即时点击、即时见效”的功能;
3.系统运行应该快速、稳定、高效和可靠;
4.在结构上应具有很好的可扩展性,便于将来的功能扩展和维护。
3.1.2 可行性分析
随着经济的快速发展,B2C电子商务越来越受到人们的关注。无线订餐系统,已经如雨后春笋般的出现在了许多城市的大酒店中。特别在大型餐饮集团使用已经成为了趋势。同时,随着全国人民的精神、物质和文化生活高度的提高,人们已经不在仅仅停留在吃饱的程度,不但要吃饱,还要吃好,而且对酒店服务也越来越挑刺,正因为如此无线订餐系统的出现,正好满足了大众的需要,不仅让宾客享受到精美可口的美食,更让他们感受到服务管理的贴心与完善。无线订餐业务在中国有着极大的发展空间以及良好的背景。随着酒店管理的完善,使用这种智能的无线点餐系统必然成为追究卓越的餐饮公司的最爱,也更能够体现信息技术发展之猛烈。
此次毕业设计基于Android平台开发无线订餐系统。Android平台给我们提供了巨大的自由空间,再运用Java面向对象语言,是系统功能更加强大。MySQL 是一个杰出的数据库平台,具有功能强大,安全可靠等特点,可用于中小型联机事务处理、数据仓库及电子商务等。
3.2 订餐系统概要设计
系统的概要设计主要对系统的总体功能如何设计,如何划分模块,系统的数据库如何设计进行研究。它为系统的详细设计做铺垫。在系统的设计过程中起着非常重要的作用。
3.2.1 模块的划分
本系统主要分两部分:
1.Web点餐系统与后台
Web系统主要是给客户点菜;客户只能点菜、拿号。
2.终端设备与后台
终端设备指的是基于安卓平台的一个设备。主要给服务员、收银员等工作人员使用;能更新菜谱,结账,点菜、查看等功能。
3.2.2 功能模块的设计
1.Web点餐系统
1)登录——若没有用户账号,提供注册
2)查看菜单
3)查看菜单详情
4)加入购物车(点菜)
5)下单(提交预定菜单)
6)拿号
在这里插入图片描述

图3-1功能描述图

package com.amaker.adapters;import java.util.List;import org.json.JSONException;
import org.json.JSONObject;import android.content.Context;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;public class JsonArrayAdapter extends ArrayAdapter {int resource;Context context;int textFieldId;String textKey;int dropDownResource;String[] from;int[] to;public JsonArrayAdapter(Context context, int resource,int textViewResourceId, List objects, String textKey) {super(context, resource, textViewResourceId, objects);this.resource = dropDownResource = resource;this.context = context;this.textFieldId = textViewResourceId;this.textKey = textKey;}public JsonArrayAdapter(Context context, int resource, List objects,String[] from, int[] to) {super(context, resource, 0, objects);this.resource = dropDownResource = resource;this.context = context;this.from = from;this.to = to;}@Overridepublic void setDropDownViewResource(int resource) {this.dropDownResource = resource;}@Overridepublic View getDropDownView(int position, View convertView, ViewGroup parent) {return createViewFromRes(position, convertView, parent,dropDownResource);}private View createViewFromRes(int position, View convertView,ViewGroup parent, int resource) {JSONObject obj = getItem(position);View itemView;TextView text = null;if (convertView == null) {LayoutInflater vi = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);itemView = vi.inflate(resource, parent, false);} else {itemView = convertView;}try {if (textFieldId == 0) {if (itemView instanceof TextView) {text = (TextView) itemView;} else {if (to != null && to.length > 0) {for (int i = 0; i < to.length; i++) {TextView itemtext = (TextView) itemView.findViewById(to[i]);itemtext.setText(obj.getString(from[i]));}}}} else {text = (TextView) itemView.findViewById(textFieldId);}if (text != null) {text.setText(obj.getString(textKey == null ? from[0]: textKey));}} catch (ClassCastException e) {Log.e("amaker", "布局中的元素不是TextView类型");} catch (JSONException e) {Log.e("amaker", "从Json中读取数据出错,textKey:" + textKey, e);}return itemView;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {return createViewFromRes(position, convertView, parent, resource);}}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关内容

热门资讯

(一)Git分区与状态 目录 (一)安装与配置 (二)git托管项目(git add --all . || git comm...
光的反射练习题(附答案) 光的反射练习题(附答案)  大部分同学在学过新知识之后,都觉得自己对这部分知识没有问题了,但是一做题...
教育综合基础知识试题及答案「... 教育综合基础知识试题及答案「最新」  一、选择题  1.下列现象中,不属于教育的是()。  A.家长...
小学六年级数学试卷 小学六年级数学试卷  小学六年级数学试卷附答案  一、填空。(第2题2分、其余每空1分,共33分) ...
一年级下册数学竞赛试卷 一年级下册数学竞赛试卷  数学,是研究数量、结构、变化、空间以及信息等概念的一门学科,从某种角度看属...
AI绘画:数字时代的提示工程新... 在数字时代,人们对于信息和素材的需求日益增长。随着技术的不断发展,AI绘...
【自监督学习】对比学习(Con... 1. 前言 1.1. 为什么要进行自监督学习        我们知道,标注数据总是有限...
XSS漏洞攻防 目录XSS攻击简介XSS攻击的危害XSS攻击分类XSS产生原因实战靶场搭建构造xss攻击脚本弹窗警告...
数据挖掘分类算法的学习总结 一、中文摘要 大数据时代的我们每时每刻都在产生海量数据,如何快速准确获取其中有价值的数...
高中课文《师说》原文 高中课文《师说》原文  《师说》是一篇说明教师的重要作用、从师学习的必要性以及择师的原则的论说文。此...
猫课件教案教学设计 猫课件教案教学设计  教学目标  1、体验猫的可爱,懂得珍爱生命。  2、能将关于猫的研究活动延伸到...
“双关”修辞的翻译 “双关”修辞的翻译[摘要]无论在中文还是英文中,双关都是修辞手法中非常精巧的一种,能创造出异乎寻常的...
张宗子《春在溪头荠菜花》阅读... 张宗子《春在溪头荠菜花》阅读练习及答案  ①正月将过,纽约仍在飘雪,然而春天终究来了。站在窗前向外看...
《清史稿王杰传》阅读答案 《清史稿王杰传》阅读答案  王杰(1725-1805),字伟人,陕西韩城人。乾隆二十六年,成进士,殿...
《蔡邕听琴》阅读答案及原文 《蔡邕听琴》阅读答案及原文  在平平淡淡的日常中,我们都不可避免地会接触到阅读答案,阅读答案所涉及的...
2023-3-14 刷题情况 给定行和列的和求可行矩阵 题目描述 给你两个非负整数数组 rowSum 和 colSum ÿ...
《詹天佑》原文 《詹天佑》原文  文六年级上册第5课《詹天佑》课文是按照先概括介绍,在具体叙述的方法安排材料的。小编...
成功的秘诀是什么What I... [成功的秘诀是什么What Is the Secret of Success英语]英语作文 > 初中...
Vue3 核心模块源码解析(上... Vue3相比大家也都有所了解,即使暂时没有使用上,但肯定也学习过...
Qt show(), show... 函数功能: show():显示继承自QWidget的窗口;...