




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于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镜像显示public class MyMirrorGalleryActivity extends Activitypublic MyMirrorGallery gallery;Overridepublic void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.my_gallery); /Action Bar ActionBar actionBar = getActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setDisplayShowHomeEnabled(true); actionBar.hide(); actionBar.show(); /-show it again- gallery=(MyMirrorGallery)findViewById(R.id.Mygallery);gallery.setAdapter(new MyAdapter(this); Override public boolean onCreateOptionsMenu(Menu menu) super.onCreateOptionsMenu(menu); CreateMenu(menu); return true; Override public boolean onOptionsItemSelected(MenuItem item) return MenuChoice(item); private void CreateMenu(Menu menu) MenuItem mnu1 = menu.add(0, 0, 0, 详情显示); mnu1.setIcon(R.drawable.ic_launcher); mnu1.setShowAsAction( MenuItem.SHOW_AS_ACTION_NEVER | MenuItem.SHOW_AS_ACTION_WITH_TEXT); MenuItem mnu2 = menu.add(0, 1, 1, 软件所有权); mnu2.setIcon(R.drawable.ic_launcher); mnu2.setShowAsAction( MenuItem.SHOW_AS_ACTION_NEVER | MenuItem.SHOW_AS_ACTION_WITH_TEXT); MenuItem mnu3 = menu.add(0, 2, 2, 使用说明); mnu3.setIcon(R.drawable.ic_launcher); mnu3.setShowAsAction( MenuItem.SHOW_AS_ACTION_NEVER | MenuItem.SHOW_AS_ACTION_WITH_TEXT); private boolean MenuChoice(MenuItem item) switch (item.getItemId() case android.R.id.home: Toast.makeText(this, You clicked on the Application icon, Toast.LENGTH_LONG).show(); Intent i = new Intent(this, MyMirrorGalleryActivity.class); i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i); return true; case 0: Intent i2 = new Intent(this, MenuActivity.class); i2.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i2); return true; case 1: Toast.makeText(this, 软件说明:, Toast.LENGTH_LONG).show(); new AlertDialog.Builder(MyMirrorGalleryActivity.this) .setTitle(软件说明:) .setMessage(软件著作:*n适用范围:所有爱好美食的人n ) .setPositiveButton(确定, null) .show(); return true; case 2: Toast.makeText(this, 使用说明, Toast.LENGTH_LONG).show(); new AlertDialog.Builder(MyMirrorGalleryActivity.this) .setTitle(使用说明:) .setMessage(使用方法:n 1.选择食物类型;n 2.查看食物n 3.选择心仪的菜品n ) .setPositiveButton(确定, null) .show(); return true; return false; 3.2添加菜品public class AddFoodActivity extends Activity protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.addfood);Spinner();Button btn_save=(Button) findViewById(R.id.btn_save);btn_save.setOnClickListener(new OnClickListener() public void onClick(View v) / TODO Auto-generated method stubEditText editText1_foodname=(EditText) findViewById(R.id.editText1_foodname);/EditText spinner1=(EditText) findViewById(R.id.spinner1);Spinner spinnerGroup = (Spinner) findViewById(R.id.spinner1);EditText editText1_describe=(EditText) findViewById(R.id.editText1_describe);String foodname=editText1_foodname.getText().toString();/String editspinner1=spinner1.getText().toString();String classification = spinnerGroup.getSelectedItem().toString();String describe=editText1_describe.getText().toString();FoodMenu food=new FoodMenu(foodname, describe, classification);MenuService dbOpenHelper=new MenuService(AddFoodActivity.this);dbOpenHelper.add(food);/修改Intent i = new Intent(AddFoodActivity.this, MenuActivity.class); i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i);finish(););public boolean onCreateOptionsMenu(Menu menu) / Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.add_food, menu);return true;public boolean onOptionsItemSelected(MenuItem 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 AndroidM id = item.getItemId();if (id = R.id.action_settings) return true;return super.onOptionsItemSelected(item);private void Spinner()/分组Spinner填充 ArrayList group = new ArrayList(); group.add(粥品 ); group.add(派和糕点); group.add(膨化食品); group.add(酱菜辅料); group.add(敢爱敢做); group.add(饼干); /创建适配器 ArrayAdapter adapter = new ArrayAdapter(this,R.layout.item_spinner,R.id.item_style,group); /获得控件对象 Spinner groupSpinner = (Spinner) this.findViewById(R.id.spinner1); /设置spinner对象的数据适配器 groupSpinner.setAdapter(adapter); groupSpinner.setPrompt(食物分类);3.3菜谱显示public class MenuActivity extends Activity private ArrayList checkBox = new ArrayList(); private boolean hasChecked; private ListView listView; private RatingBar ratBar; private android.widget.SimpleAdapter adapter; private ListMap listItems; private Integer imgid = R.drawable.p1, R.drawable.p2, R.drawable.p3, R.drawable.p4, R.drawable.p5, ; private CheckBox check; Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);/去除标题 /this.requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.showfood); /Action Bar ActionBar actionBar = getActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setDisplayShowHomeEnabled(true); actionBar.show(); /-show it again- /获得搜索按钮对象 ImageButton searchbtn = (ImageButton) findViewById(R.id.searchbtn); /searchButton注册监听事件 searchbtn.setOnClickListener(new View.OnClickListener() Overridepublic void onClick(View v) / TODO Auto-generated method stubEditText searchtext = (EditText) findViewById(R.id.editTextSearch);String name = searchtext.getText().toString();MenuService ms = new MenuService(MenuActivity.this);ArrayListHashMap data1 = new ArrayListHashMap();List list = ms.QueryAllData();for(FoodMenu foodmenu:list)foodmenu.getName().toString();if(name.equals(foodmenu.getName().toString()HashMap foodMap = new HashMap();foodMap.put(num,foodmenu.getNum(); foodMap.put(name,foodmenu.getName(); foodMap.put(classification,foodmenu.getClassification(); foodMap.put(describe,foodmenu.getDescribe(); data1.add(foodMap);int a=new int R.id.tvno,R.id.tvfoodname,R.id.tvclassification,R.id.bdetail; adapter = new android.widget.SimpleAdapter(MenuActivity.this.getApplicationContext(), data1, R.layout.list_item2, new Stringnum,name,classification,describe, a); listView=(ListView) findViewById(R.id.listview); listView.setTextFilterEnabled(true); /将listView控件和adapter绑定 listView.setAdapter(adapter); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() Overridepublic void onItemClick(AdapterView adapterView, View view,int position, long id) / TODO Auto-generated method stubHashMap itemMap = (HashMap)adapterView.getItemAtPosition(position);int num = (Integer) itemMap.get(num);String foodName = (String) itemMap.get(foodName);String foodClassification = (String) itemMap.get(foodClassificatoin);String describe = (String) itemMap.get(describe);FoodMenu foodm = new FoodMenu();foodm.setNum(num);foodm.setName(foodName);foodm.setClassification(foodClassification);foodm.setDescribe(describe);Intent intent = new Intent();intent.putExtra(food, foodm);intent.setClass(MenuActivity.this, ShowInfoActivity.class);MenuActivity.this.startActivity(intent););); MenuService ms = new MenuService(this); /查询所有的菜品 List list = ms.QueryAllData(); /创建一个ArrayList集合,用于存放拥有food信息的MAP集合 ArrayListHashMap data = new ArrayListHashMap(); for(FoodMenu foodmenu:list) HashMap foodMap = new HashMap(); foodMap.put(num,foodmenu.getNum(); foodMap.put(name,foodmenu.getName(); foodMap.put(classification,foodmenu.getClassification(); foodMap.put(describe,foodmenu.getDescribe(); data.add(foodMap); int a=new int R.id.tvno,R.id.tvfoodname,R.id.tvclassification,R.id.bdetail; adapter = new android.widget.SimpleAdapter(this.getApplicationContext(), data, R.layout.list_item2, new Stringnum,name,classification,describe, a); listView=(ListView) findViewById(R.id.listview); listView.setTextFilterEnabled(true); /将listView控件和adapter绑定 listView.setAdapter(adapter); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() Overridepublic void onItemClick(AdapterView adapterView, View view,int position, long id) / TODO Auto-generated method stubHashMap itemMap = (HashMap)adapterView.getItemAtPosition(position);int num = (Integer) itemMap.get(num);String foodName = (String) itemMap.get(foodName);String foodClassification = (String) itemMap.get(foodClassificatoin);String describe = (String) itemMap.get(describe);FoodMenu foodm = new FoodMenu();foodm.setNum(num);foodm.setName(foodName);foodm.setClassification(foodClassification);foodm.setDescribe(describe);Intent intent = new Intent();intent.putExtra(food, foodm);intent.setClass(MenuActivity.this, ShowInfoActivity.class);MenuActivity.this.startActivity(intent););
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025肿瘤护士层级考试试题及答案
- 2025证券专场测试题及答案
- 2025公务员路政考试题库及答案
- 2025公务员局面试题及答案
- 2025村干部公务员试题及答案
- 中国大学行政权力与学术权力的博弈与学术自治的实现
- 上市公司内部控制缺陷信息披露与公司绩效:关联机制与实证洞察
- BOT项目经营期限确定:基于风险因素的深度剖析与策略构建
- 2024年吉安市消防救援支队招聘政府专职消防员笔试真题
- 企业发展战略规划编制规则
- 安徽省高速公路施工标准化指南
- 国网超市化招标评标自动计算表(区间复合平均价法)
- GB/T 21218-2023电气用未使用过的硅绝缘液体
- 2023电赛综合测评报告
- 人教版九年级上册化学默写总复习
- 医院培训课件:《输血管理查房》
- 公开招聘事业单位工作人员政审表
- DB51∕T 2152-2016 实验室通风柜使用指南
- 项目经理负责制与项目管理实施办法范文2篇
- 2022-2023年医疗招聘药学类-西药学高频考点题库附加答案
- 珠宝设计服务合同
评论
0/150
提交评论