位置: IT常识 - 正文

一天撸一个财务APP系统【安卓端+前端+后端】

编辑:rootadmin
一天撸一个财务APP系统【安卓端+前端+后端】

推荐整理分享一天撸一个财务APP系统【安卓端+前端+后端】,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

昨天有个粉丝朋友也想学开发Web和小程序、安卓,问可以在大学学会吗?

在学校学到的东西真的有限:

在很多的高校,有一些教授是学院派的,他们没有做过多少开发工作,上课就是照本宣科,讲的知识点都是陈年落伍的技术,更别说带学生做项目了。

现在的很多硕博学生帮老师做课件,然后老师上课一顿读。

当然有的老师开发能力也是很强的,他们有开发经验,可以更加全面地理解技术知识点,然后传递给学生,也能拿到一些科研项目,然后带学生实战。

但是,但是,这种老师少之又少。我平时辅导过大量的计算机学生,也有个VIP群,很多学习VIP项目的小伙伴,也变得越来越强,

我总结出来,大部门计算机教学水平真的一般般:

1,教材落后,还有很多Java课程在教Swing/SSH框架,这已经是淘汰多少年的技术了。

2,实战不足。学生在大学期间代码量极少,少得可怜,没有项目实战。找工作和企业的要求无法匹配。

3,教授课程方式极其落后。这是计算机啊,不是汇报工作,你全课程ppt有啥用。是念ppt学生能理解,还是给学生实操下项目,学生可以理解????

一天撸一个财务APP系统【安卓端+前端+后端】

4,课后辅导比较差。在国外的一些名校,老师每周抽出三个小时作为 office hour,国内的老师下课,直接拍屁股走人,课后没有辅导。

昨天没事,开发了一个APP的财务系统,如果需要学习开发,可以一起啊!加油,奥利给!

一,系统的技术栈

移动端,采用安卓进行开发,Android它应用于安卓系统软件和程序开发,其由谷歌公司推出,目前在国际市场上有着广泛的应用及开发环境,并不瘦限制研发人员能够通过修改开放的源代码来实现各种使用的 APP软件,开发的软件程序具有界面友好稳定性好等特点,安卓系统架构图具体如下:

后端采用的Java进行开发的,数据库采用的Mysql。

系统的功能架构:

二,系统界面

后台:

