学术堂首页 | 文献求助论文范文 | 论文题目 | 参考文献 | 开题报告 | 论文格式 | 摘要提纲 | 论文致谢 | 论文查重 | 论文答辩 | 论文发表 | 期刊杂志 | 论文写作 | 论文PPT
学术堂专业论文学习平台您当前的位置:学术堂 > 计算机论文 > 软件工程论文

基于Android手机的订餐系统开发设计

来源:学术堂 作者:周老师
发布于:2015-05-26 共2284字
摘要

 随着智能手机的应用,GPS、wifi 技术的成熟,关于手机订餐应用的需求也逐渐增---手机订外卖、手机订餐方便了客户。例如,去餐厅用餐前客户可以在手机 APP 上查看当前餐厅是否有空位,可以预订餐位,且在出发前就可在手机点餐,并注明到店时间,到店后无需等待就可享用美食。对于餐厅来说,也节省了人力,无需太多的点菜服务人员,节省了开店成本。以下为基于 Android 手机订餐系统的设计。
 
  1 系统模块设计
 
  订餐系统主要分为三个模块。
 
  1.1 订餐客户端程序
 
  该程序安装在用餐客户的手机上,主要功能是用户通过手机选择餐厅,预订餐位,并点菜下单。
 
  1.2 餐厅管理客户端程序
 
  该程序可分为两部分,一是可安装在餐厅管理人员的手机上,主要功能是餐厅管理人员可通过手机查看订单,上传及修改餐厅菜品,上传餐厅简介及当前时段用餐情况等信息。
 
  另一部分功能主要是为餐厅管理人员开发的订餐管理系统,以网页形式体现,餐厅管理人员可通过浏览器在网页管理餐厅的订单信息及菜品信息,也可以通过网页来管理餐厅,对于较小的餐厅,餐厅管理人员可直接用手机客户端管理餐厅,对于大、中型餐厅可用计算机通过网页来实现餐厅订餐信息的管理。
 
  1.3 服务器端数据服务系统
 
  服务器端程序用来接收手机客户端用户发来的消息并做处理,如订餐信息,餐厅管理人员发来的菜品修改信息等,并对数据库做相应的修改。
 
 
  2 系统模块详细设计
 
  2.1 订餐客户端程序。该程序安装在用餐客户的手机上,主要功能是用户通过手机选择餐厅,预订餐位,并点菜下单。根据用户当前所在位置,系统会推荐用户周边的餐厅,用户也可自己搜索、选择,并查看餐厅就餐环境及当前就餐人数,是否有空位;选择好餐厅后,可直接进入点餐界面,点餐界面将菜品分类,并显示菜品图片、品名、价格等,用户可点击选择,并可对每一个菜品输入特别要求,如少辣;选好菜品后,可输入订餐人姓名、电话、用餐人数等信息,并下单,就可直接传送到服务器端的数据库了。主要实现方法如下:
 
  (1)服务器端传送给手机端的数据,如餐厅列表、菜品列表,可以将从数据库中取得的数据转换为 JSONObject 或 JSONArray 的格式,客户端收到后可直接解析。(2)手机客户端连接服务器端时,主要采用http 网络连接方法,如 http://192.168.199.115 /DC_server/t_cp.(3)手机客户端数据采用分页加载方法,即只下载并显示用户当前所查看的数据(如餐厅列表、菜品列表)这样可节省网络资源。
 
  if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) {
 
  // 判断是否滚动到底部
 
  if (view.getLastVisiblePosition() == view.getCoun(t) - 1) {
 
  if (havedata) {page += 1;
 
  conservice (MyGlobal.cp_url + “?sh_id = ” +Bundle1.getString(“
 
  sh_id”)+“&page=”+page+“&search_key=”+search_data);}}}
  该程序被安装在餐厅管理人员的手机上,主要功能是餐厅管理人员可通过手机查看订单,上传及修改餐厅菜品,上传餐厅简介及当前时段用餐情况等信息。主要功能有:查看订单、上传菜品、修改菜品、修改餐厅信息、修改用户密码,该模块的难点主要在上传菜品图片,即在手机中查找菜品图片,选择后上传到服务器,并修改数据库;主要方法:
 
  (1)对手机上的图片进行列表,供用户选择,通过 Gridview+自定义 adapter 实现图片的显示。
 
  (2)以文件做为参数,传送至服务器端,实现菜品图片的上传,代码如下。
 
 FileBody file=new FileBody(imageFile);
    mpEntity.addPar(t"picPath",file);
    mpEntity.addPart ("picName",new StringBody(file.getFilename()));
    httppost.setEntity(mpEntity);
    HttpResponse httpResponse=httpclient.execute(httppost);
 
 
  2.3 服务器端数据服务系统
 
  该程序主要是接收手机上发来的信息,并修改数据库,以及根据手机发来的信息,从数据库中查询相关数据并返回信息给手机客户端;该程序被安装在服务器端,服务器端程序为 web 程序,可用tomcat+jsp+mysql 组合,主要分为两个部分,一个是用于接收订餐客户手机上发来的信息;另一部分用于接收餐厅管理人员手机客户端信息。主要方法如下:
 
  (1)服务器端传送给手机端的数据,如餐厅列表、菜品列表,可以将从数据库中取得的数据转换为 JSONObject 或 JSONArray 的格式,客户端收到后可直接解析。
 
    List<Object> data=new ArrayLis(t);
 
  try{ResultSet rs=sp.execQuery(sql,iPageSize,Integer.parseIn(ti-Page));
 
  i(fsp.getPageCoun(t)>=Integer.parseIn(tiPage))
 
  {int i=0;
 
  do {Map<String,String>cell=new HashMap<String,String>();
 
  cell.pu(t“cp_id”,rs.getString(“id”));
 
  cell.pu(t“cp_type_name”,rs.getString(“cp_type_name”));
 
  cell.pu(t“cp_type_id”,rs.getString(“cp_type_id”));
 
  ……
 
  data.add(cell);
 
  }while(++i<iPageSize && rs.nex(t));}
 
  } catch (SQLException ex) {ex.printStackTrace(); }
 
  JSONArray array=new JSONArray(data);
 
  out.prin(tarray.toString());
 
  (2)接收餐厅管理人员上传的图片,将图片存入服务器指定目录,并修改数据库中菜品图片名称。
 
  OutputStream out =new FileOutputStream (new File(path,file-name));
 
  InputStream in=item.getInputStream();
 
  int length=0;
 
  byte[] buf=new byte[1024];
 
  System.out.println(“获取文件总量的容量:”+ item.getSize());
 
  while((length=in.read(buf))! =-1){out.write(buf,0,length); }
 
  String sql=“update t_cp set cp_img=‘”+filename +“' where id=”+cp_id;
 
  conn.doUpdate(sql);
 
  参考文献
 
  [1]徐光侠,封雷,涂演,等。基于 Android 和 Google Maps 的生活辅助系统的设计与实现[J].重庆邮电大学学报(自然科学版),2012,2.
 
  [2]王晋东;移动终端上传网络图片的算法实现[J].电子技术与软件工程,2013,17.
相关标签:
  • 报警平台
  • 网络监察
  • 备案信息
  • 举报中心
  • 传播文明
  • 诚信网站