ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:24.12KB ,
资源ID:19722436      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19722436.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Android实训杨冰洁20文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Android实训杨冰洁20文档格式.docx

1、五、 并台模块Android客户端实现 121 名称为union_table.xml的布局文件 122 名称为unionTable()的方法 133 调用unionTable方法 15六、 并台模块服务器端实现 151 名称为“UnionTableDao”的接口 152 UnionTableDaoImpl类 163 存储过程 17一、 无线点餐系统需求分析1. 系统的背景分析和构建必要性数字化餐饮管理系统是处于导入市场的阶段。无线点餐系统管理软件供应商在餐饮行业市场满地找餐饮老板,希望出售自己产品。而餐饮老板在这个信息化满天飞的时代,总要受到影响,也希望通过这种数字化管理软件使得自己经营的餐饮

2、能更有效的得到管理,能更多的盈利。基于Android平台开发无线订餐系统。Android平台给我们提供了巨大的自由空间,再运用JAVA面向对象语言,是系统功能更加强大。MySQL 是一个杰出的数据库平台,具有功能强大,安全可靠等特点,可用于中小型联机事务处理、数据仓库及电子商务等。首先,我们得确定使用这个系统的用户应该有顾客、厨师、管理员(包括收银员,只是其权限有限制)。顾客和管理员应该是系统数据的起点,由他们做出相应的操作,然后系统进行处理;厨师则为系统数据的终点,因为最终的任务分配情况是反映到厨师身上的。整个系统的关键任务就是保证顾客所点菜品能够由厨师完成,系统保证能将做菜任务准确无误地传

3、达给厨师。(1)操作简单、界面友好: 完全控件式的页面布局,使得菜品,资讯,座位等信息的录入工作更简便,许多选项包括餐厅信息,桌位,包房信息等只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。对常见的类似网站的管理的各个方面:基本信息录入、浏览、删除、修改、搜索等方面都大体实现,顾客对菜品的预定及支付方式;(2) 即时可见:对客户预定餐饮信息的处理(包括录入、删除)将立即在另一应用端及服务器的对应栏目显示出来,达到“即时点击、即时见效”的功能;(3)系统运行应该快速、稳定、高效和可靠;(4)在结构上应具有很好的可扩展性,便于将来的功能扩展和维护。二、 更新模块服

4、务器端实现 更新模块服务器的实现主要是:创建DAO查询数据列表;创建Servlet,拼成XML格式数据输出,响应客户端请求。具体步骤说明如下。1UpdateDao接口在工程的“com.amaker.dao”包中定义一个UpdateDao接口,在该接口中声明两个方法,分别用来获得菜谱数据列表和桌位数据列表。package com.amaker.dao;import java.util.List;public interface UpdateDao / 获得菜单列表 public List getMenuList(); / 获得餐桌列表 public List getTableList();2Up

5、dateDaoImpl类在工程的“com.amaker.dao.impl”包中定义一个UpdateDaoImpl类实现UpdateDao接口中的方法。package com.amaker.dao.impl;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import com.amaker.dao.UpdateDao;import com.amaker.entity.Menu;

6、import com.amaker.util.DBUtil;public class UpdateDaoImpl implements UpdateDao public List getMenuList() / 查询SQL语句 String sql = select id,typeId,price,name,pic,remark from MenuTbl ; / 数据库连接工具类 DBUtil util = new DBUtil(); / 获得连接 Connection conn = util.openConnection(); try / 获得预定义语句 Statement pstmt =