三,系统核心代码/** * 小孟v:jishulearn */@Controller@RequestMapping("/api")public class ApiController { @Autowired private UsersService userService; @Autowired private ShouruService shouruService; @Autowired private ZhichuService zhichuService; @Autowired private GudingzhichuService gudingzhichuService; @Autowired private GudingzhichuleixService gudingzhichuleixService; @Autowired private ShourutypeService shourutypeService; @Autowired private ZhichutypeService zhichutypeService; @Autowired private WenzhangService wenzhangService; @Autowired private GonggaoService gonggaoService; @PostMapping("/userlogin") @ResponseBody public JsonResult login(String username, String password) { if (username == null || username.trim().isEmpty()) return JsonResult.error("请输入账号"); if (password == null || password.trim().isEmpty()) return JsonResult.error("请输入密码"); Users user = userService.getOne(new QueryWrapper<Users>().eq("username", username).eq("password", password)); if (user != null) { return JsonResult.ok("登录成功").setData(user); } else { return JsonResult.error("用户名或密码错误"); } } @PostMapping("/userreg") @ResponseBody public JsonResult reg(String username, String password, String nickname, String dianhua, String youxiang,String image) { if (username == null || username.trim().isEmpty()) return JsonResult.error("请输入账号"); if (password == null || password.trim().isEmpty()) return JsonResult.error("请输入密码"); if (nickname == null || nickname.trim().isEmpty()) return JsonResult.error("请输入真实姓名"); if (dianhua == null || dianhua.trim().isEmpty()) return JsonResult.error("请输入电话"); if (youxiang == null || youxiang.trim().isEmpty()) return JsonResult.error("请输入邮箱"); Users user1 = new Users(); user1.setUsername(username); user1.setNickname(nickname); user1.setPassword(password); user1.setDianhua(dianhua); user1.setYouxiang(youxiang); user1.setImage(image); Users user = userService.getOne(new QueryWrapper<Users>().eq("username", username)); if (user!=null){ return JsonResult.error("用户名已经存在,请重试!"); } if (userService.save(user1)) { return JsonResult.ok("注册成功"); } return JsonResult.error("注册失败"); } @PostMapping("/userupdate") @ResponseBody public JsonResult update(Integer id, String username, String password, String nickname) { if (username == null || username.trim().isEmpty()) return JsonResult.error("请输入账号"); if (password == null || password.trim().isEmpty()) return JsonResult.error("请输入密码"); if (nickname == null || nickname.trim().isEmpty()) return JsonResult.error("请输入真实姓名"); Users userone = userService.getById(id); if (userone == null) { return JsonResult.ok("用户不存在!"); } userone.setUsername(username); userone.setPassword(password); userone.setNickname(nickname); if (userService.updateById(userone)) { return JsonResult.ok("修改成功"); } return JsonResult.error("修改失败"); } @PostMapping("/userupdatePass") @ResponseBody public JsonResult updatePass(Integer id, String username, String password) { if (username == null || username.trim().isEmpty()) return JsonResult.error("请输入账号"); if (password == null || password.trim().isEmpty()) return JsonResult.error("请输入密码"); Users userone = userService.getById(id); if (userone == null) { return JsonResult.ok("用户不存在!"); } userone.setUsername(username); userone.setPassword(password); if (userService.updateById(userone)) { return JsonResult.ok("修改成功"); } return JsonResult.error("修改失败"); } @PostMapping("/userupdateImage") @ResponseBody public JsonResult updateImage(Integer id, String image) { Users userone = userService.getById(id); if (userone == null) { return JsonResult.ok("用户不存在!"); } userone.setImage(image); if (userService.updateById(userone)) { return JsonResult.ok("修改成功"); } return JsonResult.error("修改失败"); } @ResponseBody @RequestMapping("/shouru/list") public JsonResult ShouRuList(String username) { PageParam<Zhichu> pageParam = new PageParam<>(); pageParam.put("username", username); List<Shouru> records = shouruService.listAll(pageParam.getNoPageParam()); return JsonResult.ok().setData(records); } @ResponseBody @RequestMapping("/wenzhang/list") public JsonResult WenZhangList() { PageParam<Wenzhang> pageParam = new PageParam<>(); List<Wenzhang> records = wenzhangService.listAll(pageParam.getNoPageParam()); return JsonResult.ok().setData(records); } @ResponseBody @RequestMapping("/gonggao/list") public JsonResult GongGaoList() { PageParam<Gonggao> pageParam = new PageParam<>(); List<Gonggao> records = gonggaoService.listAll(pageParam.getNoPageParam()); return JsonResult.ok().setData(records); }/** * 管理 * Created by xiaomeng,vx:jiushulearn */@Controller@RequestMapping("/caiwu/gonggao")public class GonggaoController extends BaseController { @Autowired private GonggaoService gonggaoService; @RequestMapping() public String view() { return "caiwu/gonggao.html"; } /** * 分页查询 */ @ResponseBody @RequestMapping("/page") public PageResult<Gonggao> page(HttpServletRequest request) { PageParam<Gonggao> pageParam = new PageParam<>(request); return new PageResult<>(gonggaoService.page(pageParam, pageParam.getWrapper()).getRecords(), pageParam.getTotal()); //return gonggaoService.listPage(pageParam); // 使用关联查询 } /** * 查询全部 */ @ResponseBody @RequestMapping("/list") public JsonResult list(HttpServletRequest request) { PageParam<Gonggao> pageParam = new PageParam<>(request); return JsonResult.ok().setData(gonggaoService.list(pageParam.getOrderWrapper())); //List<Gonggao> records = gonggaoService.listAll(pageParam.getNoPageParam()); // 使用关联查询 //return JsonResult.ok().setData(pageParam.sortRecords(records)); } /** * 根据id查询 */ @ResponseBody @RequestMapping("/get") public JsonResult get(Integer id) { return JsonResult.ok().setData(gonggaoService.getById(id));// 使用关联查询 //PageParam<Gonggao> pageParam = new PageParam<>();//pageParam.put("id", id); //List<Gonggao> records = gonggaoService.listAll(pageParam.getNoPageParam()); //return JsonResult.ok().setData(pageParam.getOne(records)); } /** * 添加 */ @ResponseBody @RequestMapping("/save") public JsonResult save(Gonggao gonggao) { if (gonggaoService.save(gonggao)) { return JsonResult.ok("添加成功"); } return JsonResult.error("添加失败"); } /** * 修改 */ @ResponseBody @RequestMapping("/update") public JsonResult update(Gonggao gonggao) { if (gonggaoService.updateById(gonggao)) { return JsonResult.ok("修改成功"); } return JsonResult.error("修改失败"); } /** * 删除 */ @ResponseBody @RequestMapping("/remove") public JsonResult remove(Integer id) { if (gonggaoService.removeById(id)) { return JsonResult.ok("删除成功"); } return JsonResult.error("删除失败"); } /** * 批量添加 */ @ResponseBody @RequestMapping("/saveBatch") public JsonResult saveBatch(@RequestBody List<Gonggao> list) { if (gonggaoService.saveBatch(list)) { return JsonResult.ok("添加成功"); } return JsonResult.error("添加失败"); } /** * 批量修改 */ @ResponseBody @RequestMapping("/updateBatch") public JsonResult updateBatch(@RequestBody BatchParam<Gonggao> batchParam) { if (batchParam.update(gonggaoService, "id")) { return JsonResult.ok("修改成功"); } return JsonResult.error("修改失败"); }@Controller@RequestMapping("/caiwu/gudingzhichu")public class GudingzhichuController extends BaseController { @Autowired private GudingzhichuService gudingzhichuService; @Autowired private GudingzhichuleixService gudingzhichuleixService; private List<String> shijianleixing=new ArrayList<>(); @RequestMapping() public String view(Model model) { model.addAttribute("leixing",gudingzhichuleixService.list()); //每周 每月 每年 一直 shijianleixing.add("每周"); shijianleixing.add("每月"); shijianleixing.add("每年"); shijianleixing.add("一直"); model.addAttribute("shijianleixing", shijianleixing); return "caiwu/gudingzhichu.html"; } /** * 分页查询 */ @ResponseBody @RequestMapping("/page") public PageResult<Gudingzhichu> page(HttpServletRequest request) { PageParam<Gudingzhichu> pageParam = new PageParam<>(request); return new PageResult<>(gudingzhichuService.page(pageParam, pageParam.getWrapper()).getRecords(), pageParam.getTotal()); //return gudingzhichuService.listPage(pageParam); // 使用关联查询 } /** * 查询全部 */ @ResponseBody @RequestMapping("/list") public JsonResult list(HttpServletRequest request) { PageParam<Gudingzhichu> pageParam = new PageParam<>(request); return JsonResult.ok().setData(gudingzhichuService.list(pageParam.getOrderWrapper())); //List<Gudingzhichu> records = gudingzhichuService.listAll(pageParam.getNoPageParam()); // 使用关联查询 //return JsonResult.ok().setData(pageParam.sortRecords(records)); } /** * 根据id查询 */ @ResponseBody @RequestMapping("/get") public JsonResult get(Integer id) { return JsonResult.ok().setData(gudingzhichuService.getById(id));// 使用关联查询 //PageParam<Gudingzhichu> pageParam = new PageParam<>();//pageParam.put("id", id); //List<Gudingzhichu> records = gudingzhichuService.listAll(pageParam.getNoPageParam()); //return JsonResult.ok().setData(pageParam.getOne(records)); } /** * 添加 */ @ResponseBody @RequestMapping("/save") public JsonResult save(Gudingzhichu gudingzhichu) { if (gudingzhichuService.save(gudingzhichu)) { return JsonResult.ok("添加成功"); } return JsonResult.error("添加失败"); } /** * 修改 */ @ResponseBody @RequestMapping("/update") public JsonResult update(Gudingzhichu gudingzhichu) { if (gudingzhichuService.updateById(gudingzhichu)) { return JsonResult.ok("修改成功"); } return JsonResult.error("修改失败"); }四,一起学习

前面小孟已经开源了很多的项目给大家,如果大家想一起学习,可以一起搞起。

关注下面弹出的公众号,回复:项目大全

全部是干货。

👇🏻 点击下面图片回复 项目大全 获取👇🏻

本文链接地址:https://www.jiuchutong.com/zhishi/297493.html 转载请保留说明!

上一篇:RGB与Depth融合方法总结(rgb to hex)

下一篇:RK3588(自带NPU)的环境搭建和体验(一)(rk3566 rk3288)

  • 互联网产品之渠道攻坚战(互联网产品ui)

    互联网产品之渠道攻坚战(互联网产品ui)

  • python for(python for in用法)

    python for(python for in用法)

  • 搜狗输入法字体大小设置(搜狗输入法字体颜色在哪里改)

    搜狗输入法字体大小设置(搜狗输入法字体颜色在哪里改)

  • oppor9m怎么分屏(oppor9m手机如何分屏)

    oppor9m怎么分屏(oppor9m手机如何分屏)

  • 笔记本电脑尺寸对照表怎么对照(笔记本电脑尺寸怎么看)

    笔记本电脑尺寸对照表怎么对照(笔记本电脑尺寸怎么看)

  • 微信如何迁移聊天记录(微信如何迁移聊天记录到新手机上)

    微信如何迁移聊天记录(微信如何迁移聊天记录到新手机上)

  • xr双卡信号不稳定(xr双卡信号不稳怎么办)

    xr双卡信号不稳定(xr双卡信号不稳怎么办)

  • 抖音动漫变身怎么拍(抖音里的变身漫画怎么拍摄的)

    抖音动漫变身怎么拍(抖音里的变身漫画怎么拍摄的)

  • 手机搜不到电视投屏怎么办(手机搜不到电视的投屏信号)

    手机搜不到电视投屏怎么办(手机搜不到电视的投屏信号)

  • 快手闪电购怎么退货(快手闪电购怎么上架商品)

    快手闪电购怎么退货(快手闪电购怎么上架商品)

  • 华为手机打字震动怎么关闭(华为手机打字震动在哪里关)

    华为手机打字震动怎么关闭(华为手机打字震动在哪里关)

  • 千兆级lte和4glte区别(千兆级lte和lteadvance)

    千兆级lte和4glte区别(千兆级lte和lteadvance)

  • 变频的意思和作用(变频的作用和原因)

    变频的意思和作用(变频的作用和原因)

  • 如何打开麦克风权限(华为手机如何打开麦克风)

    如何打开麦克风权限(华为手机如何打开麦克风)

  • wps权限设置在哪里解除(wps权限设置在哪里)

    wps权限设置在哪里解除(wps权限设置在哪里)

  • 京东的京豆可以转让吗(京东的京豆可以换钱吗)

    京东的京豆可以转让吗(京东的京豆可以换钱吗)

  • arpanet属于什么网络(arpanet的)

    arpanet属于什么网络(arpanet的)

  • 淘宝在哪扫二维码(淘宝怎么扫码二维)

    淘宝在哪扫二维码(淘宝怎么扫码二维)

  • 微信怎么开启自动抢红包(微信怎么开启自动回复)

    微信怎么开启自动抢红包(微信怎么开启自动回复)

  • dcs系统用plc吗(dcs能实现plc的全部功能吗)

    dcs系统用plc吗(dcs能实现plc的全部功能吗)

  • 虾米音乐怎么绑定淘宝(虾米音乐怎么解除绑定手机号)

    虾米音乐怎么绑定淘宝(虾米音乐怎么解除绑定手机号)

  • 华为手机录屏有时间限制吗(华为手机录屏有白点怎么取消掉)

    华为手机录屏有时间限制吗(华为手机录屏有白点怎么取消掉)

  • 西数红盘和蓝盘的区别(西数红盘蓝盘绿盘)

    西数红盘和蓝盘的区别(西数红盘蓝盘绿盘)

  • 手机迅雷口令如何使用(手机迅雷口令怎么用)

    手机迅雷口令如何使用(手机迅雷口令怎么用)

  • 分隔符怎么删除(excel表格中的分隔符怎么删除)

    分隔符怎么删除(excel表格中的分隔符怎么删除)

  • python类方法的注意点(python中类方法有什么用)

    python类方法的注意点(python中类方法有什么用)

  • 安徽省增值税发票开票截止日期
  • 宁波财税网会计之窗官网
  • 生产企业免抵退税
  • 减值准备为什么影响利润总额
  • 会计软件每年都要付钱的吗
  • 货物运输代理费用会计分录
  • 出口退税不退税则征税
  • 待摊费用和预提费用是按照什么而设置的账户
  • 金税设备中有上税吗
  • 增值税专用发票可以开电子发票吗
  • 国税征收项目有哪些
  • 收购发票怎么做凭证
  • 建设工程项目融资
  • 职工福利部门的工资
  • 开发票时税点开里怎么算?
  • 进项税核定扣除试点
  • 园林绿化公司要交税吗
  • 滞留发票产生的原因主要包括哪些?
  • 存货的计税价格是什么
  • 已付款未收到发票
  • 转回给挂靠单位的钱怎么做分录
  • 协定存款分析及2018金融机构人民币存款基准利率表
  • 当期应提取的坏账准备金
  • 报销业务招待费属于什么现金流量项目
  • 审计报告报备流程
  • linux |bc
  • linux如何开启端口
  • 用友财务软件怎样
  • 简易征收办法征收一般纳税人
  • 无形资产的增值税怎么算
  • 开了红字发票销售方怎么账务处理?
  • 不动产进项税额转出计算公式
  • 医院的重要
  • 空调移机人工费多少钱
  • 发票已开不符合收入确认条件账务处理怎么做?
  • 盈余积累转增股本什么意思
  • 对外支付企业所得税计税依据
  • 今日冬至有什么讲究吗
  • 塔卡夫斯基镜子
  • 非常经典的php文章
  • transformer add norm
  • utermux命令
  • 简述php操作mysql数据库的基本步骤
  • php实现评论回复功能
  • ios14.5ipad
  • 进项税额转出在申报的时候怎么填
  • 免征和抵扣税额的区别
  • php怎么装
  • 未认证key
  • 公司车辆缴纳车船税
  • 购买性支出和转移性支出都计入GDP
  • 分公司交纳的管理费用
  • 收到托收凭证怎么做分录
  • 日后事项中所得税的处理方法
  • 销售商品成本核算
  • 农业保险赔付率数据查询
  • 企业注销递延所得税资产怎么处理
  • 未分配利润高怎么解释
  • 案例分析收到了哪些安全启示
  • 第一份工作的五个条件
  • sql将查询的结果拼接
  • 装win7ahci
  • Mac怎么查看WiFi使用量
  • centos查看inode
  • javascript.info
  • 详解IWinter 一个路由转控制器的 Nodejs 库
  • Extjs4中的分页应用结合前后台
  • 点击滑块是什么意思
  • 表示网页行为的是
  • node 执行js
  • 消耗cpu的软件
  • android 中 EditText加入图标 更改边框颜色 设置透明
  • node.js express中app.param的用法详解
  • android性能优化面试题
  • JavaScript中的复杂数据类型又称为
  • 用原生js实现过什么功能
  • Jquery ajax请求导出Excel表格的实现代码
  • 电子税务局个体工商户如何登陆
  • 济南高新区地税局地址
  • 为什么非贸易付不了款呢
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设