基于Android订餐系统程序开发和设计

详细设计

3.1  系统功能模块流程图

本系统的功能模块流程图以用户为中心,首先展示了用户注册与登录模块,确保用户能够安全便捷地进入系统。接着,用户可进入浏览菜单模块,轻松查看并选择心仪的菜品。随后,系统引导用户进入在线订餐模块,用户可将所选菜品加入购物车并提交订单,系统即时处理订单信息。订单完成后,用户可在订单管理模块中查看订单状态、取消订单或进行评价。此外,用户还能在个人信息管理模块中查看和修改个人信息。整个流程设计流畅,操作简便,旨在为用户提供优质的订餐体验。

对于系统管理员而言,本系统也提供了丰富的管理功能。管理员通过管理员功能模块,可以全面查看和管理用户信息,确保用户数据的安全性和完整性。同时,管理员还可以对菜品信息进行管理,包括添加、删除、修改等操作,以适应市场的变化和用户需求的变化。此外,订单管理模块也允许管理员对订单进行审核、处理等操作,确保订单流程的顺畅进行。这些管理功能的设计,旨在帮助管理员更好地维护系统的稳定性和高效性,为系统管理和用户提供更好的服务

3.2  本节小结

手机网上订餐系统通过流畅的功能模块流程图,为用户提供了从注册登录、浏览菜单、在线订餐到订单管理、个人信息修改的完整流程,同时赋予管理员全面管理用户、菜品和订单的能力,旨在为用户提供优质、便捷的订餐体验,确保系统的稳定高效运行。

代码实现

4.1  系统功能模块代码

Fragment结构分析

在普通手机开发的过程中,使用Fragment能实现一个界面的多次使用,能加快效率。Fragment可以被认为是Activity界面的一个布局,其依赖于Activity,但是拥有自己的活动事件与生命周期。可以通过替换Activity中的Fragment实现界面的优化处理。

在<fragment>元素中的android:name属性指定了在布局中要实例化的Fragment。当系统创建这个Activity布局时,它实例化在布局中指定的每一个Fragment,并且分别调用onCreateView(),来获取每个Fragment的布局。然后系统会在Activity布局中插入通过<fragment>元素中声明直接返回的视图。

4.2 登陆注册界面的实现

 Button,TextView,TextEdit,ImageView,RatioButton,scrollview等基本控件的使用;多个Activities之间的切换;使用Android本地数据库来管理用户信息。

设置整个RelativeLayout的内边距为20dp,给界面留白。让编辑框的左边对齐到父控件的左边,右边对齐到父控件的右边,将passwordView放到usernameView的下面,以保证二者的相对位置不变。

主布局为垂直布局,第一个TextView控件布置,显示“用户注册”字样,第一个LinearLayout控件,包含一个TextView控件和EditView控件,用于提醒用户输入和获取账号信息

4.3 fragment首页界面

Fragment_home.xml布局文件添加控件ImageView,EditText,match parent, 父布局来决定当前控件的大小 wrap parent控件内容决定当前控件的大小android:background修改背景图片,界面美观整洁。

4.4 fragment点界面

Fragment_snack.xml中LinearLayout线性布局,添加控件ImageView,TextView,Button,插入图片,添加文字,按钮的组件互通

4.5 fragment购物车下单界面

  public void onClick(View v) {

        Orders order = new Orders(account,fruit.getTitle(),"S"+ System.currentTimeMillis(),account,sf.format(new Date()));

        order.save();

        Toast.makeText(mActivity,"点餐成功", Toast.LENGTH_SHORT).show();

        btnCollect.setVisibility(View.GONE);

        btnCancel.setVisibility(View.VISIBLE);

    }

});

//取消收藏

btnCancel.setOnClickListener(new View.OnClickListener() {

    @Override

    public void onClick(View v) {

        Orders order = DataSupport.where("account = ? and title = ?",account,fruit.getTitle()).findFirst(Orders.class);

        order.delete();

        Toast.makeText(mActivity,"取消成功", Toast.LENGTH_SHORT).show();

        btnCollect.setVisibility(View.VISIBLE);

        btnCancel.setVisibility(View.GONE);

4.6 fragment我的界面

ScollViiew布局控件设置滚动条,线性布局textview控件编写:我的订单、待付款、待评价、退款,EditText用户和应用的传输数据进行修改地址,checkbox:复选框添加备注,radioggroup存放着Radiobutton控件。LinearLayout线性布局,添加多个button按钮layout_width,textColor,background,layout_height布局高度、宽度、文本颜色,背景。

4.7 点击事件功能跳转

<Button//按钮添加
    android:text="设置"//文本名称
    android:id="@+id/my_btn6"//id为btn的控件索引
创建一个我的myFragement的classl类的java文件extends Fragment子类继承父类.
onCreateView()fragment创建frag对应视图
Inflate加载layout布局文件fragment_my
findViewById (R.id.my_btn6); 引用.R文件里的引用名
setOnClickListener添加一个点击事件监听器
onClick{intent组件互通跳转activity .java界面
startActivity(intent);启动

4.8 搜索框的实现

整个布局使用的是线性布局,搜索框又是一个线性布局(里面包含一个相对布局和一个TextView,相对布局里面有一个EditText和ImageVIew),搜索框其实就是一个EditText,

public void onClick(View v) {

              //如果输入框内容为空,提示请输入搜索内容

ToastUtils.showToast(context,"输入查询关键字");

}else {//判断cursor是否为空

                    if (cursor != null) {

                     int columnCount = cursor.getCount();

                      if (columnCount == 0) {

ToastUtils.showToast(context, "对不起,没有你要搜索的内容");

private void showListView() {

        mListView.setVisibility(View.VISIBLE); //获得输入的内容

        String str = mEditText.getText().toString().trim();

        //获取数据库对象

4.9 数据存储

id initAdapter() {

        // 获取数据库数据

        List<Order> orders = OrderDao.findAllByUsername(MyApplication.getUser().getUsername());

        OrderAdapter adapter = new OrderAdapter(orders);

        // 设置空布局

        adapter.setEmptyView(getEmptyView());

        orderRecyclerView.setAdapter(adapter);

    }

    public View getEmptyView() {

        return getLayoutInflater().inflate(R.layout.empty_order_view, orderRecyclerView, false);

    }

}

  • 29
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值