首页 > 编程语言 >安卓APP源码和设计报告(含PPT)——订餐系统

安卓APP源码和设计报告(含PPT)——订餐系统

时间:2022-12-11 13:00:44浏览次数:65  
标签:java String int 安卓 private 购物车 源码 订餐 public

安卓APP源码和设计报告(含PPT)——订餐系统_java

安卓APP源码和设计报告(含PPT)——订餐系统_封装_02

安卓APP源码和设计报告(含PPT)——订餐系统_数据_03

安卓APP源码和设计报告(含PPT)——订餐系统_java_04

安卓APP源码和设计报告(含PPT)——订餐系统_封装_05

安卓APP源码和设计报告(含PPT)——订餐系统_数据_06

安卓APP源码和设计报告(含PPT)——订餐系统_数据_07

安卓APP源码和设计报告(含PPT)——订餐系统_封装_08

安卓APP源码和设计报告(含PPT)——订餐系统_订餐系统_09

安卓APP源码和设计报告(含PPT)——订餐系统_java_10

安卓APP源码和设计报告(含PPT)——订餐系统_数据_11

安卓APP源码和设计报告(含PPT)——订餐系统_封装_12

安卓APP源码和设计报告(含PPT)——订餐系统_java_13

安卓APP源码和设计报告(含PPT)——订餐系统_封装_14

安卓APP源码和设计报告(含PPT)——订餐系统_订餐系统_15

安卓APP源码和设计报告(含PPT)——订餐系统_数据_16

安卓APP源码和设计报告(含PPT)——订餐系统_封装_17

安卓APP源码和设计报告(含PPT)——订餐系统_java_18

安卓APP源码和设计报告(含PPT)——订餐系统_封装_19

安卓APP源码和设计报告(含PPT)——订餐系统_java_20

安卓APP源码和设计报告(含PPT)——订餐系统_订餐系统_21

订餐系统实验报告

课程名称: Android程序设计

班 级:

学 号:

姓 名:

任课教师:


  1. 程序功能与环境(服务器,手机实物照片,自己拍)
  1. 程序功能
  1. 餐厅订餐系统服务器,提供订餐服务
  2. 餐厅订餐系统客户端,用户用来提交订单


  1. 环境
  1. 带有tomcat服务器的PC机一台,发布订餐服务支持
  2. 安卓手机一部,测试客户端
  3. 局域网环境,用来测试程序功能



  1. MVC架构用例,类图,(类图可以将文档页面放大了看)

安卓APP源码和设计报告(含PPT)——订餐系统_java_22


安卓APP源码和设计报告(含PPT)——订餐系统_封装_23

