项目目录

  • 一、项目概述
  • 二、开发环境
  • 三、项目结构
  • 四、数据库文件
  • 五、项目演示
  • 六、源码获取

一、项目概述

本次项目实现了一个简单的仓库管理系统。用户身份分为超级管理员、出入库人员和商品管理员这三种角色。首先进行超级管理员的注册,然后登录超级管理员的账号和密码,进入主页之后进行添加用户,超级管理员可以添加和查询其他两种用户角色。用超级管理员创建好的用户账号和密码登录,会有不同的权限。如果是商品管理员,可以对商品进行添加和查询功能。如果是出入库人员,可以对商品进行入库、出库功能。项目结构很清晰,逻辑通俗易懂,代码注释非常详细。

主要功能包含欢迎、注册、登录、用户及商品操作等十多个界面,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实现功能丰富的仓库管理系统相关推荐

  1. 一个简单、功能完整的开源WMS​仓库管理系统

    今天给大家推荐一个简单.功能完整的仓库管理系统. 项目简介 这是基于.NetCore 7.Vue 3开发的开源项目,支持中英文,界面简单清爽,采用前后端分离架构. 该项目主要是针对小型物流仓储供应链流 ...

  2. 一个简单、功能完整的WMS​仓库管理系统

    今天给大家推荐一个简单.功能完整的仓库管理系统. 项目简介 这是基于.NetCore 7.Vue 3开发的开源项目,支持中英文,界面简单清爽,采用前后端分离架构. 该项目主要是针对小型物流仓储供应链流 ...

  3. Android 大作业,仓库管理系统

    最近有一个同学找我写一个Android 的仓库管理系统,功能上就是仓库的增删改查操作,数据库使用的是本地数据库 应用介绍 这是一个用于管理仓库的Android应用,它可以帮助用户轻松地管理他们的仓库存 ...

  4. android代码查找快捷键是什么,Android Studio搜索功能(查找功能)及快捷键图文详解(示例代码)...

    1.在当前窗口查找文本[Ctrl+F] F3 向下查找关键字出现位置 Shift+F3 向上一个关键字出现位置 2.在当前工程内查找文本[Ctrl+Shift+F] 先会弹出一个对话框,直接点击[fi ...

  5. Android Studio多功能闹钟[android源码]

    Android Studio多功能闹钟[android源码] 多功能闹钟App 简 介 主 要 技 术 界面截图 主要代码 源码链接 作者信息 多功能闹钟App 简 介 此多功能闹钟界面采用TabHo ...

  6. python wms系统源码_jeewms仓库管理系统 v2.4.0

    jeewms是一个基于JAVA的仓库管理系统,是由灵鹿谷科技主导的开源项目,WMS在经过多家公司上线运行后,为了降低物流仓储企业的信息化成本,决定全面开源此产品.针对有特殊信息化需求的企业,提供高性价 ...

  7. 汇总WMS-开源仓库管理系统

    文章目录 OpenWMS GreaterWMS 模块功能 KopSoftWms 功能模块: 技术栈: OpenBoxes 依赖项 OpenWMS OpenWMS.org 是一个用于构建现代仓库管理系统 ...

  8. web图书销售管理系统_开源ASP.NET MVC+Bootstrap的仓库管理系统

    随着计算机技术的快速发展,当前很多企业的仓库资料数据都已经采用信息系统进行管理,它们有些使用功能强大的ERP系统.有些使用专门的仓库管理系统对数据进行管理. 那究竟什么是仓库管理系统?仓库管理系统又有 ...

  9. 甲骨文宣布供应链管理云平台支持LogFire仓库管理系统

    本文讲的是 :甲骨文宣布供应链管理云平台支持LogFire仓库管理系统    ,[IT168 资讯]甲骨文发布了一系列对其供应链管理产品的更新,并表示,云平台现在支持去年收购LogFire的仓库管理系 ...

最新文章

  1. 如何用html构建ios应用,使用HTML5构建iOS原生APP
  2. oracle虚读,oracle基础 - 若虚夜的个人空间 - OSCHINA - 中文开源技术交流社区
  3. @Transactional注解导致 多数据源@DS无效 的解决方案
  4. php width,canvas定义width、height的正确用法
  5. 21岁还可以学php开发吗,PHP已经21岁了!
  6. 十进制转任意进制-数论
  7. 吴恩达深度学习5.1练习_Sequence Models_Building a RNN Step by Step
  8. 【EXLIBRIS】图洛克《收入再分配的经济学》中译本序 【ZZ】
  9. java被oracle收购,sun被oracle收购了,openoffice和virtualbox会不会死?
  10. 查询ORACLE数据库操作记录
  11. Terminate Instance 操作详解 - 每天5分钟玩转 OpenStack(33)
  12. android RelativeLayout 动态添加子View
  13. java结合opencv进行照片人脸检测
  14. 作为项目经理如何做好项目进度管理
  15. cfar(Constant False-Alarm Rate)
  16. openGauss数据库源码解析系列文章——存储引擎源码解析(一)
  17. Docker和Jenkins构建项目总结
  18. 推荐几个检索论文及代码的网站
  19. HDU - 2121 Ice_cream’s world II(朱刘算法+虚根)
  20. httpServer / proxyServer / nginx 1.7.9

热门文章

  1. 计算机网络知识学习(核心:网络协议)-- 运输层
  2. 【机器人】机械臂与动捕Nokov的深入了解
  3. php 协议头,入门PHP实现MQTT协议的固定头部(Fix header)
  4. 【视频技术】ffmpeg截取图片(Mac)
  5. bash shell seq的用法
  6. C# 未能加载文件或程序集“ Newtonsoft.Json” Json格式错误
  7. CI中创建你自己的类库
  8. 使用Docker+Jenkins自动构建部署
  9. 一个程序员的郁闷吐槽
  10. 清理rms客户端信息