基于Android的移动OA办公系统(Android studio毕业设计,Android课程设计)

 博主介绍:本人专注于Android/java/数据库/微信小程序技术领域的开发,以及有好几年的计算机毕业设计方面的实战开发经验和技术积累;尤其是在安卓(Android)的app的开发和微信小程序的开发,很是熟悉和了解;本人也是多年的Android开发人员;希望我发布的此篇文件可以帮助到您;

🍅文章末尾获取源码下载方式🍅

功能演示

详情演示视频请文字末尾公众号咨询,我会发给您;

1:后台演示

2:客户端演示

一、项目介绍

PC端后台管理功能:

(1)管理员、部门负责人、职员权限设计;

(2)员工管理、部门管理,员工管理包括添加员工,查找员工。部门管理包括人事部,招聘部,管理部,后勤部

(3)请销假管理,包括请假人员,时间,原因,销假时间

(4)文件传输管理,可以上传文件

App端功能:

(1)具有部门管理,员工管理,招聘管理,个人信息,事件管理

(2)各个部门内能添加人员的个人信息。包括姓名,年龄,电话号码,籍贯,工作岗位,工作年龄

(3)各个部门职员都能查询,事件管理内能填写工作日志,查询消息,请假和销假

(4)App能注册职员信息,能更改密码。

(5)职员App登录后,可请销假,,请销假包括请假人员,事件,原因,销假时间

二、运行环境

1:客户端使用Android stuido进行开发;
2:服务端后台使用Myeclipse2014进行开发;
3:mysql数据库进行数据存储;
4:需要jdk1.7以上
5:使用雷电模拟器或者Androidstuio自带的模拟器进行运行

三、使用技术

总体设计逻辑和思路:
1:先设计数据库表文件
2:写服务端jsp页面以及写api接口给客户端提供数据
3:完成后台服务端的数据交互,也就是jsp页面数据的存储和显示
4:进行客户端页面的开发;
5:进行客户端对api接口的调用,也就是获取数据库的数据以及在客户端进行显示

移动端:
1:使用android原生控件以及xml布局文件来完成界面的显示
2:使用java代码完成功能的数据和逻辑交互
3:使用http网络请求完成数据的请求;
4:使用json数据解析完成客户端数据的回调和显示

服务端后台:
1:使用mysql完成数据的存储
2:使用jdbc完成数据库和代码的逻辑交互
3:使用jsp完成网页数据的显示
4:使用java代码完成api接口的编写以及以及数据的回调

四、数据库设计

