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

@Override

public void onClick(DialogInterface dialog, int which) { new loadhumanServicesAsyncTask().execute(arg[which]); }

}).show();

}

分类按钮点击的代码处理,使用AlertDialog弹出框实现

tvTopTitleRight.setOnClickListener(new OnClickListener() { @Override

public void onClick(View v) { new

AlertDialog.Builder(DishesListActivity.this).setTitle(\选择分类\ .setSingleChoiceItems(s, curIndex, new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

curIndex = which; dialog.dismiss(); shopid = listShop.get(curIndex).getId();

new loadAsyncTask().execute(); }

}).setNegativeButton(\取消\null).show();

} });

5.3在线下单模块的实现

用户在餐厅菜谱列表当中点击一个Item可以进入到详细的介绍页面,该页面详细描述了所选择的的餐厅菜式信息,包括图片、介绍和价格等信息。

同时用户可以在该界面进行下单,下单前需要输入数量,然后点击“提交”按钮来提交订单;

在线下单模块功能流程图如图13所示,展示了在线下单的用户操作过程和系统处理过程。

第 17 页 共 35 页

图13 在线下单流程图

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

第 18 页 共 35 页

图14 在线下单界面

实现的核心代码如下:

//通过url请求获取详情数据

protected String doInBackground(String... params) { String urlString = AppConstant.getUrl(getApplicationContext()) + \ urlString = urlString + \+ params[0] + \ String json = httpHelper.HttpRequest(urlString); return json; }

//解析返回的json字符串,把数据展示到界面上 protected void onPostExecute(String result) { super.onPostExecute(result); dialog.dismiss();

if (result.trim().length() > 0) { try {

jsonArray = new JSONArray(result);

jsonObject = jsonArray.getJSONObject(0);

((TextView)

findViewById(R.id.tvTopTitleCenter)).setText(jsonObject.getString(\itle\

((TextView)

第 19 页 共 35 页

findViewById(R.id.tvTopTitleCenter)).setTextSize(16); if

(!TextUtils.isEmpty(jsonObject.getString(\ asyncImageLoader.loadBitmap(serverUrl + \ imageView1); }

String intro = \单价:¥\+ jsonObject.getString(\

intro += \数量:\\

intro += \简介:\\配料:\ tvIntro.setText(intro);

} catch (JSONException e) { e.printStackTrace(); }

} }

下单操作 使用post请求,提交数据,实现代码如下

//提交订单的代码

protected String doInBackground(String... params) { String urlString = AppConstant.getUrl(getApplicationContext()) + \ Map map = new HashMap(); map.put(\ map.put(\

map.put(\ map.put(\ map.put(\

String result = httpHelper.HttpPost(urlString, map); return result; }

//判断订单提交后,webservice的返回值,提示订单是否提交成功 protected void onPostExecute(String result) { super.onPostExecute(result); dialog.dismiss();

if (result != null && result.trim().equals(\ toastUtil.show(\下单成功\

} else if (result.trim().equals(\

第 20 页 共 35 页

联系客服:779662525#qq.com(#替换为@)