Android Studio实现功能丰富的仓库管理系统
项目目录
- 一、项目概述
- 二、开发环境
- 三、项目结构
- 四、数据库文件
- 五、项目演示
- 六、源码获取
一、项目概述
本次项目实现了一个简单的仓库管理系统。用户身份分为超级管理员、出入库人员和商品管理员这三种角色。首先进行超级管理员的注册,然后登录超级管理员的账号和密码,进入主页之后进行添加用户,超级管理员可以添加和查询其他两种用户角色。用超级管理员创建好的用户账号和密码登录,会有不同的权限。如果是商品管理员,可以对商品进行添加和查询功能。如果是出入库人员,可以对商品进行入库、出库功能。项目结构很清晰,逻辑通俗易懂,代码注释非常详细。
主要功能包含欢迎、注册、登录、用户及商品操作等十多个界面,ListView列表,SqlLite数据库的增删改查、下拉框、intent传值等。
二、开发环境
Android Studio的版本只要在3.6.1及以上都行,配置5.6.4的gradle就可以
三、项目结构
结构很清晰,一共五个package,我们从下往上介绍:
- entity是实体类 ,包含商品类和用户类
- database是数据库,包含DBHelper数据库操作类
- app是应用,包含欢迎、注册和登录三大Activity
- adapter是适配器,在设置列表内容时,需要加载对应的用户或者商品适配器
- activity是项目主要的activity,用户列表、查询、插入和删除等,商品类似
四、数据库文件
在database包底下的这个类就是数据库的类
首先是对数据库名称和版本号的说明,然后是数据库的字段名,最后是数据库的表名。
这里只建了两张表:
一张是用户表user,有用户名uername、密码password和权限power三个字段;
一张是商品表goods,有商品编号id,商品名称goods_name和商品数量amount三个字段。
private static final String DATABASE_NAME = "storemanager.db";private static final int VERSION = 1;//数据库字段名private static final String KY_USERNAME = "username";private static final String KY_PASSWORD = "password";private static final String KY_POWER = "power";//权限:商品管理员/出入库员private static final String KY_ID = "id";//商品编号private static final String KY_GOODSNAME = "goods_name";private static final String KY_AMOUNT = "amount";//商品数量//数据库表名private static final String TABLE_USER = "user";private static final String TABLE_GOODS = "goods";SQLiteDatabase db;
接着在onCreate方法中写建表语句并执行,这样两张表就创建完成了。
public void onCreate(SQLiteDatabase db) {//创建用户表final String createUser = "create table " + TABLE_USER + "(" + KY_USERNAME + " text primary key,"+ KY_PASSWORD + " text not null,"+ KY_POWER + " text not null);";System.out.println(createUser);db.execSQL(createUser);//创建商品表final String createGoods = "create table " + TABLE_GOODS + "(" + KY_ID + " integer primary key autoincrement,"+ KY_GOODSNAME + " text,"+ KY_AMOUNT + " integer);";System.out.println(createGoods);db.execSQL(createGoods);}
然后下面就是增删改查的逻辑了,数据库说白了就是增insert,删delete,改update,查select。这里具体实现可以看Android基础教程里面的数据库那一章,创建db其实是最复杂的一种数据存储。
//通过用户名查询用户信息public User searchUser(String username) {Cursor cursor = db.query(TABLE_USER, new String[]{KY_USERNAME, KY_PASSWORD, KY_POWER}, KY_USERNAME + "=?", new String[]{username}, null, null, null);User u = new User();if (cursor.moveToFirst()) {u.setUsername(cursor.getString(0));u.setPassword(cursor.getString(1));u.setPower(cursor.getInt(2));}return u;}
成功运行项目后,在Android Studio的右侧打开Device File Explore,找到data目录。
打开data目录下面的data目录,找到我们的包名,如下所示,然后展开看到warehouse.db这个文件,它就是我们要找的数据库文件,warehouse.db-journal是日志文件不用管。
将db文件右击保存到本地,再用数据库的工具SQL Server、SQLite或者Navicat等等打开,就可以看到数据表中的内容了。
五、项目演示
Android Studio实现功能丰富的仓库管理系统
六、源码获取
点此链接下载源码:
Android Studio实现功能丰富的仓库管理系统相关推荐
- 一个简单、功能完整的开源WMS仓库管理系统
今天给大家推荐一个简单.功能完整的仓库管理系统. 项目简介 这是基于.NetCore 7.Vue 3开发的开源项目,支持中英文,界面简单清爽,采用前后端分离架构. 该项目主要是针对小型物流仓储供应链流 ...
- 一个简单、功能完整的WMS仓库管理系统
今天给大家推荐一个简单.功能完整的仓库管理系统. 项目简介 这是基于.NetCore 7.Vue 3开发的开源项目,支持中英文,界面简单清爽,采用前后端分离架构. 该项目主要是针对小型物流仓储供应链流 ...
- Android 大作业,仓库管理系统
最近有一个同学找我写一个Android 的仓库管理系统,功能上就是仓库的增删改查操作,数据库使用的是本地数据库 应用介绍 这是一个用于管理仓库的Android应用,它可以帮助用户轻松地管理他们的仓库存 ...
- android代码查找快捷键是什么,Android Studio搜索功能(查找功能)及快捷键图文详解(示例代码)...
1.在当前窗口查找文本[Ctrl+F] F3 向下查找关键字出现位置 Shift+F3 向上一个关键字出现位置 2.在当前工程内查找文本[Ctrl+Shift+F] 先会弹出一个对话框,直接点击[fi ...
- Android Studio多功能闹钟[android源码]
Android Studio多功能闹钟[android源码] 多功能闹钟App 简 介 主 要 技 术 界面截图 主要代码 源码链接 作者信息 多功能闹钟App 简 介 此多功能闹钟界面采用TabHo ...
- python wms系统源码_jeewms仓库管理系统 v2.4.0
jeewms是一个基于JAVA的仓库管理系统,是由灵鹿谷科技主导的开源项目,WMS在经过多家公司上线运行后,为了降低物流仓储企业的信息化成本,决定全面开源此产品.针对有特殊信息化需求的企业,提供高性价 ...
- 汇总WMS-开源仓库管理系统
文章目录 OpenWMS GreaterWMS 模块功能 KopSoftWms 功能模块: 技术栈: OpenBoxes 依赖项 OpenWMS OpenWMS.org 是一个用于构建现代仓库管理系统 ...
- web图书销售管理系统_开源ASP.NET MVC+Bootstrap的仓库管理系统
随着计算机技术的快速发展,当前很多企业的仓库资料数据都已经采用信息系统进行管理,它们有些使用功能强大的ERP系统.有些使用专门的仓库管理系统对数据进行管理. 那究竟什么是仓库管理系统?仓库管理系统又有 ...
- 甲骨文宣布供应链管理云平台支持LogFire仓库管理系统
本文讲的是 :甲骨文宣布供应链管理云平台支持LogFire仓库管理系统 ,[IT168 资讯]甲骨文发布了一系列对其供应链管理产品的更新,并表示,云平台现在支持去年收购LogFire的仓库管理系 ...
最新文章
- 如何用html构建ios应用,使用HTML5构建iOS原生APP
- oracle虚读,oracle基础 - 若虚夜的个人空间 - OSCHINA - 中文开源技术交流社区
- @Transactional注解导致 多数据源@DS无效 的解决方案
- php width,canvas定义width、height的正确用法
- 21岁还可以学php开发吗,PHP已经21岁了!
- 十进制转任意进制-数论
- 吴恩达深度学习5.1练习_Sequence Models_Building a RNN Step by Step
- 【EXLIBRIS】图洛克《收入再分配的经济学》中译本序 【ZZ】
- java被oracle收购,sun被oracle收购了,openoffice和virtualbox会不会死?
- 查询ORACLE数据库操作记录
- Terminate Instance 操作详解 - 每天5分钟玩转 OpenStack(33)
- android RelativeLayout 动态添加子View
- java结合opencv进行照片人脸检测
- 作为项目经理如何做好项目进度管理
- cfar(Constant False-Alarm Rate)
- openGauss数据库源码解析系列文章——存储引擎源码解析(一)
- Docker和Jenkins构建项目总结
- 推荐几个检索论文及代码的网站
- HDU - 2121 Ice_cream’s world II(朱刘算法+虚根)
- httpServer / proxyServer / nginx 1.7.9