基于Android平台的菜谱实现1需求分析随着手机的广泛普及,无线技术的突飞猛进,移动生活、移动办公逐渐由概念转变为现实,对于传统的餐饮业也产生了潜移默化的影响。目前,大多数餐厅仍然以传统的纸质菜单为主。但是,这种点菜方式存在诸多弊端:从消费者角度来讲,菜谱不能及时更新,导致菜谱信息陈旧,点菜时经常出现某菜品已下架等情况。用户需求:从餐厅老板来说,及时更新纸质的菜谱,无疑会增加餐厅的额外支出。为了改善传统纸质菜谱的弊端,将菜谱应用于手机客户端,为消费者带来更为便利的客户体验。而实时的菜品更新,不仅解决了纸质菜谱短时间内就出现脏、乱、差的问题,实现餐厅无纸化操作,而且潜在的提升了饭店的形象。功能需求:用户可以进入菜单界面选择菜品分类,进入相应的分类内,查看该分类中的菜品信息,并对菜品的等级程度进行评价,查询某特定菜品,也可添加新菜品,删除菜品等。2功能实现本APP基于自身的需求,同时对西北大学周围众多餐厅现状的合理分析,结合实际,设计并实现了一个基于移动手机平台的智能菜谱显示,该系统的设计基于Android智能操作系统,简单的SQLite数据库,实现了对菜品的增、删、查、改各个功能。消费者可以添加要点的菜品,在餐后可以对菜品的口味及好感程度进行具体化的评价,这样是对餐厅工作人员的一个回馈,同时也可以为其他消费者就餐提供建议。2.1主界面1、实现了对菜品的具体分类。如图2-1图2-1单击所选择的菜品分类,出现菜品的镜像显示,为消费者提供更为直观的视觉效果,有助于消费者做出选择。如图2-2图2-22、是进入菜品显示的入口,同时也显示了该软件的使用方法如图2-3:图2-32.2菜谱显示界面1、该类菜品中所有菜品的具体展示,菜品名称、菜品分类、菜品描述、菜品编号、以及菜品的星级评价,单选或多选菜品。如图2-4:图2-42、搜索菜品菜谱显示界面会显示该分类下的所有菜品,当需要直接看到某单个菜品的具体消息时,可以通过搜索框,进行菜名的特定筛选。如图2-5图2-53、对菜品进行添加4、删除菜品当菜品长时间被消费者冷落,或者有不想再推出的菜品时,进行及时的删除。为消费者提供实时的消息。如图2-6:图2-62.3菜品添加界面当有新的菜品推出时,进行及时的添加,为消费者提供更多选择。软件对菜品的分类给与明确的选择,给用户提供便利。如图2-7:图2-73编码3.1镜像显示publicclassMyMirrorGalleryActivityextendsActivity{publicMyMirrorGallerygallery;@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.my_gallery);//ActionBarActionBaractionBar=getActionBar();actionBar.setDisplayHomeAsUpEnabled(true);actionBar.setDisplayShowHomeEnabled(true);actionBar.hide();actionBar.show();//---showitagain---gallery=(MyMirrorGallery)findViewById(R.id.Mygallery);gallery.setAdapter(newMyAdapter(this));}@OverridepublicbooleanonCreateOptionsMenu(Menumenu){super.onCreateOptionsMenu(menu);CreateMenu(menu);returntrue;}@OverridepublicbooleanonOptionsItemSelected(MenuItemitem){returnMenuChoice(item);}privatevoidCreateMenu(Menumenu){MenuItemmnu1=menu.add(0,0,0,详情显示);{mnu1.setIcon(R.drawable.ic_launcher);mnu1.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER|MenuItem.SHOW_AS_ACTION_WITH_TEXT);}MenuItemmnu2=menu.add(0,1,1,软件所有权);{mnu2.setIcon(R.drawable.ic_launcher);mnu2.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER|MenuItem.SHOW_AS_ACTION_WITH_TEXT);}MenuItemmnu3=menu.add(0,2,2,使用说明);{mnu3.setIcon(R.drawable.ic_launcher);mnu3.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER|MenuItem.SHOW_AS_ACTION_WITH_TEXT);}}privatebooleanMenuChoice(MenuItemitem){switch(item.getItemId()){caseandroid.R.id.home:Toast.makeText(this,YouclickedontheApplicationicon,Toast.LENGTH_LONG).show();Intenti=newIntent(this,MyMirrorGalleryActivity.class);i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);startActivity(i);returntrue;case0:Intenti2=newIntent(this,MenuActivity.class);i2.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);startActivity(i2);returntrue;case1:Toast.makeText(this,软件说明:,Toast.LENGTH_LONG).show();newAlertDialog.Builder(MyMirrorGalleryActivity.this).setTitle(软件说明:).setMessage(软件著作:***\n适用范围:所有爱好美食的人\n).setPositiveButton(确定,null).show();returntrue;case2:Toast.makeText(this,使用说明,Toast.LENGTH_LONG).show();newAlertDialog.Builder(MyMirrorGalleryActivity.this).setTitle(使用说明:).setMessage(使用方法:\n1.选择食物类型;\n2.查看食物\n3.选择心仪的菜品\n).setPositiveButton(确定,null).show();returntrue;}returnfalse;}}3.2添加菜品publicclassAddFoodActivityextendsActivity{protectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.addfood);Spinner();Buttonbtn_save=(Button)findViewById(R.id.btn_save);btn_save.setOnClickListener(newOnClickListener(){publicvoidonClick(Viewv){//TODOAuto-generatedmethodstubEditTexteditText1_foodname=(EditText)findViewById(R.id.editText1_foodname);//EditTextspinner1=(EditText)findViewById(R.id.spinner1);SpinnerspinnerGroup=(Spinner)findViewById(R.id.spinner1);EditTexteditText1_describe=(EditText)findViewById(R.id.editText1_describe);Stringfoodname=editText1_foodname.getText().toString();//Stringeditspinner1=spinner1.getText().toString();Stringclassification=spinnerGroup.getSelectedItem().toString();Stringdescribe=editText1_describe.getText().toString();FoodMenufood=newFoodMenu(foodname,describe,classification);MenuServicedbOpenHelper=newMenuService(AddFoodActivity.this);dbOpenHelper.add(food);//修改Intenti=newIntent(AddFoodActivity.this,MenuActivity.class);i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);startActivity(i);finish();}});}publicbooleanonCreateOptionsMenu(Menumenu){//Inflatethemenu;thisaddsitemstotheactionbarifitispresent.getMenuInflater().inflate(R.menu.add_food,menu);returntrue;}publicbooleanonOptionsItemSelected(MenuItemitem){//Handleactionbaritemclickshere.Theactionbarwill//automaticallyhandleclicksontheHome/Upbutton,solong//asyouspecifyaparentactivityinAndroidManifest.xml.intid=item.getItemId();if(id==R.id.action_settings){returntrue;}returnsuper.onOptionsItemSelected(item);}privatevoidSpinner(){//分组Spinner填充ArrayListStringgroup=newArrayListString();group.add(粥品);group.add(派和糕点);group.add(膨化食品);group.add(酱菜辅料);group.add(敢爱敢做);group.add(饼干);//创建适配器ArrayAdapterStringadapter=newArrayAdapterString(this,R.layout.item_spinner,R.id.item_style,group);//获得控件对象SpinnergroupSpinner=(Spinner)this.findViewById(R.id.spinner1);//设置spinner对象的数据适配器groupSpinner.setAdapter(adapter)