前段时间练手做了个简单的食堂管理系统,针对用户的不同分为了两个模块:食堂管理者模块和普通用户模块。
食堂管理者模块功能:1、上传 2、删除 3、上架
用户模块功能:1、查看菜品(全部/只看上架) 2、评论/查看评论
目前还只能本地使用,数据库也是安卓自带的SQL数据库,并没有实现联网功能,数据库也没有放在服务器上,日后有空再完善。
软件使用Android Studio编写,使用的开源包有Litepal和compressor。
compressor:图片压缩 链接: https://github.com/zetbaitsu
litepal:Sqlite数据库管理工具,很方便 链接: https://blog.youkuaiyun.com/guolin_blog/article/details/53759439
一、整体结构
下边的module是一些小demo,根据名字就可以看出来是对各种组件的实验和测试。
二、结构分析
(1)LitePal采取的是对象关系映射(ORM)的模式,将面向对象的语言和面向关系的数据库之间建立一种映射关系,这就是对象关系映射了。它允许我们使用面向对象的方式来操作数据库,从而可以从晦涩难懂的SQL语言中解脱出来
在本项目中,通过Litepal映射的数据类如下:
User、Dishes、Comment
分别为用户、菜品、评价,具体数据和含义可以之间去看代码中的注释。
(2)CommentAdapter和DishesAdapter分别是通过ListView显示评论和菜品列表的适配器
(3)其它都为Activity的类
三、注意事项
(1)使用Litepal提前配置,并写好关联表的数据类,将这些类咋litepal.xml中配置,具体见:
https://blog.youkuaiyun.com/guolin_blog/article/details/38556989
(2)本人新手,此项目主要用来练手,有各种各样的缺陷和不足,如有兴趣欢迎指出;如有疑问欢迎提出,不保证第一时间看到
四、各部分详细内容
具体各各种功能和模块我会有空时分开写出来:
1、用户的登录与注册:https://blog.youkuaiyun.com/qq_41566159/article/details/88913403
2、数据类和litepal使用中一些需要注意的细节:https://blog.youkuaiyun.com/qq_41566159/article/details/88917701
3、食堂管理者界面:https://blog.youkuaiyun.com/qq_41566159/article/details/88918001
4、食堂管理之菜品上传(图片压缩上传):https://blog.youkuaiyun.com/qq_41566159/article/details/88919389
5、食堂管理之删除菜品(checkBox和ListView结合并实现长按触发):https://blog.youkuaiyun.com/qq_41566159/article/details/88930004
6、食堂管理之上架管理(使用Switch组件选择上下架菜品):https://blog.youkuaiyun.com/qq_41566159/article/details/88930595
7、食堂管理之顾客界面(查看不同食堂的菜品:ListView、下拉菜单Spinner:
https://blog.youkuaiyun.com/qq_41566159/article/details/100630668
8、食堂管理之菜品详细信息界面(可添加评论;ListView):https://blog.youkuaiyun.com/qq_41566159/article/details/100631005
9、食堂管理之菜品评价:https://blog.youkuaiyun.com/qq_41566159/article/details/100631579
源代码:https://download.youkuaiyun.com/download/qq_41566159/11074664