位置: 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)

  • lte版与wifi版的区别(lte)(lte版和wlan版有什么不同)

    lte版与wifi版的区别(lte)(lte版和wlan版有什么不同)

  • oppo手机怎么建文件夹放照片(oppo手机怎么建立私密相册)

    oppo手机怎么建文件夹放照片(oppo手机怎么建立私密相册)

  • 苹果双卡怎么切换流量(苹果双卡怎么切换4g)

    苹果双卡怎么切换流量(苹果双卡怎么切换4g)

  • 苹果屏幕下面的横条怎么设置(苹果屏幕下面的横条有什么用)

    苹果屏幕下面的横条怎么设置(苹果屏幕下面的横条有什么用)

  • 天猫精灵怎么绑定微信(天猫精灵怎么绑定手机)

    天猫精灵怎么绑定微信(天猫精灵怎么绑定手机)

  • 荣耀hry-al00a什么型号(荣耀hry-al00a手机)

    荣耀hry-al00a什么型号(荣耀hry-al00a手机)

  • 抖音开橱窗要什么条件(抖音开橱窗要什么资料)

    抖音开橱窗要什么条件(抖音开橱窗要什么资料)

  • 抖音后台运行会显示在线吗

    抖音后台运行会显示在线吗

  • 华为保险柜删除还能恢复吗(华为保险柜删除的照片在哪里)

    华为保险柜删除还能恢复吗(华为保险柜删除的照片在哪里)

  • 抖音搜索结果为空是什么意思(抖音搜索结果为空)

    抖音搜索结果为空是什么意思(抖音搜索结果为空)

  • iphone账户详情不可用(iphone账户详情不可用是什么意思)

    iphone账户详情不可用(iphone账户详情不可用是什么意思)

  • 骚扰拦截对方打电话是什么提示(骚扰拦截对方打电话会提示已停机吗)

    骚扰拦截对方打电话是什么提示(骚扰拦截对方打电话会提示已停机吗)

  • 微信可以发动图到朋友圈吗(微信可以发动图发朋友圈吗)

    微信可以发动图到朋友圈吗(微信可以发动图发朋友圈吗)

  • airpods二代和pro区别(airpods二代和pro哪个音质好)

    airpods二代和pro区别(airpods二代和pro哪个音质好)

  • 导航卡是不是内存卡(导航卡是什么)

    导航卡是不是内存卡(导航卡是什么)

  • 大陆手机到香港能上网吗(大陆手机到香港可以用吗)

    大陆手机到香港能上网吗(大陆手机到香港可以用吗)

  • qq加不了群是什么原因(qq加不了群聊)

    qq加不了群是什么原因(qq加不了群聊)

  • ip截图怎么弄(ip怎样截图)

    ip截图怎么弄(ip怎样截图)

  • 戴尔电脑怎样从硬盘启动(戴尔电脑怎么把默认c盘改到d盘)

    戴尔电脑怎样从硬盘启动(戴尔电脑怎么把默认c盘改到d盘)

  • 拼多多怎么退订月卡(拼多多怎么退店铺)

    拼多多怎么退订月卡(拼多多怎么退店铺)

  • 拼多多商品怎么备注(拼多多商品怎么评价)

    拼多多商品怎么备注(拼多多商品怎么评价)

  • pacm00是什么手机型号(rmx3619是什么手机)

    pacm00是什么手机型号(rmx3619是什么手机)

  • 华为watch3发布时间(华为watch3发布价)

    华为watch3发布时间(华为watch3发布价)

  • cicd是什么(cicd是什么意思的缩写)

    cicd是什么(cicd是什么意思的缩写)

  • 2022年微信小程序授权登录的最新实现方案(2022年微信小程序游戏)

    2022年微信小程序授权登录的最新实现方案(2022年微信小程序游戏)

  • 劳务费发票报销
  • 牵引车和挂车都要购买交强险吗
  • 离职人员个税申报如何处理
  • 减半征收附加税会计分录
  • 辅导期一般纳税人
  • 可以先报税后结账吗
  • 银行承兑个人可以接受吗
  • 从农民手中购进农产品进项税
  • 企业所得税季报和年报的区别
  • 普通发票计量单位没填
  • 想要房贷利息抵税怎么办
  • 如何办理临时经营纳税人设立登记
  • 质保金付款时怎么付
  • 软件后续服务
  • 应付账款少说明什么
  • 申请小型微利企业
  • mac隔空投送文件位置
  • 股份公司注销流程及费用
  • windows10如何清理磁盘碎片
  • php vld
  • 失控发票进项转出后要补企业所得税吗
  • 温哥华瀑布
  • 送货上门需要其他费用吗
  • 前端布局flex
  • python怎样学
  • 目标检测 2021
  • ppp中启用chap命令
  • 机械设备大修标准
  • 超市的购物卡以什么为准
  • dedecms官网
  • 发票有别的字迹有影响吗
  • 印花税的缴纳
  • 个税申报更正申报如何操作
  • 固定什么意思
  • 财政部监制的收据没有税号可以入账吗
  • 内账中采购另付的税点算成本还是费用
  • 跨年费用入账
  • 预付账款用途
  • 发票抵扣联认证完还有用吗
  • 固定资产溢余账务处理
  • 管理费用如何冲减
  • 没实收资本还怎么做账
  • 现金折扣和商业折扣怎么确定收入
  • 农民工工资专户怎么发放工资
  • 财务费用利息收入怎么记账
  • 企业清算的会计处理
  • sql导入和导出数据
  • 硬盘安装在哪里
  • 电脑开机密码忘记了怎么打开
  • vista sp2 旗舰版 key
  • 进入bios设置u盘启动
  • win8系统忘记电脑开机密码怎么办
  • WIN10开启高性能模式
  • win7下安装XP
  • linux主机名是什么意思
  • win7u盘没有安全选项卡
  • 安卓笔记软件squid使用教程
  • 接入hpool
  • 用滑动门技术设计一幅画
  • perl -i -pe
  • bootstrap入门
  • js的getattribute
  • Node.js中的事件循环是什么意思
  • 批处理 leq
  • Python爬取qq music中的音乐url及批量下载
  • vue中的echarts
  • 转换什么
  • Python中模块和包的区别
  • python append 浅拷贝
  • jquery网页
  • javascript要学到什么程度
  • Python注释详解
  • android 获取手机屏幕截图
  • 如何加入一带一路?
  • 银行代扣流程
  • 陕西省税务局发来信息通知
  • 申请ipo申请到审批要多久
  • 武汉市第二税务稽查局地址
  • 拟录用是正式录用吗
  • 2022年广州社保基数
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设