/*
Navicat MySQL Data Transfer

Source Server         : mydb
Source Server Version : 50528
Source Host           : localhost:3306
Source Database       : oadb

Target Server Type    : MYSQL
Target Server Version : 50528
File Encoding         : 65001

Date: 2019-05-06 22:29:30
*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for departmenttb
-- ----------------------------
DROP TABLE IF EXISTS `departmenttb`;
CREATE TABLE `departmenttb` (
  `departmentId` int(11) NOT NULL AUTO_INCREMENT,
  `departmentName` varchar(255) DEFAULT NULL,
  `departmentTime` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`departmentId`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of departmenttb
-- ----------------------------
INSERT INTO `departmenttb` VALUES ('2', '人事部', '2019-05-06 16:16');
INSERT INTO `departmenttb` VALUES ('3', '招聘部', '2019-05-06 16:16');
INSERT INTO `departmenttb` VALUES ('4', '管理部', '2019-05-06 16:16');
INSERT INTO `departmenttb` VALUES ('5', '后勤部', '2019-05-06 16:16');

-- ----------------------------
-- Table structure for leavetb
-- ----------------------------
DROP TABLE IF EXISTS `leavetb`;
CREATE TABLE `leavetb` (
  `leaveId` int(11) NOT NULL AUTO_INCREMENT,
  `leaveStartTime` varchar(255) DEFAULT NULL,
  `leaveEndTime` varchar(255) DEFAULT NULL,
  `leaveMessage` varchar(1500) DEFAULT NULL,
  `leaveUserId` varchar(255) DEFAULT NULL,
  `leaveUserName` varchar(255) DEFAULT NULL,
  `leaveTime` varchar(255) DEFAULT NULL,
  `leaveState` varchar(255) DEFAULT '1',
  PRIMARY KEY (`leaveId`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of leavetb
-- ----------------------------
INSERT INTO `leavetb` VALUES ('1', '2019-05-06 17:30', '2019-05-08 00:00', '身体不适,需要请假休息一下!', '1', '苏大强', '2019-05-06 17:31', '2');
INSERT INTO `leavetb` VALUES ('2', '2019-05-09 00:00', '2019-05-17 00:00', '有事外出!', '1', '苏大强', '2019-05-06 17:45', '3');
INSERT INTO `leavetb` VALUES ('3', '2019-05-09 00:00', '2019-05-11 00:00', '需要旅游去看看!', '1', '苏大强', '2019-05-06 21:47', '1');
INSERT INTO `leavetb` VALUES ('4', '2019-05-06 22:22', '2019-05-10 00:00', '身体不适,需要请假休息一下!', '3', '苏明玉', '2019-05-06 22:22', '2');

-- ----------------------------
-- Table structure for notetb
-- ----------------------------
DROP TABLE IF EXISTS `notetb`;
CREATE TABLE `notetb` (
  `memorandumId` int(50) NOT NULL AUTO_INCREMENT,
  `memorandumTitle` varchar(100) DEFAULT NULL,
  `memorandumMessage` varchar(1500) DEFAULT NULL,
  `memorandumUserId` varchar(100) DEFAULT NULL,
  `memorandumTime` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`memorandumId`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of notetb
-- ----------------------------
INSERT INTO `notetb` VALUES ('12', '今天的工作日志', '对于这里的话,应该注意的问题是就是Arrays.sort(scores);的这个方法的使用,他是Array类里面的一个方法,用这个的排序的结果,比冒泡的排序的 结果简单的多的多!', '1', '2019-05-06 17:14');
INSERT INTO `notetb` VALUES ('13', '今天的工作', '对于这里的话,应该注意的问题是就是Arrays.sort(scores);的这个方法的使用,他是Array类里面的一个方法,用这个的排序的结果,比冒泡的排序的 结果简单的多的多!', '1', '2019-05-06 17:46');
INSERT INTO `notetb` VALUES ('14', '日志', '对于这里的话,应该注意的问题是就是Arrays.sort(scores);的这个方法的使用,他是Array类里面的一个方法,用这个的排序的结果,比冒泡的排序的 结果简单的多的多!', '1', '2019-05-06 17:46');
INSERT INTO `notetb` VALUES ('15', '今天的工作日志', '对于这里的话,应该注意的问题是就是Arrays.sort(scores);的这个方法的使用,他是Array类里面的一个方法,用这个的排序的结果,比冒泡的排序的 结果简单的多的多!', '3', '2019-05-06 22:22');

-- ----------------------------
-- Table structure for personneltb
-- ----------------------------
DROP TABLE IF EXISTS `personneltb`;
CREATE TABLE `personneltb` (
  `personnelId` int(11) NOT NULL AUTO_INCREMENT,
  `personnelName` varchar(255) DEFAULT NULL,
  `personnelAge` varchar(255) DEFAULT NULL,
  `personnelPhone` varchar(255) DEFAULT NULL,
  `personnelAddress` varchar(255) DEFAULT NULL,
  `personnelJob` varchar(255) DEFAULT NULL,
  `personnelTimeLong` varchar(255) DEFAULT NULL,
  `personnelDepartmentId` varchar(255) DEFAULT NULL,
  `personnelDepartmentName` varchar(255) DEFAULT NULL,
  `personnelTime` varchar(255) DEFAULT NULL,
  `personnelPswd` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`personnelId`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of personneltb
-- ----------------------------
INSERT INTO `personneltb` VALUES ('1', '苏大强', '50', '15288886666', '苏州老宅201号', '广场舞', '10年', '2', '人事部', '2019-05-06 16:52', '123456');
INSERT INTO `personneltb` VALUES ('2', '苏明城', '50', '15288889999', '苏州老宅201号', '广场舞', '10年', '2', '人事部', '2019-05-06 16:52', '123456');
INSERT INTO `personneltb` VALUES ('3', '苏明玉', '50', '15288885656', '苏州老宅201号', '广场舞', '10年', '2', '人事部', '2019-05-06 22:21', '123456');

-- ----------------------------
-- Table structure for usermsg
-- ----------------------------
DROP TABLE IF EXISTS `usermsg`;
CREATE TABLE `usermsg` (
  `userId` int(50) NOT NULL AUTO_INCREMENT,
  `userName` varchar(255) DEFAULT NULL,
  `userPhone` varchar(255) DEFAULT NULL,
  `userPswd` varchar(255) DEFAULT NULL,
  `userTime` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`userId`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of usermsg
-- ----------------------------
INSERT INTO `usermsg` VALUES ('16', '多多', '15249243002', '123456', '2019-05-06 15:09');

五、部分代码

六、浏览更多Android毕业设计

毕业设计-基于android的租房信息发布平台的APP_信息发布app源码_Android毕业设计源码的博客-CSDN博客

毕业设计-基于android选课系统的设计与实现_android学生选课系统_Android毕业设计源码的博客-CSDN博客

毕业设计之校园一卡通管理系统的设计与实现_一卡通管理系统实现_Android毕业设计源码的博客-CSDN博客

基于Android的校园二手闲置物品交易系统设计与实现_基于android的二手交易平台_Android毕业设计源码的博客-CSDN博客

基于androidstudio校园快递APP系统的设计与实现_android studio论文_Android毕业设计源码的博客-CSDN博客

基于android的商城购物定制APP_安卓开发购物app_Android毕业设计源码的博客-CSDN博客

更多毕业设计可以浏览我的个人主页哦!

七、源码下载

大家点赞、收藏、关注、评论啦 、查看👇🏻👇🏻👇🏻获取联系方式👇🏻👇🏻👇🏻

https://download.csdn.net/download/u014388322/88196515

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Android毕业设计源码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值