Android Studio点餐项目

您所在的位置:网站首页 android开发简易app源文件 Android Studio点餐项目

Android Studio点餐项目

2023-10-19 02:16| 来源: 网络整理| 查看: 265

 

要求:拖动预算条能够显示价格,也能根据口味和价格查询菜品,点击下一页时提示菜品和用户名

文件结构

 

代码如下

MainActivity.java

package com.example.task1114; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.EditText; import android.widget.ImageView; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.SeekBar; import android.widget.Toast; import android.widget.ToggleButton; import com.example.task1114.model.Food; import com.example.task1114.model.Person; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { private Button task_searchbutton; private EditText task_edittext_name; private RadioGroup task_radiogroup; private RadioButton task_radiobutton_male,task_radiobutton_female; private CheckBox task_checkbox_sweet,task_checkbox_sour,task_checkbox_hot; private SeekBar task_seekbar; private ImageView task_imageview; private ToggleButton task_togglebutton; private List foodsList; private List foodsresult; private Person person; private boolean isHot; private boolean isSour; private boolean isSweet; private int price; private int CurrentIndex; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViews(); initDate(); setListenner(); } private void initDate() { foodsList = new ArrayList(); foodsList.add(new Food("桂林米线", 15, R.drawable.guilin, false, false, true)); foodsList.add(new Food("红烧肉", 40, R.drawable.hongshaorou, false, true, false)); foodsList.add(new Food("麻辣火锅", 95, R.drawable.malahuoguo, true, false, false)); foodsList.add(new Food("西芹", 20, R.drawable.xiqin, true, false, false)); foodsList.add(new Food("麻辣香锅", 70, R.drawable.malaxiangguo, true, false, false)); foodsList.add(new Food("水煮鱼", 45, R.drawable.shuizhuyu, true, false, false)); foodsList.add(new Food("清蒸鲈鱼", 50, R.drawable.qingzhengluyu, false, true, false)); foodsList.add(new Food("木须肉", 30, R.drawable.muxurou, true, false, false)); foodsList.add(new Food("酸辣汤", 35, R.drawable.suanlatang, true, false, true)); foodsList.add(new Food("酸菜牛肉面", 10, R.drawable.suncainiuroumian, true, false, true)); foodsList.add(new Food("娃娃菜", 25, R.drawable.wawacai, true, true, false)); person = new Person(); } private void findViews() { task_searchbutton = findViewById(R.id.task_searchbutton); task_edittext_name = findViewById(R.id.task_edittext_name); task_radiogroup = findViewById(R.id.task_radiogroup); task_radiobutton_male = findViewById(R.id.task_radiobutton_male); task_radiobutton_female = findViewById(R.id.task_radiobutton_female); task_checkbox_sweet = findViewById(R.id.task_checkbox_sweet); task_checkbox_sour = findViewById(R.id.task_checkbox_sour); task_checkbox_hot = findViewById(R.id.task_checkbox_hot); task_seekbar = findViewById(R.id.task_seekbar); task_imageview = findViewById(R.id.task_imageview); task_togglebutton = findViewById(R.id.task_togglebutton); } private void setListenner() { task_radiogroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup radioGroup, int i) { switch (i) { case R.id.task_radiobutton_male: person.setSex("男"); break; case R.id.task_radiobutton_female: person.setSex("女"); break; } } }); task_checkbox_hot.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean b) { isHot = b; } }); task_checkbox_sour.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean b) { isSour = b; } }); task_checkbox_sweet.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean b) { isSweet = b; } }); task_seekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int i, boolean b) { } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { price = task_seekbar.getProgress(); Toast.makeText(MainActivity.this, "价格:" + price, Toast.LENGTH_SHORT).show(); } }); task_searchbutton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { search(); } }); task_togglebutton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String input = task_edittext_name.getText().toString(); if(task_togglebutton.isChecked()){ // 下一个菜 CurrentIndex ++; if(CurrentIndex < foodsresult.size()){ task_imageview.setImageResource(foodsresult.get(CurrentIndex).getPic()); } else { Toast.makeText(MainActivity.this, "没有啦", Toast.LENGTH_SHORT).show(); } } else { // 显示信息:菜的名称 if(CurrentIndex < foodsresult.size()){ Toast.makeText(MainActivity.this, "菜名:" + foodsresult.get(CurrentIndex).getName()+";用户:"+input, Toast.LENGTH_SHORT).show(); } else { Toast.makeText(MainActivity.this, "没有啦", Toast.LENGTH_SHORT).show(); } } } }); // ? } private void search() { if (foodsresult == null) { foodsresult = new ArrayList(); } // 先清除之前的结果 foodsresult.clear(); // 当前显示的是结果中的第几个菜 CurrentIndex = 0; for (int index = 0; index < foodsList.size(); index++) { Food food = foodsList.get(index); if (food != null) { // 价格要小于设定的价格 // 是顾客选择的口味 if (food.getPrice() < price && (food.isHot() == isHot || food.isSweet() == isSweet || food.isSour() == isSour) ) { foodsresult.add(food); } } } // 先显示第一张图片 if (CurrentIndex < foodsresult.size()) { task_imageview.setImageResource(foodsresult.get(CurrentIndex).getPic()); } else { task_imageview.setImageResource(R.drawable.ic_launcher_foreground); } } }

Food.java

package com.example.task1114.model; public class Food { private String name; private int price; private int pic; private boolean hot; private boolean sweet; private boolean sour; public Food(String name, int price, int pic, boolean hot, boolean sweet, boolean sour) { this.name = name; this.price = price; this.pic = pic; this.hot = hot; this.sweet = sweet; this.sour = sour; } public Food() { } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } public int getPic() { return pic; } public void setPic(int pic) { this.pic = pic; } public boolean isHot() { return hot; } public void setHot(boolean hot) { this.hot = hot; } public boolean isSweet() { return sweet; } public void setSweet(boolean sweet) { this.sweet = sweet; } public boolean isSour() { return sour; } public void setSour(boolean sour) { this.sour = sour; } @Override public String toString() { return "Food{" + "name='" + name + '\'' + ", price=" + price + ", pic=" + pic + ", hot=" + hot + ", sweet=" + sweet + ", sour=" + sour + '}'; } }

Person.java

package com.example.task1114.model; public class Person { private String name; private String sex; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public Person(String name, String sex) { this.name = name; this.sex = sex; } public Person() { } @Override public String toString() { return "Person{" + "name='" + name + '\'' + ", sex='" + sex + '\'' + '}'; } }

布局文件activity_main.xml

values下的stringsxml  //老师说为了提高可用性还是啥来着,走这定义中文😃

task1114 选餐系统 姓名: 请输入用户名 性别: 男 女 喜好: 酸 甜 辣 预算: 0元 100元 查询菜品 显示信息 下一页

演示

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3