Android平台员工工资管理的应用开发

                          

摘  要:随着经济的发展和计算机应用的普及,信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟,要高效率地把企业活动有机地组织起来,就鼻息加强企业管理,即加强对企业内部的各种资源(人、财、物等)的有效管理,建立与自身特点相适应的管理信息系统。

APP要对员工工资管理的日常的统计,对员工信息的管理,存储员工的基本信息、工资的基本信息。员工也可反馈信息给管理员,管理员对此对出相应的处理。

关键词移动互联网;移动应用产品;员工工资Android管理


目录

一、 概述 4

(一) 任务和目标 4

(二) 需求概述 4

(三) 运行环境 4

(四) 系统项目简介 4

二、 系统整体设计 7

(一) 功能模块划分及说明 7

图1 功能模块图 7

三、 模型层设计 8

员工信息表 9

工资信息表 9

反馈信息表 9

四、 系统详细设计 10

(一) 登陆模块 10

(二) 员工模块 16

(三)管理员模块 30

五、 总结 53


  • 概述
    • 任务和目标

通过Android Stdio创建一个员工工资管理系统,可以实现管理员和员工的登录,管理员可以查看、添加、修改、删除员工信息和工资信息,普通员工登录只能查看自己的信息以及工资信息,此外员工可以反馈信息给管理员,管理员可以处理或忽略。

    • 需求概述

初次打开软件时,把一批员工的信息及对应的工资存到sqlite数据库,管理员的账号唯一,拥有最高权限,可以对员工信息和工资信息进行增删改查,并查看处理员工的反馈信息;员工登录后能查看自己的个人信息,并修改个人信息,员工还能查看自己的工资,但是不能进行操作。个人中心有反馈的功能,可以反馈信息给管理员,并能查看自己的反馈记录,及管理员的处理结果等。

    • 运行环境

Android studio 3.3.1

Window 10

Jdk8

Android手机或模拟器

    • 系统项目简介
  1. 项目概况
  1. 工程名称:Staff
  2. 所用架构:MVC
  3. 所用技术:Sqlite数据库存储,Fragment页面切换,圆形头像,Gson框架等。
  4. 项目依赖:无
  5. 权限要求:

  1. 目录结构
  1. 视图层文件:

所有的界面布局对应的xml文件说明。

activity_login.xml: 登陆界面布局

activity_splash.xml:欢迎页面

activity_main.xml:主页面

fragment_home.xml:员工界面

fragment_wages.xml:工资页面

fragment_me.xml:个人页面

activity_add_update_user.xml:添加员工和修改员工页面

activity_add_update_wage.xml:添加工资和修改工资页面

activity_password.xml:修改密码页面

activity_feed_back_add.xml:员工反馈页面

activity_feedback.xml:管理员反馈页面

item_my_feedback.xml:反馈记录页面

item_feedback.xml:管理员查看反馈列表item页面

item_my_feedback.xml:我的反馈记录item页面

item_users.xml:员工列表item页面

item_wage.xml:工资列表item页面

  1. 模型层文件:

业务模型相关的java类说明。数据库有关的java类也属于这一层。

例如:

User.java:员工类

Wage.java:工资类

FeedBack.java:反馈类

DBHelper.java:数据库、表创建类

UserDao.java:员工业务接口类

UserDaoImpl.java:员工业务实现类

WageDao.java:工资接口类

WageDaoImpl.java:工资业务实现类

FeedBackDao.java:反馈接口类

FeedBackDaoImpl.java:反馈业务实现类

  1. 控制层文件:

SplashActivity.java:欢迎页

LoginActivity.java:登录页面

MainActivity.java:主页面

HomeFragment.java:员工页面

WageFragment.java:工资页面

MeFragment.java:我的页面

PasswordActivity.java:修改密码页面

AddUpdateUserActivity.java:添加、修改员工信息页面

AddUpdateWageActivity.java:添加、修改工资页面

FeedbackActivity.java:反馈页面

FeedBackAddActivity.java:提交反馈页面

  1. 工具类文件:

IdentifyingCode.java:生成图片验证码工具类

SpUtil.java:SharedPreferences文件存储工具封装类

  1. 资源文件:

Drawable:各种所需的图片,按钮样式

Menu:底部导航菜单

Values:颜色文件、尺寸文件、string文件、样式等。

  • 系统详细设计
    • 登陆模块

1.用户界面

关于退出登录的:

关于主页布局及加载fragment的:

关于员工列表的:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 2.主要算法

    关于登陆的:

    SharedPreferences是Android平台上一个轻量级的存储类在此活动中我们用来缓存用户信息和登录状态,以此来改善用户体验

  • 首先从SharedPreferences读取用户信息和登录状态登录状态为true,直接跳过登录到主页,false就跳转到登录
  • 登录时需要输入账号密码和图片验证码,然后点登录后对用户名和密码做非空验证并提示,判断图片验证码是否输入正确;
  • 查询sqlite的tb_user(用户表),是否存在该用户名和密码的用户,返回结果为User对象,user对象为空,提示用户名或密码错误,user不为空,提示登录成功,然后把用户的信息用Gson类格式化为gson字符串,保存到SharedPreferences中,并保存登录状态(isLogin)为true,跳转到主页;
  • 修改SharedPreferences中的登录状态(isLogin)为false,清空用户信息(对应“user”变量);
  • 关闭主页,跳转到登录页面,重新进行登录;
    1. 主页xml布局底部用的是design包下的BottomNavigationView类,用这个做底部导航很方便,不需要自己写多少代码,新建项目时选择“Bottom Navigation Activity”模板就生成了一个带底部导航的demo,然后修改xml布局,在BottomNavigationView上边添加一个FrameLayout,用于加载切换员工、工资、我的这3个fragment;
    2. MainActivity加载fragment逻辑:首先定义那3个fragment,通过getSupportFragmentManager加载fragment,绑定BottomNavigationView点击时切换显示对应的fragmnet;
  • 通过UserDao从数据库查询非管理员账号(admin)的所有员工信息,以List<User>的形式返回;
  • 自定义adapter(UserListAdapter),继承自BaseAdapter,编写adapter对应的item页面,
  • 重写getView方法,自定义ViewHolder类,封装item控件,优化ListView性能,避免ListView滑动时的卡顿现象;
  • 管理员身份时,为ListView设置adapter和item点击事件,弹出dialog弹出,选择删除或修改当然员工信息,选择删除后,再次弹框提示是否确定删除;选择修改,跳转到修改用工信息页面,可以修改保存员工信息;
  • 筛选功能AutoCompleteTextView输入工号时检索数据库用户表是否存在此工号,存在就更新adapter,显示查询出的员工信息,不存在提示“无此员工”,点“显示全部”按钮查询全部员工然后更新ListView适配器,刷新列表;
  • 工资列表与员工列表类似。
  • 运行效果
  • 总结

 

通过这次对员工工资管理系统的设计开发,我发现了理论和实践还是有一定的差距的。

在本次开发过程中,我对开发环境进一步的熟悉,基本上可以熟练运用这个环境,也基本掌握了安卓的开发方法及基本流程。在本次开发过程中,主要用到的知识有Activity的使用,在程序中用到了多个窗口,因而需创建多个Activity。

开发期间,我学会了有目的的去学习一些将要用到的东西,仔细地考虑工作流程的规律和步骤,充分利用手中的开发工具,利用其所具备的功能,尽量使自己的开发在代码上实现少而精确、让用户能够尽量简单地进行操作。但是在检测过程中,还是出现了很多的不足之处,这些都是要在今后的工作中需要努力改进和完善的。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