栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Android Studio点餐项目

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android Studio点餐项目

 

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

文件结构

 

代码如下

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元
    查询菜品
    显示信息
    下一页

演示

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/571986.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号