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

  • vivo NEX 3s搭载的是哪个处理器(vivo nex3s 5g)

    vivo NEX 3s搭载的是哪个处理器(vivo nex3s 5g)

  • 荣耀x10如何设置指纹解锁(荣耀x10如何设置屏保)

    荣耀x10如何设置指纹解锁(荣耀x10如何设置屏保)

  • excel如何打开两个独立窗口(excel如何打开两天前没有保存的文件)

    excel如何打开两个独立窗口(excel如何打开两天前没有保存的文件)

  • 影驰主板u盘启动按f几(影驰主板u盘启动按f9没反应)

    影驰主板u盘启动按f几(影驰主板u盘启动按f9没反应)

  • 苹果xs发热降频严重(iphonex 发热降频)

    苹果xs发热降频严重(iphonex 发热降频)

  • 为什么按音量键不是显示媒体(为什么按音量键只能调通话)

    为什么按音量键不是显示媒体(为什么按音量键只能调通话)

  • 相册访问sd卡授权怎么开启(相册访问sd卡授权怎么删除照片)

    相册访问sd卡授权怎么开启(相册访问sd卡授权怎么删除照片)

  • vivox9s什么时候上市的(vivox9s什么时候出的多少钱)

    vivox9s什么时候上市的(vivox9s什么时候出的多少钱)

  • 华为nova7pro有没有无线充电(华为nova7pro有没有遥控功能)

    华为nova7pro有没有无线充电(华为nova7pro有没有遥控功能)

  • 钉钉视频黑屏怎么回事(钉钉视频黑屏怎么恢复)

    钉钉视频黑屏怎么回事(钉钉视频黑屏怎么恢复)

  • 华为录屏功能不见了(华为屏幕录制不好使了怎么办)

    华为录屏功能不见了(华为屏幕录制不好使了怎么办)

  • 华为新机增强服务要开吗(华为新机增强服务与用户体验改进)

    华为新机增强服务要开吗(华为新机增强服务与用户体验改进)

  • airpods轻触应该触哪(airpods 轻触)

    airpods轻触应该触哪(airpods 轻触)

  • 如何关闭手机分身功能(如何关闭手机分享功能)

    如何关闭手机分身功能(如何关闭手机分享功能)

  • 电脑视频放大按哪个键(电脑视频放大按钮在哪里)

    电脑视频放大按哪个键(电脑视频放大按钮在哪里)

  • 荣耀v30支持无线快充吗(荣耀v30支持无线投屏笔记本电脑吗)

    荣耀v30支持无线快充吗(荣耀v30支持无线投屏笔记本电脑吗)

  • 笔记本网络电缆未正确接入或已损坏怎么办(笔记本网络电缆被拔出是什么原因)

    笔记本网络电缆未正确接入或已损坏怎么办(笔记本网络电缆被拔出是什么原因)

  • OPPO k5忘记解锁密码怎么办(oppok5密码锁忘了怎么解)

    OPPO k5忘记解锁密码怎么办(oppok5密码锁忘了怎么解)

  • 见习的目的和要求

    见习的目的和要求

  • 荣耀note10多少w快充(荣耀note10多少w充电)

    荣耀note10多少w快充(荣耀note10多少w充电)

  • 如何修改微信二维码收款名字(如何修改微信二维码)

    如何修改微信二维码收款名字(如何修改微信二维码)

  • 360tray是什么启动项(360utils)

    360tray是什么启动项(360utils)

  • 华为nova5与nova5pro的区别(华为nova5与nova5pro)

    华为nova5与nova5pro的区别(华为nova5与nova5pro)

  • vivox27手机可以当遥控器吗(vivox27手机可以无线充电吗)

    vivox27手机可以当遥控器吗(vivox27手机可以无线充电吗)

  • 所得税的记账凭证
  • 工程款给付协议
  • 本期金额和上期金额怎么填写
  • 更换电脑后个税信息如何导入
  • 应纳税所得额就是企业所得税吗
  • 固定资产已入账怎么冲销
  • 发出库存商品没发货
  • 材料成本差异分配率
  • 增值税发票免税和0%区别
  • 非居民企业从居民企业取得分红
  • 单张发票不超过1万
  • 处置的固定资产
  • 自然人转让股权税收筹划
  • 个税申报系统换一台电脑要怎么办
  • 工会筹备金如何补报
  • 利息支出为什么不是经营成本
  • RSync文件备份同步 Linux服务器rsync同步配置图文教程
  • 总分公司分税
  • 损益类科目在期末均需转入什么科目
  • 存货跌价准备借贷方表示的含义
  • 闲置设备怎么处理
  • 预缴的城建税怎么做账
  • 免税出口样品收多少税
  • 应收票据冲转是什么科目
  • 公司装修费用如何入账
  • 预付账款退款怎么做会计分录
  • 没有了睡眠功能
  • 如何找装修公司
  • win10开始菜单设置无效
  • mp3最早什么年代流行
  • 龙舌兰 (© Moab Republic/Shutterstock)
  • 朱顶雀的饲养
  • php的session
  • video.js教程
  • php操作mysql数据库的扩展有哪三个
  • 简单html代码
  • 付了两次运费发了一个包裹
  • 完美破解什么意思
  • 自然人专项扣除填报
  • okr开源软件
  • 租车出差差旅费标准
  • 小规模纳税人收入超过500万怎么办
  • 视同销售的增值税怎么申报
  • 采购供应部门发挥的作用
  • 扣伙食费会计分录
  • 企业所得税的营业成本怎么填
  • 公司给员工付个税怎么交
  • 一般纳税人每月开票不能超过多少
  • 挂靠管理费如何入账?
  • 出口抵减内销产品应纳税额分录
  • 公司转账转错账户
  • 发票已付款,可以开红字吗
  • 政府返税计入什么科目
  • 给公司股东分红的账务处理
  • 质保金可以先不开票吗
  • 软件开发费属于研发和技术服务还是信息技术服务
  • 如何填报自然人缴税系统
  • linux动态库的制作
  • windows8.
  • win7怎么用耳机听歌
  • linux系统的配置设计过程
  • exe文件xp3
  • win7系统纯净版和旗舰版有什么区别
  • linux系统的配置
  • windows8启动项设置
  • win10桌面图标排列设置
  • suse linux 12 sp5
  • uisrollview
  • 用批处理删除盘符
  • jquery弹出窗口的方法
  • mysql 导出指定表
  • 利用python进行爬虫
  • unity arkit
  • unity3d知乎
  • jquery第十章上机
  • 陕西电子税务局官网登录入口网址
  • 不动产租赁如何征税
  • 如何查询公司是一般纳税人还是小规模纳税人
  • 火车票是否出票查询
  • 税务内控机制建设
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设