基于Android平臺的菜譜實現(xiàn)_第1頁
基于Android平臺的菜譜實現(xiàn)_第2頁
基于Android平臺的菜譜實現(xiàn)_第3頁
基于Android平臺的菜譜實現(xiàn)_第4頁
基于Android平臺的菜譜實現(xiàn)_第5頁
免費預覽已結束,剩余17頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、基于Android平臺的菜譜實現(xiàn)1需求分析隨著手機的廣泛普及,無線技術的突飛猛進,移動生活、移動辦公逐漸由概念轉變?yōu)楝F(xiàn) 實,對于傳統(tǒng)的餐飲業(yè)也產(chǎn)生了潛移默化的影響。目前,大多數(shù)餐廳仍然以傳統(tǒng)的紙質菜單為主。但是,這種點菜方式存在諸多弊端:從 消費者角度來講,菜譜不能及時更新,導致菜譜信息舊,點菜時經(jīng)常出現(xiàn)某菜品已下架等情 況。用戶需求:從餐廳老板來說,及時更新紙質的菜譜,無疑會增加餐廳的額外支出。為了 改善傳統(tǒng)紙質菜譜的弊端,將菜譜應用于手機客戶端,為消費者帶來更為便利的客戶體驗。 而實時的菜品更新,不僅解決了紙質菜譜短時間就出現(xiàn)臟、亂、差的問題,實現(xiàn)餐廳無紙化 操作,而且潛在的提升了飯店的形

2、象。功能需求:用戶可以進入菜單界面選擇菜品分類,進入相應的分類,查看該分類中的菜 品信息,并對菜品的等級程度進行評價,查詢某特定菜品,也可添加新菜品,刪除菜品等。2功能實現(xiàn)本APP基于自身的需求,同時對西北大學周圍眾多餐廳現(xiàn)狀的合理分析,結合實際,設 計并實現(xiàn)了一個基于移動手機平臺的智能菜譜顯示,該系統(tǒng)的設計基于Android智能操作系 統(tǒng),簡單的SQLite數(shù)據(jù)庫,實現(xiàn)了對菜品的增、刪、查、改各個功能。消費者可以添加要點的菜品,在餐后可以對菜品的口味及好感程度進行具體化的評價, 這樣是對餐廳工作人員的一個回饋,同時也可以為其他消費者就餐提供建議。2. 1主界面1、實現(xiàn)了對菜品的具體分類。如圖

