基于安卓技术的点餐系统的设计与实现 下载本文

}

toastUtil.show(\原料不足,下单失败\} else {

toastUtil.show(\下单失败\}

5.4用户订单模块的实现

用户的下单信息将会被记录到服务端中,用户可以随时通过智能手机菜单键来打开查看自己已经下过的订单信息,包括菜式信息、下单数量、选择的座位、下单时间和当前的订单状态,同时用户也可以长按一条订单信息来弹出删除菜单,用户可以删除一条订单信息。

我的订单模块作用流程图详见图15,展示了我的订单模块用户的操作过程和系统处理过程。

图15 我的订单流程图

第 21 页 共 35 页

具体的实现效果如图16所示:

图16 我的订单界面

实现的核心代码如下:

//通过url请求获取我的订单数据

protected String doInBackground(String... params) { String json = null;

serverUrl = AppConstant.getUrl(getApplicationContext()) \ + user.getId();

json = httpHelper.HttpRequest(serverUrl); return json; }

//解析返回的json字符串,把数据展示到界面上 jsonArray = new JSONArray(result);

for (int i = 0; i < jsonArray.length(); i++) { jsonObject = jsonArray.getJSONObject(i); orders model = new orders();

第 22 页 共 35 页

+

model.setId(jsonObject.getInt(\

model.setAmount(jsonObject.getDouble(\

model.setCreatetime(jsonObject.getString(\ model.setPrice(jsonObject.getDouble(\ model.setUsername(jsonObject.getString(\ model.setImg_url(jsonObject.getString(\ model.setStatus(jsonObject.getInt(\ list.add(model); }

//设置listview的适配器

adapter = new OrdersAdapter(MyOrdersListActivity.this, list); listview1.setAdapter(adapter);

取消订单界面,是通过弹出框实现,实现代码如下

//设置弹出取消订单的提示框

new AlertDialog.Builder(this).setTitle(\选择操作\DialogInterface.OnClickListener() { @Override

public void onClick(DialogInterface dialog, int which) { switch (which) { case 0:// 取消 new

deleteAsyncTask().execute(list.get(position).getId() + \ } }

}).show();

取消订单实现代码

//发送取消订单的url请求

protected String doInBackground(String... params) {

serverUrl = AppConstant.getUrl(getApplicationContext()) + \ + params[0];

String json = httpHelper.HttpRequest(serverUrl); return json; }

//判定webservice的返回值,提示是否取消成功 protected void onPostExecute(String result) { super.onPostExecute(result); dialog.dismiss();

if (result != null && result.trim().length() > 0) { toastUtil.show(\取消成功\

第 23 页 共 35 页

}

new loadAsyncTask().execute(); } else {

toastUtil.show(\取消失败\}

5.5服务端模块的实现

服务端模块具有两方面作用,其一是给客户端提供数据服务接口,客户端调用服务端的接口来得到数据库里面的菜谱、订单等所有数据,然后显示在客户端界面上。

服务端存在另外一个作用:保证信息的动态维护,比如菜谱信息维护、用户信息维护、订单信息维护以及菜谱类型信息维护。比如管理员能够于服务端依据真实状况增加一个菜式数据、删除一个菜式数据等操作。

图17 服务端模块

5.5.1人工服务模块的实现

使用者在前台呼叫人工服务的操作不可以马上执行,需要管理员于后台进行信息管理审核以确认它的操作性,管理员单击后台界面中的“人工服务”进入用户人工服务处理页面,该页面会显示近期所以的用户呼叫的人工服务。人工服务处理页面显示的是呼叫人,呼叫时间等信息。人工服务主要通过从humanservices表中查询对应的用户信息并显示在页面中,管理员审核后再对服务状态进行修改,系统会根据提交的操作更新数据表。

第 24 页 共 35 页