7、conn.createStatement(); / 执行查询 ResultSet rs = pstmt.executeQuery(sql); / 判断订单详细 List list = new ArrayList(); while (rs.next() / 获得菜单信息 int id = rs.getInt(1); int typeId = rs.getInt(2); int price = rs.getInt(3); String name = rs.getString(4); String pic = rs.getString(5); String remark = rs.getString

8、(6); Menu m = new Menu(); m.setId(id); m.setName(name); m.setPic(pic); m.setPrice(price); m.setRemark(remark); m.setTypeId(typeId); list.add(m); return list; catch (SQLException e) e.printStackTrace(); finally util.closeConn(conn); return null; public List getTableList() 3名称“UpdateServlet”的Servlet类在

9、工程的“com.amaker.servlet”包中定义一个名称“UpdateServlet”的Servlet类响应客户端请求,将数据列表拼成XML格式数据,发送到客户端。package com.amaker.servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.

10、servlet.http.HttpServletResponse;import com.amaker.dao.impl.UpdateDaoImpl;public class UpdateServlet extends HttpServlet / 构造方法 public UpdateServlet() super(); / 销毁方法 public void destroy() super.destroy(); / 响应Get请求 public void doGet(HttpServletRequest request, HttpServletResponse response) throws S

11、ervletException, IOException response.setContentType(text/xml); PrintWriter out = response.getWriter(); / 实例化dao UpdateDao dao = new UpdateDaoImpl(); / 获得菜谱列表 List list = dao.getMenuList(); / 拼XML格式数据 out.println( / 根节点menulist for (int i = 0; i / 菜谱编号 out.print(id out.print(m.getId(); out.println(/

12、id / 分类typeId out.print(m.getTypeId();/typeId / 名称name out.print(m.getName();/name / 图片路径pic out.print(m.getPic();/pic / 价格price out.print(m.getPrice();/price / 备注remark out.print(m.getRemark();/remark /menu/menulist out.flush(); out.close(); / 响应Post请求 public void doPost(HttpServletRequest request,

13、 HttpServletResponse response) doGet(request,response); / 初始化方法 public void init() throws ServletException 三、 转台模块Android客户端实现转台模块要实现的功能是:当顾客开桌或下单后要求更换桌位的过程。这一过程需要更新保存在服务器数据库中的数据,具体更新的是OrderTbl表中该订单对应的桌号以及更换桌位的状态。具体实现步骤说明如下。1名称为“change_table.xml”的布局文件在该工程的目录下定义一个名称为“change_table.xml”的布局文件,该布局文件外层使用L

14、inearLayout布局,内层嵌套TableLayout,该布局作为自定义试图添加到弹出对话框中提示用户输入信息。xml version=1.0 encoding=utf-8LinearLayout xmlns:android= android:orientation=verticallayout_width=fill_parentlayout_height= TableLayout stretchColumns=1 EditText +id/change_table_order_number_EditText/TableRow更换桌号:+id/change_table_no_EditTex

15、t/TableLayout/LinearLayout2changeTable()方法在工程的“MainMenuActivity”类中定义一个changeTable()方法该方法首先实现定义的布局文件,将其添加到AlertDialog中,在对话框的确定方法中获得订单编号和更换桌号,条调用服务器Servlet,更新数据,并显示更新结果。/ 换台系统 private void changeTable() / 获得LayoutInflater实例 LayoutInflater inflater = LayoutInflater.from(this); / 获得LinearLayout视图实例 View

16、 v =inflater.inflate(R.layout.change_table, null); / 从LinearLayout中获得EditText实例 final EditText et1 = (EditText) v.findViewById(R.id.change_table_order_number_EditText); final EditText et2 = (EditText) v.findViewById(R.id.change_table_no_EditText); AlertDialog.Builder builder = new AlertDialog.Builde

17、r(this); builder.setMessage( 真的要换桌位吗?) .setCancelable(false) .setView(v) .setPositiveButton(确定, new DialogInterface.OnClickListener() public void onClick(DialogInterface dialog, int id) / 获得订单号 String orderId = et1.getText().toString(); / 获得桌号 String tableId = et2.getText().toString(); / 查询参数 String

18、 queryString = orderId=+orderId+&tableId=+tableId; / url String url = HttpUtil.BASE_URL+servlet/ChangeTableServlet?+queryString; / 查询返回结果 String result = HttpUtil.queryStringForPost(url); / 显示结果 Toast.makeText(MainMenuActivity.this,result,Toast.LENGTH_LONG).show(); ) .setNegativeButton(取消 dialog.can

19、cel(); ); AlertDialog alert = builder.create(); alert.show();3调用changeTable方法定义转台监听器,调用changeTable方法。/ 转台监听器 OnClickListener changeTableLinstener = new OnClickListener() Override public void onClick(View v) changeTable(); ;4添加转台监听器主菜单GridView添加监听器。case 2: / 添加转台监听器 imageView.setOnClickListener(chang

20、eTableLinstener); break;四、 转台模块服务器端实现为了响应Android客户端的请求需要定义Servlet,为了更新数据库需要定义DAO接口来操作数据库。1ChanggeTableDao接口在工程的“com.amaker.dao”包中定义一个ChanggeTableDao接口,在该接口中定义一个转台方法changeTable()./ 转台DAO接口public interface ChangeTableDao / 转台方法 public void changeTable(int orderId,int tableId);2ChanggeTableDaoImpl类在工程的

21、“com.amaker.dao”包中定义一个ChanggeTableDaoImpl类实现上述接口。该类需要更新订单表以及更换桌位的状态,为此本代码的实现使用了事务控制。import java.sql.PreparedStatement;import com.amaker.dao.ChangeTableDao;/* * author 郭宏志 * 完成转台功能 */public class ChangeTableDaoImpl implements ChangeTableDao public void changeTable(int orderId, int tableId) / 更新SQL语句

22、String sql = update TableTbl set flag = 0 where id = + (select tableId from OrderTbl as ot where ot.id = ?) String sql2 = update OrderTbl set tableId = ? where id = ? String sql3 = update TableTbl set flag = 1 where id = ? conn.setAutoCommit(false); PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setInt(1, orderId); / 更新桌位状态 pstmt.executeUpdate(); pstmt = conn.prepareStatement(sql2); / 设置参数 pstmt.s

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1