3、2-142 .HllOk/s10:43 Q iCll © 40 76%圖2T單擊所選擇的菜品分類,出現(xiàn)菜品的鏡像顯示,為消費者提供更為直觀的視覺效果,有 助于消費者做出選擇。如圖2-2頁腳4G “III Ms 區(qū)10:439 iQl (5 * 尤區(qū)1菜譜顯示圖2-22、是進入菜品顯示的入口,同時也顯示了該軟件的使用方法如圖2-3:圖2-32. 2菜譜顯示界面1、該類菜品中所有菜品的具體展示,菜品名稱、菜品分類、菜品描述、菜品編號、以及菜 品的星級評價,單選或多選菜品。如圖2-4:70% CM圖2-42,搜索菜品菜漕顯示界面會顯示該分類下的所有菜品,當需要直接看到某單個菜品的具體消息時

4、, 可以通過搜索框,進行菜名的特定篩選。如圖2-54C .till o10479 iDc QJ * nr%OBI< 榮酒顯示泡羊商品列表廠BE 圖2-53、對菜品進行漆加4、刪除菜品當菜品長時間被消費者冷落,或者有不想再推出的菜品時,進行及時的刪除。為消費者 提供實時的消息。如圖2-6:商品列表:圖2-62. 3菜品添加界面當有新的菜品推出時,進行及時的添加,為消費者提供更多選擇。軟件對菜品的分類給與明 確的選擇,給用戶提供便利。如圖2-7:工川加.10:459® w.Add Food Activity名稱:分類:姆比:名林:泡英粥品/分會:派和糕點,粥品派和糕點膨化食品描述:

5、外層蛋糕,內(nèi)層包裹濃濃的媯油,味道微甜,口 感極好的!|普菜輔料保存敢愛敢做 餅干保存圖2-73編碼3.1鏡像顯示public class MyMirrorGa11eryActivity extends Activitypublic MyMirrorGa11ery gallery;Overridepub1ic void onCreate(Bundle savedlnstanceState) super. onCreate(savedlnstanceState);setContentView(R. layout, my gallery);/Action BarActionBar actionBa

6、r = getActionBar();actionBar. setDisplayHomeAsUpEnabled(true);actionBar. setDi sp1ayShowHomeEnab1ed(true); actionBar. hide();actionBar. show(); /show it again ga11ery=(MyMirrorGa11 ery)f indViewById(R. id. Mygallery);gallery.setAdapter(new MyAdapter(this);Overridepublic boolean onCreateOptionsMenu(M

7、enu menu) super.onCreateOptionsMenu(menu);CreateMenu(menu);return true;)Overridepublic boolean onOptionsItemSe1ected(MenuItem item)(return MenuChoice(item);)private void CreateMenu(Menu menu)(Menu I tem mnul = menu. add(Ot 0, 0,"詳情顯示");mnul. seticon(R. drawable. ic launcher); mnul. setShow

8、AsAction(MenuItem. SHOW AS ACTION NEVER |MenuItem. SHOW AS ACTION WITH TEXT);)Menu Item mnu2 = menu. add(Of 1, 1,”軟件所有權”); mnu2. seticon(R. drawable, ic launcher);mnu2. setShowAsAction (MenuItem. SHOW AS ACTION NEVER |MenuItem. SHOW AS ACTION WITH TEXT);)Menu Item mnu3 = menu. add(0, 2, 2,"使用說明

9、");mnu3. seticon(R. drawable, ic launcher);mnu3. setShowAs/ction (MenuItem. SHOW AS ACTION NEVER |MenuItem. SHOW AS ACTION WITH一TEXT);)private boolean MenuChoice(MenuItem item)(switch (item, getltemld() case android. R. id. home:Toast. makeText(this,"You clicked on the Application icon&quo

10、t;,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;ca

11、se 1:Toast. makeText (this, ”軟件說明:二Toast. LENGTH LONG). show();new AlertDialog. Bui Ider (MyMii'rorGallery/ctivity. this).setTitle("軟件說明:").setMessage("軟件著作:*n適用圍:所有愛好美食的人n").setPositiveButton("確定",null).show();return true;case 2:Toast. makeText (this,"使用說明”,To

12、ast. LENGTH LONG). show();new AlertDialog. Builder(MyMii'rorGalleryActivity. this). setTitle("使用說明:w).setMessage("使用方法:n 1.選擇食物類型;n 2.查看食物n 3.選擇 心儀的菜品n").setPositiveButton("確定".null).show ();return true;)return false;)3. 2添加菜品public class AddFoodActivity extends Activity

13、 protected void onCreate(Bundle savedInstanceState) super. onCreate(savedlnstanceState);setContentView(R. layout. addfood);Spinner ();Button btn save=(Button) findViewByld(R. id. btn save);btn save. setOnClickListener(new OnClickListener() public void onClick(View v) / TODO Auto-generated method stu

14、bEditTexted i tText l_foodnanie= (Ed i tText)findViewById(R. id. editText1 foodname);/EditText spinnerl=(EditText) findViewById(R. id. spinnerl);Spinner spinnerGroup = (Spinner) findViewById(R. id. spinnerl);EditTexteditTextl_describe=(EditText)findViewById(R. id. editText1 describe);String foodname

15、=editText1 foodname. getText(). toStringO;/String editspinner1=spinner1. getText(). toStringO;StringclassificationspinnerGroup. getSelectedltemO. toStringO ;String describe=editText1 describe. getText(). toStringO;FoodMenu food=new FoodMenu(foodname, describe, classification);MenuService dbOpenHelpe

16、r=new MenuService(AddFoodActivity.this);dbOpenHelper. add(food);修改Intent i = new Intent(AddFoodActivity.this, MenuActivity.class);i.addFlags(Intent. FLAG ACTIVITY CLEAR TOP);startActivity(i);f inishO ;);)public boolean onCreateOptionsMenu(Menu menu) / Inflate the menu; this adds items to the action

17、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 wi11/ automatically handle clicks on the Home/Up button, so long/ as you specify a parent activity in /ndroid

18、Manifest. id = item. getltemldO ;if (id = R. id.action settings) return true;)return super. onOptions11emSe1ected(itern);)private void Spinner()分組Spinner填充Ai'rayList<String> group = new ArrayList<String>();group, add("粥品");group, add ("派和糕點");group, add(&q

19、uot;膨化食品");group, add("醬菜輔料");group, add("敢愛敢做");group, add ("餅干");創(chuàng)建適配器newArrayAdapter<St r i ng>adapterAn'ayAdapter<String>(this, R. layout. item spinner, R. id. item style,group);獲得控件對象Spinner groupSpinner = (Spinner) this.findViewById(R. id. spi

20、nnerl);設置spinner對象的數(shù)據(jù)適配器groupSpinner. setAdapter(adapter);groupSpinner. setPrompt ("食物分類");)3. 3菜譜顯示public class MenuActivity extends Activity(private ArrayList<CheckBox> checkBox = new ArrayList<CheckBox>();private boolean hasChecked;private ListView listView;private RatingBar

21、 ratBar;private android, widget. SimpleAdapter adapter;private List<Map<String, Object» listitems;private Integer imgid = R. drawable, pl,R. drawable. p2t R. drawable. p3,R. drawable. p4, R. drawable. p5,):private CheckBox check;Overrideprotected void onCreate(Bundle savedInstanceState) s

