基于Android的网络菜谱app,基于Android平台的菜谱实现

《基于Android平台的菜谱实现》由会员分享,可在线阅读,更多相关《基于Android平台的菜谱实现(14页珍藏版)》请在人人文库网上搜索。

1、基于Android平台的菜谱实现1需求分析随着手机的广泛普及,无线技术的突飞猛进,移动生活、務动办公逐渐由概念转变为现 实,对于传统的餐饮业也产生了潜務默化的影响。目前,大多数餐厅仍然以传统的纸质菜单为主。但是,这种点菜方式存在诸多弊端:从 消费者角度来讲,菜谱不能及时更新,导致菜谱信息陈旧,点菜时经常岀现某菜品已下架等 情况。用户需求:从餐厅老板来说,及时更新纸质的菜谱,无疑会增加餐厅的额外支出。为了 改善传统纸质菜谱的弊端,将菜谱应用于手机客户端,为消费者带来更为便利的客户体验。 而实时的菜品更新,不仅解决了纸质菜谱短时间内就出现脏、舌L、差的问题,实现餐厅无纸 化操作,而且潜在的提升了饭。

2、店的形象。功能需求:用户可以进入菜单界面选择菜品分类,进入相应的分类内,查看该分类中的 菜品信息,并对菜品的等级程度进行评价,査询某特龙菜品,也可添加新菜品,删除菜品等。2功能实现本APP基于自身的需求,同时对西北大学周围众多餐厅现状的合理分析,结合实际, 设计并实现了一个基于移动手机平台的智能菜谱显示,该系统的设汁基于Android智能操作 系统,简单的SQLite数据库,实现了对菜品的增、删、査、改各个功能。消费者可以添加要点的菜品,在餐后可以对菜品的口味及好感程度进行具体化的评价, 这样是对餐厅工作人员的一个回馈,同时也可以为其他消费者就餐提供建议。2.1主界面1、实现了对菜品的具体分类。

3、。如图2-110:43 Q icil t3 40 76%CK我的菜谱3WiW分类:图2-1单击所选择的菜品分类,出现菜品的镜像显示,为消费者提供更为直观的视觉效果,有 助于消费者做岀选择。如图222川毗 Q10:439 lOl C5 * 76% CB10:45Q o O * esg巣谧显示 菜谱显示QQ商品列表:98 商品列表: 图2-42、搜索菜品菜谱显示界而会显示该分类下的所有菜品,当需要宜接看到某单个菜品的具体消息时, 可以通过搜索框,进行菜名的特泄筛选。如图251 W * ZITKCBigroup = new ArrayList();group.addC 粥品“);group.add(。

4、派和糕点“);group.add(膨化食品“);group.add(H 酱菜辅料”);group.add(H 敢爱敢做”);group. add(”饼干”);创建适配器newAr rayAd a pte rada pte r=ArrayAdapter(this,R.layout.item_spi nn er,Riditem_styl 已 group);获得控件对象Spinner groupSpinner = (Spinner) this.findViewByld(R.id.spinnerl);设置spinner对象的数据适配器groupSpi nn er.setAdapter(adapter)。

