基于安卓技术的点餐系统的设计与实现

符合本系统的需求,所以本系统的数据库采用了MySQL。本设计一共使用了5个数据库表,每个表的详细设计结构:

管理员表(admins)

管理员表中包含这管理员的相关数据,其表结构详见表1:

表1 管理员表 序号 1 2 3 列名 id loginid passwords 数据类型 长度 标识 主键 允许空 int varchar varchar 11 255 255 是 是 否 是 是 说明 auto_increment 菜谱表(dishes) 菜谱表中存储着菜谱相关信息,其表结构详见表2:

表2 菜谱表

序号 1 2 3 4 5 6 7 8 9 10

列名 id title shopid typename intro img_url price amount burdennames burdens 数据类型 长度 标识 主键 允许空 int text int text text varchar double double varchar varchar 11 11 255 11 11 是 是 否 是 是 是 是 是 是 是 说明 auto_increment 标题 类型ID 类型名称 详细介绍 图片 价格 数量 原材料 原材料ID

订单表(orders) 订单表中存储着订单的所有数据,其表结构详见表3:

表3 订单表 序号 1 2 3 5 6 7 8 9 列名 id userid username status dishesid price amount createtime 数据类型 int int text int int double double varchar 标识 是 主键 是 允许空 否 是 是 是 是 是 是 是 说明 auto_increment 下单人 下单时间

食物分类表(shops) 食物分类表中存储着食物分类的相关信息,其表结构如表4所示:

表4 食物分类表

序号 1 2 列名 id name 数据类型 int text 长度 11 标识 是 主键 是 允许空 否 是 说明 auto_increment 类型名称

第 9 页 共 35 页

用户表(users)

用户表中存储着用户的相关数据,其表结构详见表5:

表5 用户表 序号 1 2 3 4 列名 id loginid name passwords 数据类型 长度 标识 主键 允许空 int varchar text varchar 11 255 255 是 是 否 是 是 是 说明 auto_increment 登录账号 姓名 密码 4.2 数据库ER图

E-R图是DOA(Data Orienteer Approach)的一种主要的设计方法,它的作用是处理对象的业务领域和系统的理想化样式,从概念数据模型到E-R Approach,根据实际的报表做出E-R图。E-R图有实体及其间的对应关系组成。

E-R图亦称为实体-联系图(Entity Relationship Diagram),提供了表示实体型、属性和联系的方法,能够表示现实世界的概念模型。 安卓点餐系统的E-R图详见7:

图7 系统E-R图

安卓点餐系统的物理数据详见图8:

第 10 页 共 35 页

图8 物理数据模型图

5系统详细设计与实现

5.1登录模块的实现

本系统使用前用户需要登录验证,在登录界面中,通过继承一个Activity来实现,界面上的控件用到了EditText、Button和CheckBox等等组件, EditText主要用来实现用户帐号和密码的输入。

登录过程中用户需要输入账号与密码,并且经由登录按钮来表达登录意图,意图表达完成,系统会经由HTTP的过程将帐号与密码发送到服务器端验证,并返回服务端的验证结果,如果验证正确那么提示使用者登录完成,然后自行转入主界面;如果错误,那么提示使用者登录失败。

该界面具有保存密码成功,假如使用者在登录时勾选了“保存密码”复选框,则下次再进入到本界面用户将不需要再次输入密码,而只需要点击登录按钮即可实现登录操作,记住密码的过程是通过Android平台提供的SharedPreferences来实现的。

当然如果用户还没有登录账号,则能够通过“注册”选项链接到用户注册界面,从而注册一个新号码;

使用者登录过程图详见图9,展示了使用者登录功能的操作过程和系统处理

第 11 页 共 35 页

过程。

图9登录界面流程图

具体的实现效果如图9所示:

图9 登录界面

第 12 页 共 35 页

联系客服:779662525#qq.com(#替换为@)