22、uper. onCreate(savedlnstanceState);去除標題/this. requestWindowFeature(Window. FEATURE NO TITLE);setContentView(R. layout, showfood);/Action Bar/XctionBar actionBar = getActionBar ();act ionBar. setDisplayllomeAsUpEnabled (true);actionBar. setDisplayShowHomeEnabled(true);actionBar. show(); /show it agai

23、n獲得搜索按鈕對象ImageButton searchbtn = (ImageButton) findViewById(R. id. searchbtn);/searchButton注冊監(jiān)聽事件searchbtn. setOnClickListener(new View. OnClickListener() (Overridepublic void onClick(View v) / TODO Auto-generated method stubEditTextsearchtext=(EditText)findViewById(R. id. editTextSearch);String nam

24、e = searchtext. getText (). toStringO ;MenuService ms = new MenuService(Menu.Activity. this);ArrayList<HashMap<String,Object» datal = newArrayList<HashMap<String,Object»();List<FoodMenu> list = ms. QueryAl IDataO ; for(FoodMenu foodmenu:list) foodmenu. getName(). toString

25、O :if (name, equals (foodmenu. getNameO. toStringO) HashMap<String,Object> foodMap = new HashMap<String,Object>();foodMap. put ("num”, foodmenu, getNumO );foodMap. put ("name,, foodmenu. getNameO);foodMap. put("classification”,foodmenu. getClassification();foodMap. put (&q

26、uot;describe”, foodmenu. getDescribeO);datal. add(foodMap); )inta=newintR. id. tvno, R. id. tvfoodname,R. id. tvclassif ication, R. id. bdetail);adapter=newandroid, widget. Simp 1 eAdaptei*(MenuActivity. this. getAppl icationContext (), datal, R. layout, list item2, new StringE"num","

27、name","classification"."describe", a);1istView=(ListView) findViewByld(R. id. 1istview);1istView. setTextFilterEnabled(true);/將1 istView控件和adapter綁定1istView. setAdapter (adapter);1istView. setOnltemClickListener(newAdapterView. OnltemClickListener() pubIic void onItemC1i ck(

28、AdapterV i ew<?> adapterView, Viewview,int position, long id) / TODO Auto-generated method stubHashMap<String,Object> itemMap = (HashMap<String,Object»adapterView. get ItemAtPosition(position);int num = (Integer) itemMap. get("nunT);String foodName = (String) itemMap. get(nf

29、oodNameH);String foodclassification = (String) i temMap. get (HfoodClassif icatoin1');String describe = (String) itemMap. get("describe");FoodMenu foodm = new FoodMenu();foodm. setNum(num);foodm. setName(foodName);foodm. setClassification(foodclassification);foodm. setDescribe(describe

30、);Intent intent = new Intent();intent. putExtra(Mfood", foodm);intent. setClass(MenuActivity. this,ShowInfoAct ivi ty. class);MenuActivity. this. startActivity(intent);););MenuService ms = new MenuService(this);查詢所有的菜品List<FoodMenu> list = ms. QueryAlIDataO ;創(chuàng)建一個ArrayList集合,用于存放擁有food信息的M

31、AP集合ArrayList<HashMap<String,Object»data=newArrayList<HashMap<String,Object»();for(FoodMenu foodmenu:list) HashMap<String,Object> foodMap = new HashMap<String,Object>();foodMap. put (,numn F foodmenu. getNumO);foodMap. put (w namen, foodmenu. getNameO);foodMap. put(

32、"classificationH,foodmenu. getClassification();foodMap. put ("describe", foodmenu. getDescribeO);data, add(foodMap);)inta=newintR. id. tvno, R. id. tvfoodname,R. id. tvclassif ication, R. id. bdetail);adapter = new android. widget. Simp!eAdapter(this. getApplicationContext(), data,R.

33、layout. Iist_item2fnewStringE num","name","classification","describe", a);1istView=(ListView) findViewByld(R. id. 1istview);1istView. setTextFiIterEnabled(true);將1 istView控件和adapter綁定1istView. setAdapter(adapter);1istView. setOnltemClickListener(new AdapterView. On

34、ltemClickListener() Override頁腳public void onltemClick(AdapterView<?> adapterView, View view, int position, long id) / TODO Auto-generated method stubHashMap<Stringt Object> i temMap = (HashMap<String, Object»adapterView. get ItemAtPosition(position);int num = (Integer) itemMap. g

35、et("num);String foodName = (String) itemMap. get(nfoodName");StringfoodClassification=(String)itemMap. get (nfoodClassif icatoin1');String describe = (String) itemMap. get(udescribeH);FoodMenu foodm = new FoodMenuO ;foodm. setNum(num);foodm. setName(foodName);foodm.setClassification(foodclassification);foodm. setDescribe(describe);Intent intent = new Intent();intent. putExtra

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論