5、;groupSpinner.setPrompt(H 食物分类);3.3菜谱显示public class MenuActivity extends Activity!private ArrayList checkBox = new ArrayList();private booleanf hasChecked;private ListView listView;private RatingBar ratBar;private android.widget.SimpleAdapter adapter;private List list = ms.QueryAllData();for(FoodMen。

6、u foodmenil:list)foodmenu.getName().toStri ng();if(n ame.equals(foodme nu .getName().toString()HashMapfoodMap=newHashMap();foodMap.put(H nu mfoodme nu.getNum();foodMap.put(H namejfoodme nu.getName();foodMap.put(Hclassificatio n, foodmenu. getClassificati on();foodMap.put(,describe,/foodme nugetDescr。

7、ibe(); datal.add(foodMap);int a=new int JfR.id.tvno.id.tvfoodname.id.tvcIassification.id.bdetail; adapter=newan droid.widget.SimpleAdapter(MenuActivity.this.getApplicatio nContext(),datal,R.layout.listjtem2, new String,num,/,,name,/,,classification,/,describe,l/ a);listView=(ListView) findViewByld(R。

8、.id.listview);HstView.setTextFilterEnabled(true);将listView控件和adapter绑定listView.setAdapter(adapter);listView.setOnltemClickListener(new AdapterView.OnltemClickListener() Overridepublic void onltemClick(AdapterView adapterVievy, View view,int position, long id) / TODO Auto-generated method stubHashMap。

9、 itemMap = (HashMap)adapterView.getltemAtPosition(positi on);int num = (Integer) itemMap.get(Nnumu);String foodName = (String) itemMapget(”foodName”);StringfoodClassification=(String)itemMap-getCfoodClassificatoin11);String describe = (String) item Map.getfdescribe);FoodMenu foodm = new FoodMenu();f。

10、oodm.setNum(num);foodm.setName(foodName);foodm.setClassification(foodClassification);foodm.setDescribe(describe);In tent in tent = new In tent();intent.putExtra(,food,/ foodm);intent.setClass(MenuActivity.this, ShowInfoActivity.class);MenuActivity.this.startActivity(i ntent);););Menu Service ms = ne。

11、w MenuService(this);查询所有的菜品List list = ms.QueryAllData();创建一个ArrayList集合,用于存放拥有food信息的MAP集合ArrayUst foodMap = new HashMap();foodMap.put(H num 蔦 foodme nu .getNum);foodMap.put(,name,/foodme nu.getName();foodMap.putCclassificationfoodmenu.getClass ificationf);foodMap.put(,describe,/foodme nu .getDescr。

12、ibe();data.add(foodMap);int a=new int JfR.id.tvnOzR.id.tvfoodname.id.tvcIassificatioR.id.bdetail;adapter = new android.widget.SimpleAdapterfthis.getApplicationContextO, data,R.layout.listjtem2, new StringFum罗nam&Tclassificationf describe) a); listView=(ListView) findViewByld(R.id.listview);HstView.s。

13、etTextFilterEnabled(true);将listView控件和adapter绑定listView.setAdapter(adapter);listView.setOnltemClickListener(new AdapterView.OnltemClickListener() (Overridepublic void onltemClick(AdapterView adapterView, View view,int position, long id) /TODO Auto-generated method stubHashMapitemMap=(HashMap)adapter。

14、View.getltemAtPosition(positi on);int num = (Integer) itemMap.get(Hnum”);String foodName = (String) itemMap.getCoodName11);String foodClassification = (String) itemMap.getCfoodClassificatoin1);String describe = (String) item Map.getCdescribe);FoodMenu foodm = new FoodMenu();foodm.setNum(num);foodm.s。

15、etName(foodName);foodm.setClassification(foodClassification);foodm.setDescribe(describe);Intent intent = new lntent); intent.putExtraCfood, foodm); intent.setClass(MenuActivity.this, ShowInfoActivity.class); MenuActivity.this.startActivity(i ntent););check =(CheckBox) findViewByld(R.id.checkJtem);ch。

16、eck.setOnCheckedChangeListenGr(new CheckBox.OnCheckedChangeListener() Overridepublic void onCheckedChanged(CompoundButton buttonView,boolean isChecked) 记录食品选中状态if(isChecked)MenuService ms = new MenuServic&MenuActivity.this); ms.delete(listView.getCheckedltemPosition(););4测试1、模块测试主界而、菜品图片显示界而,菜品信息显示界。

17、而,添加界而等之间的跳转是否正常, 界而之间的衔接是否合理。经过多次跳转的测试,均到了预期的效果。界面设计虽然精 简,使得操作简单,但是界而缺少推送,使得信息太过单一,信息量太少,影响用户体 验。2、单元测试增、删、査、改是否正常(1)测试增加功能:在添加界面添加一道新菜品:草莓蛋糕,点击保存后,菜品添加功能测试测试用例测试目的测试结果测试用例一添加草莓蛋糕选择分类是否实现成功选择分类测试用例二添加抹茶慕斯单击保存后是否成功添加到菜单,是否成 功显示添加菜品的信息添加成功且信息正确(2)测试删除功能删除功能测试测试用例测试目的测试结果测试用例一选中草莓蛋糕是否将该菜品删除成功删除测试用例二淸空。

18、菜单按钮单击后是否将菜单中所有菜品删除菜单淸空(3)测试査询功能査询功能测试测试用例测试目的测试结果测试用例一选中草莓蛋糕是否将该菜品在菜单中单独显示单独显示 J测试用例二选中抹茶慕斯査询到的信息是否正确信息正确(4)等级评价测试评价功能测试测试用例测试目的测试结果测试用例一评价草莓蛋糕能否给岀星级评价成功评级3、数据库测试测试添加的菜品是否成功记录到数据库中,删除的菜品是否在数据库中移除,经多 次测试,每次添加的菜品均可添加到数据库表中,删除的菜品也会在表中消失。5期望本软件真正运用到市场时,仍存在很多问题。后期设计将食客与饭店分开成为两个独立 的个体,但是之间的交互更为密切,功能更为明确。食客端订餐,评价菜品,查询菜品。而 饭店用户端,可以对食客反馈的信息进行管理,对食客给与的建议进行整合,进行对菜品的 改进以及调整。并且添加一些推送信息,给食客更丰富的资讯,带来更好的用户体验。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值