基于Android平台的菜谱实现_第1页
基于Android平台的菜谱实现_第2页
基于Android平台的菜谱实现_第3页
基于Android平台的菜谱实现_第4页
基于Android平台的菜谱实现_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

3、现了对菜品的具体分类。如图2 4G 10:43 Q Cli t376% CH 我的菜谱 華i分矣: mncK 点 KMU Ksva” 图24 单击所选择的菜品分类,出现菜品的镜像显示,为消费者提供更为直观的视觉效果,有 助于消费者做出选择。如图22 10439 Ql (970W 菜谱显示 图2-2 2、是谨入菜品显示的入口,同时也显示了该软件的使用方法如图23: 4C川 |0M : 10:48 Q lOl 7S%CH 使用说明: 使用方法: 1选食物类型: 2伎物 3 选择心仪的菜品 图2-3 2.2菜谱显示界面 1、该类菜品中所有菜品的具体展示,菜品名称、菜品分类、菜品描述、菜品编号、以及菜

4、 品的星级评价,单选或多选菜品。如图24: 商品列表: a Q 亠 * 商品列S : a V Ra 菜谱显示 1045 Q O 0 * f (039 iQt tS f 图24 2、搜索菜品 菜谱显示界而会显示该分类下的所有菜品,当需要直接看到某单个菜品的具体消息时, 可以通过搜索框.进行菜坍的特定筛选。如图25 10:479 O or * rar% OB 菜谱显示 图2-5 3、对菜品进行添加 4、删除菜品 当菜品长时间被消费者冷落,或者有不想再推出的菜品时,进行及时的删除。为消费者 提供实时的消息Q如图26: (low* c Q iO 9 Qsa d. 11;30 髙品列表: 图26 2.3

5、菜品添加界面 当有新的菜品推出时,进行及时的添加,为消费者提供更多选择。软件对菜品的分类给与明 确的选择,给用户提供便利0如11 2-7: 欢迎下载11 G ,illl OW* 名称: 分矣: e 川 I ow AddFoodActivity 泡英 派和糕点 保存 粥品 派和糕点 膨化食品 料 敵爱敢做 饼干 M迷: 外层S糕.内的奶油.KkiB微甜.口 感扱好的1| 图27 3编码 3.1镜像显示 public class MylVlirrorGalleryActivity extends Activity! public MyMirrorGallery gallery; Override

6、p ublic void on Create(Bundle saved I nsta nceState) sup er.onCreate(savedlnstanceState); setContentV iew(R.layout.rny_gallery); /Action Bar ActionBar actionBar = getActionBar(); actionBarsetDis playHomeAs Up Enabted(true); actionBarsetDis plaYShowHonieEnabled(true); actionBarhideO; actionBarshowO;

7、/show it again gallery=MYlVlirrorGallery)findViewByldRjd.Mygallery); gallery.setAdapter(new MyAdapter(this); Override public boolean onCreateOptionsMenu(Menu menu) super.onCreateO ption sMenu(rnenu); CreateMenu(menu); return true; (Override public boolean onOptionsItemSelectedfMenultem item) return

8、MenuChoicefitem); private void CreateMenu(Menu menu) Menultem mnul = menu.add0,0,0,详情显示”); mn ul.setIconfR.drawable jcjauncher); rnnul.setShowAsAction( Menultem.SHOW AS ACTION NEVER | Menultem.SHOW_AS_ACTION_WITH_TEXT); Menultem mnu2 = menu.add(0,1,1,软件所有权”); mnu2.setlconR.drawable jcjauncher); mnu2

9、.setShowAsAction( IVIenultem.SHOW_AS_ACTION_NEVER | Menultem.SHOW_AS_ACTION_WITH_TEXT); Menultem mnu3 = menu.add0, 2, 2,使用说明”); mn u3.setlconR.drawable jcjauncher); rnnu3.setShowAsAction( IVIenultem.SHOW_AS_ACTION_NEVER | Menultem.SHOW_AS_ACTION_WITH_TEXT); private boolean MenuChoice Menu Item item)