安卓APP源码和设计报告(含PPT)——订餐系统_java_24

  1. 数据与设计
  1. food.test.domain
  1. Food.java
    此类用于封装用户购买菜品的信息
    public int foodId; //菜品编号
    public String foodName; //菜品名称
    public float foodPrice; //菜品价格
    public int foodType; //菜品类型
    public String foodDescri; //菜品描述
    public String foodImage; //菜品图片——暂定为String类型用于存储图片名


  1. food.test.hyl
  1. OrderListActivity.java
    此类为用户填写订购信息的Activity,用来处理订购信息,与用户进行交互,是连接用户和服务器的桥梁
    protected void onCreate(Bundle); //创建activity
    在onCreate函数中定义了两个按钮,并设置了监听函数:
    bsubmit.setOnClickListener(new OnClickListener() {//提交清单按钮被按下
    public void onClick(View v) {} //按钮被按下时触发
    private void callPost(Object[][] foods, String address,
    String email, String telephone, String suggest,String userId,String userName) {}//创建post方法,用来像服务端发送post请求
    };
    bcancel.setOnClickListener(new OnClickListener() {//取消按钮被按下。
    //用intent调用返回购物车界面
    Intent intent = new Intent(OrderListActivity.this,ShopCartShowAll.class);
    startActivity(intent);
    });
    protected Dialog onCreateDialog(int id); //创建对话框,用来显示用户提交信息的状态
    void onResume();//在视图按home键退出后,然后恢复时调用


  1. food.test.ld
  1. ActivityComment.java
    此Activity是用来给用户填写对菜品的评论信息的,并提交到服务器
    设置了两个按钮bdone和brevert并设置监听,被点击时触发
    Bdone,提交信息
    Brever,重写信息
  2. ActivityMainInterface.java
    此类创建了选择菜单,用来选择对菜品进行评论
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {}//创建选择菜单
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {}//菜单项被点击时调用
  3. ActivityRegister.java
    此Activity类用来进行用户注册
    bdone.setOnClickListener(new OnClickListener();设置用户信息完成时提交信息按钮监听
    在public void onClick(View v);中测试用户名及密码是否为空,为空时给出提示,并判断两次输入的密码是否相同
    ,并设置相同时跳转到用户登录界面即主界面
  4. OrderFoodLogin.java
    此类用于用户登录,并将用户信息提交到服务器进行匹配,并提示登录信息
    方法与上面的类似
    mp = new MediaPlayer();//播放音乐
    接下来的几个函数用来控制播放音乐


  1. food.test.sfp
  1. UserLogin.java
    此类用来创建显示用户登录状态的对话框,并通过toast给出登录状态信息
    private Dialog createLoginDialog(Context context){}//创建登录对话框
    @Override
    protected Dialog onCreateDialog(int id); //重写创建对话框函数


  1. food.test.util
  1. DButil.java
    此类为数据库工具类,用于对数据库的操作
    public DButil(Context context);//DButil的构造函数
    private void init();//数据库初始化函数
    public long addFood(ShopCart food); // 新增一条购买商品记录
    public Cursor getAllCartCursor();//查询所有的游标
    public ArrayList getAllShopCart();//得到购物车表里的所有数据
    public ArrayList<ShopCart> getFoodFromCart();//返回所有shopCart类型的ArrayList
    public int ModifyShopcart(int foodId,int foodnum,float foodsumprices ); //修改购物车中所有的数据
    public int deleteAllShopcart();//删除购物车中所有的数据
    public int deleteFood(String whereparam); //删除不需要的商品
    public ShopCart findFood(int foodid); //查找需要的商品
    public SQLiteDatabase getDB();//获取数据库连接
    public void close();//关闭数据库
    class MySQLiteHelper extends SQLiteOpenHelper{};//内部类,创建数据库辅助类
  2. HttpCallUtil.java
    此类封装了HTTP的连接
    public String getConntionPost(String url, String name,String psw,List data);// post请求
    public List putParam(List data);// 传递给服务端的数据,用Map进行封装
    public String getConntionGet(String url);// get请求
    public void getConntionImage(String url,ImageView iv);// 取得图片
  3. Util.java
    此类为工具类
    public Adapter initAdapter(Context context,ArrayList list,Cursor cur,int layout,String[] from,int[] to);// 实例化不同的适配器


  1. food.test.wjf
  1. ModifyListCart.java
    此类用于修改购物车中的信息,比如订购的数量等
    Intent intent = getIntent(); //获取从购物车中传过来的信息
    foodid = intent.getIntExtra("foodid", 0); //拿到购物车中传过来的食品编号 foodID
    foodname = intent.getStringExtra("foodname");//拿到购物车中传过来的食品名称foodname
    foodnum=intent.getIntExtra("foodnum", 1); //拿到购物车中传过来的食品订购数量
    foodprice = intent.getFloatExtra("foodprice", 1.0f); //拿到购物车中传过来的食品单价foodpricce
    bmodify.setOnClickListener(new OnClickListener() {//设置修改按钮监听函数,设置当按钮被点击时修改食品的订购信息,并返回到购物车
    db.ModifyShopcart(foodid, foodnum, sumfoodprices); //对购物车中的食品进行修改
    Intent intent = new Intent(ModifyListCart.this, ShopCartShowAll.class);// //回到购物车界面
    startActivity(intent);
  2. ShopCart.java
    定义一个购物车的类,封装购物车的信息
    private int foodId;// 商品id
    private String foodName;// 商品名称
    private float foodPrice;// 商品单价
    private int foodNum;// 商品数量
    private float sumPrices;// 商品金额
    private int image;// 商品图片
    下面为每个变量设置set和get方法
  3. ShopCartAdd.java
    此类用于添加购物车,并设置跳转到购物车界面
  4. ShopCartShowAll.java
    此类用来显示购物车中的所有食品,并对食品进行增删操作
    db=new DButil(this); //初始化数据库
    shopcur=db.getAllCartCursor();//获得购物车中所有的游标
    shopcartList=db.getAllShopCart();//获取数据库中所有的数据
    for(int i=0;i<shopcartList.size();i++){
    food=(HashMap) shopcartList.get(i);
    Float prices= (Float) food.get("foodsumprices");
    //得到所有餐品总的金额
    totalprices+=prices;
    }
    private Dialog builder1(Context ctx) ;//创建修改,删除对话框,设置按钮监听
    private Dialog builder2(Context ctx);//创建确认删除对话框
    public boolean onCreateOptionsMenu(Menu menu);创建菜单功能,按菜单键弹出
    public boolean onOptionsItemSelected(MenuItem item);选择菜单项时触发
  5. ShowListCart.java
    显示购物车列表


  1. food.test.zqz
  1. util
  1. FoodType.java
    默认为“肉食”FOOD_MEAT类
  2. GetNetWorkData.java
    从服务器获取有关主界面的所有数据
    public final static StringBuffer getConnectionPost(String url,
    HashMap<String, String> params);// url服务器端的URI地址, params发给服务端的请求参数,以键值对的形式封装名字和对应的值,其中params的名字键位应该跟服务端保持一致
    public final static ArrayList<Food> decodeResponseData(String sb);// 对服务器端的响应数据进行“解码”, sb服务器端的响应数据
    public static ArrayList<Food> decode(ArrayList<Food> resData, String itemStr);// 对图片的接收
    public static ArrayList<String> getAllFoodBitmapUrl(int foodType, String location, ArrayList<Food> foods);// return 对应菜品类型所有资源的URL的字符串
    public static String getAssignedFoodBitmapUrl(String location,String foodImage);// 获取指定资源的具体位置
    public static void setAssignedFoodBimapView(String url, ImageView foodImageView);//设置foodImageView视图


  1. ActivityShowFoodByType.java
    public Food selectedFood = new Food();// 用户在界面上选中的所有商品信息
    private ArrayList<Food> getServerFoodInfoByType(int flagType);// 根据菜品类型,获取服务器端的菜品信息
    private void prepareView();//准备显示在界面的数据
    public boolean onCreateOptionsMenu(Menu menu);// 添加功能Menu键
    public boolean onOptionsItemSelected(MenuItem item);// 监听用户选中事件
    private float getTotalMoney(float price, int number);// 计算(可能含小数位)总金额
    public final class ViewHolder{}// Bean对象,用来封装GridView中的一个数据
    public View getView(int position, View convertView, ViewGroup parent);// // 返回某一条数据的视图
  2. AndroidFoodMain.java
    此类用于在食品种类之间进行切换,包括肉食类,素食类,鲜汤类
  3. FoodDetail.java
    此类用于存放菜品的详细信息
    protected void onCreate(Bundle savedInstanceState);//创建Activity
    public String foodTypeTransform(int type);//获取食品的类型



  1. 运行逻辑 (给出几个时序图,运行画面)
  1. 注册
    4.1.1注册时序图

安卓APP源码和设计报告(含PPT)——订餐系统_java_25

4.1.2 注册运行画面

安卓APP源码和设计报告(含PPT)——订餐系统_封装_26


安卓APP源码和设计报告(含PPT)——订餐系统_java_27

  1. 登录
  1. 登录时序图

安卓APP源码和设计报告(含PPT)——订餐系统_java_28

  1. 登录运行画面

安卓APP源码和设计报告(含PPT)——订餐系统_数据_29


安卓APP源码和设计报告(含PPT)——订餐系统_数据_30


  1. 订餐
  1. 订餐时序图

安卓APP源码和设计报告(含PPT)——订餐系统_数据_31


安卓APP源码和设计报告(含PPT)——订餐系统_java_32

  1. 订餐运行画面

安卓APP源码和设计报告(含PPT)——订餐系统_java_33

安卓APP源码和设计报告(含PPT)——订餐系统_java_34


安卓APP源码和设计报告(含PPT)——订餐系统_封装_35

安卓APP源码和设计报告(含PPT)——订餐系统_封装_36


安卓APP源码和设计报告(含PPT)——订餐系统_订餐系统_37

安卓APP源码和设计报告(含PPT)——订餐系统_封装_38


安卓APP源码和设计报告(含PPT)——订餐系统_封装_39


安卓APP源码和设计报告(含PPT)——订餐系统_订餐系统_40


安卓APP源码和设计报告(含PPT)——订餐系统_订餐系统_41


安卓APP源码和设计报告(含PPT)——订餐系统_订餐系统_42



  1. 测试 功能,monkey测试
  1. 基本功能测试
    上面的运行逻辑中已经给出基本运行效果,及功能演示,基本功能通过
  2. Monkey测试
  1. 通过eclipse启动一个Android的emulator
  2. 在命令行中输入:adb devices查看设备连接情况

安卓APP源码和设计报告(含PPT)——订餐系统_java_43

  1. 在有设备连接的前提下,在命令行中输入:adb shell 进入shell界面

安卓APP源码和设计报告(含PPT)——订餐系统_订餐系统_44

  1. 测试food.test程序
    #monkey -p food.test -v 20

安卓APP源码和设计报告(含PPT)——订餐系统_java_45



  1. 改进的可能性

界面显示效果,加入记录用户数据实现自动登录

标签:java,String,int,安卓,private,购物车,源码,订餐,public
From: https://blog.51cto.com/u_15681752/5928263

相关文章