10、 switch (item.getItemIdO) case an droid.R.id.home: Toast.ma keText(this, You clicked on the Application icon. ToastLENGTH_LONG)show(); Intent i = new lntent(this, MyMirrorGalleryActivityxIass); i.addFlags(lntent,FLAG_ACTIVITY_CLEAR_TOP); startActivity(i); return true; case 0: Intent i2 = new lntent(

11、this, MenuActivity.class); i2.addFlagslntent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i2); return true; case 1: Toast.makeText(this,软件说明:, Toast.LENGTH_LONG)-show(b new AlertDialog.BuilderfMyMirrorGalleryActivity.this) -setTitleC 软件说明:) .setMessage(”软件著作:*n适用范围:所有爱好美食的人n) .setPositiveButto确 Al, null)

12、 show(); return true; case 2: Toast.makeText(this,使用说明 Toast.LENGTH_LONG)-show0j new AlertDialog.BuilderfMyMirrorGalleryActivity.this) .setTitleC 使用说明:) .setMessagef使用方法:n 选择倉物类型;n 2查看食物n 3选择心仪的 -setPositiveButton(”确zk, null) show(); return true; return false; 3.2添加菜品 public class AddFoodActivity ex

13、tends Activity protected void onCreateBundle savedlnstanceState) super, on Create(saved!nsta nceState); setContentView(RJayout.addfood); SpinnerO; Button btn_save=(Button) findViewByld(Rjd.btn_save); btn_save.setOnClickListener new OnClickListener() public void onClick(View v) /TODO Auto-generated m

14、ethod stub EditText editTextl_foodname=EditText) findViewByldRjd.editTextl_foodname); /EditText spinnerl=EditText) findViewByldfRJd.spinnerl); Spinner sp innerGr oup = (Spinner) findViewByldfR.id.s pinnerl); EditText editTextl_describe=(EditText) findViewByld(Rjd.editTextl_describe); String foodname

15、=editTextl_foodname.getText().toString(); /String edits pinnerl=s pinn erl.getText().toStnng(); String classification = spinnerGroupgetSelQCtedltem()toString(); String descnbe=editTextl_descnbegetText()toString(); FoodMenu food=new FoodMenufoodname, describe, classification); MenuService dbOpenHelpe

16、r=new MenuService(AddFoodActivity.this); dbOpenHel pQradd(food); 修改 Intent i = new lntent(AddFoodActivity.this, MenuActivityxIass); i.addFlags(lntent,FLAG_ACTIVITY_CLEAR_TOP); startActivity(i); finish()j ); public boolean onCreateOptionslVlenu(Menu menu) / Inflate the menu; this adds items to the ac

17、tion bar if it is present. getMenulnflater()inflate(Rmenuadd-fooct menu); return true; public boolean onOptionsltemSelected(IVlenultem item) / Handle action bar item clicks here. The action bar will / automatically handle clicks on the Home/Up button, so long / as you specify a parent activity in An

18、droidManifest.xmL int id = item.getItemIdO; if (id = Rjd.action_settings) return true; return superonOptionsltemSelected(item); private void Spinner() 分组Spinner填充 ArrayList grou p = new ArrayList(); group.add(粥品”); group.add(派和糕点”); group.add(膨化食品”); group.addC酱菜辅料”); groupadd(敢爱敢做); group.addf饼干 J;

19、 new 创建适配器 ArrayAdapterada pter= ArrayAdapterthis,RJayoutjtem_spinnecRjdjtem_style,gro up); 获得控件对象 spinner groupSp inner = (Sp inner) this.findViewByldRjd.s pinnerl); 设置spinner对象的数据适配器 grou pSp innersetAda pter(ada pterj; groupSpinnersetPrompt(食物分类); 33菜谱显示 public class MenuActivity extends Activity

20、! private ArrayList checkBox = new ArrayList); private booleanH hasChecked; private ListView listView; private RatingBar ratBar; private android.widget.SimpleAdapter adapter; private ListIVta pvStnng, Object listitems; private lnteger( imgid = R.drawable.pl, R.drdwable.p2, R.drawable.p3, R.drawable.

21、p4, R.drawable.p5. private CheckBox check; Override protected void onCreateBundle savedInstanceState) superon Create(savedlnstanceState); 去除标题 /this.requestWindowFeatureWindow.FEATURE_NO_TITLE); setContentView(RJayout.showfood); /Action Bar Action Bar acti on Bar = getActionBar(); actionBarsetDis pl

22、ayHomeAsU pEnablQd(true); actionBarsetDis plaYShovvHorneEnabled(true); actionBarshow(); /show it again- 获得搜索按钮对彖 ImageButton searchbt n = (ImageButton) findViewByld(Rjd.searchbtn)j /searchButton注册监听事件 searchbtn.setOnClickListenerfnew View.OnClickListenerO Override public void onClick(View v) /TODO A

23、uto-generated method stub EditText searchtext = (EditText) findViewByld(Rjd.editTextSearch); String name = searchtext.getText().toString(); MenuService ms = new MenuService(IVIenuActivity.this); new new ArrayLisKHashMa p(); List list = ms.Q.ueryAllData(); forFoodMenu foodmenu:list) foodmenu.getName)

24、,toString); if(name.equals(foodmenu.getNarne(),toString() HashMa pfoodIVIa p= HashlVlap(); foodMa p.pu tnurn,foodme nugetNum(); foodMa p.p utname*Joodme nugetName(); foodMa pput(classification/oodmenugetClassification(); foodMa pput(descnbe,foodmenugetDescnbe(); datal.ddd(foodlVla p); new datal. int

25、 a=new int JRjd.tvno,R.id.tvfoodname,RJdIvclassification,RJd.bdetail; ada pter= android.widget.Sim pleAda pter(MenuActivitythisgQtA pplicationContQXt(), RJayoutJist_item2, new Stringnum7name7*classification7describe/ a); listView=(ListView) findViewByld(R.id.listview); listView-setTextFilterEnabledt

26、rue); 将listview控件和adapter绑定 listView.setAdapter(ada pter); listView-setOnltemClickListenerfnew AdapterView.OnltemClickListener() Override public void onItemClickfAdapterView adapterView View view, int position, tong id) (HashlVIa pvString, / TODO Auto-generated method stub HashMapitemMa p ObJect)ada

27、pter/iew.getltemAtPosition (p ositi on); int num = (Integer) itemMapget(Furrr); String foodName = (String) itemMap.get(foodNarne); StringfoodClassification=(String) itemMap.get(foodClassificatoin); String describe = (String) itemMap.getCdescnbeJ; FoodMenu foodm = new FoodMenuQ; foodm.setNumfnum); fo

28、odm.setNameffoodName); foodm-setClassification(foodClassification)j foodm-setDescribe(describe); Intent intent = new Intent。; intent*putExtra(food, foodm); intenLsetClass(MenuActivity,this, Showl nfoActivity.class); MenuActivity.this.startActivity(intent); ); ); MenuService ms = new MenuService(this

29、); 查询所有的菜品 List list = ms.Q.ueryAllData(); 创建一个ArrayList集合,用于存放拥有food信息的MAP集合 ArrayListHashMapStnng,Object data = new ArrayListHashlVlapString,Object(); for(FoodMenu foodmenu:list) HashMap foodMap = new HashlVIap(); foodMa pput(”num 鳥 foodme nu .getNumf); foodMa pput(Famr/oodmenugQtNarnQ(); foodMa p

30、put(classification/oodrnenugetClassific0tion(); foodMa p.pu t(describeJoodmenu.getDescribe(); data.addffoodMa p); int aJ=new int RJd.tvno,RJd.tvfoodnarne,Rjd.tvclassification,Rjd.bdetail; ada pter = new android.widget.Sim plQAdapter(thisgetA pplicationContext()/ data, RJayoutJistJtem2, new StringJnu

31、m7name7classification7descnbe/ a); listView=(ListView) findViewByldfR.idJistview); listView,setTextFilterEnabledtrue); 将listview控件和adapter绑定 listView.setAdapter(adapter); listView.setOnltemClickListenerfnew AdapterView.OnltemClickListener() Override public void onltemClick(AdapterViQW adapterVieg Vi

32、ew view, int position, long id) /TODO Auto-generated method stub 欢迎下载13 (HashlVlapStnng, HashlVtapitemMa p= ObJect)adapter/iew.getltemAtPosition (p ositi on); int num = (Integer) itemMapget(FurTr); String foodName = String) itemMapget(”foodNameJ; String foodClassification = String) itemMap.getfoodCl

33、assificatoin); String describe = (String) itemMap-getCdescribeJ; FoodMenu foodm = new FoodMenu()j foodm.setNum(num); foodm.setNameffoodName); foodm.setClassificati on( foodclassification); foodm.setDescri bedescn be); Intent intent = new Intent。; intent.putExtra(food, foodm); intent.setClass(IVlenuActivity.this Showl nfoActivityxIass); MenuActivity.this.startActivity(intent); ); check

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论