最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android快速實(shí)現(xiàn)一個(gè)財(cái)務(wù)APP程序詳解

 更新時(shí)間:2022年07月16日 09:43:46   作者:程序員springmeng  
這篇文章主要介紹了Android實(shí)現(xiàn)的財(cái)務(wù)APP程序,結(jié)合前后端共功能完善,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

前言

昨天有個(gè)粉絲朋友也想學(xué)開發(fā)Web和小程序、安卓,問可以在大學(xué)學(xué)會(huì)嗎?

在學(xué)校學(xué)到的東西真的有限:

在很多的高校,有一些教授是學(xué)院派的,他們沒有做過多少開發(fā)工作,上課就是照本宣科,講的知識(shí)點(diǎn)都是陳年落伍的技術(shù),更別說帶學(xué)生做項(xiàng)目了。

現(xiàn)在的很多碩博學(xué)生幫老師做課件,然后老師上課一頓讀。

當(dāng)然有的老師開發(fā)能力也是很強(qiáng)的,他們有開發(fā)經(jīng)驗(yàn),可以更加全面地理解技術(shù)知識(shí)點(diǎn),然后傳遞給學(xué)生,也能拿到一些科研項(xiàng)目,然后帶學(xué)生實(shí)戰(zhàn)。

但是,但是,這種老師少之又少。我平時(shí)輔導(dǎo)過大量的計(jì)算機(jī)學(xué)生,也有個(gè)VIP群,很多學(xué)習(xí)VIP項(xiàng)目的小伙伴,也變得越來越強(qiáng),

我總結(jié)出來,大部門計(jì)算機(jī)教學(xué)水平真的一般般:

1,教材落后,還有很多Java課程在教Swing/SSH框架,這已經(jīng)是淘汰多少年的技術(shù)了。

2,實(shí)戰(zhàn)不足。學(xué)生在大學(xué)期間代碼量極少,少得可憐,沒有項(xiàng)目實(shí)戰(zhàn)。找工作和企業(yè)的要求無法匹配。

3,教授課程方式極其落后。這是計(jì)算機(jī)啊,不是匯報(bào)工作,你全課程ppt有啥用。是念ppt學(xué)生能理解,還是給學(xué)生實(shí)操下項(xiàng)目,學(xué)生可以理解????

4,課后輔導(dǎo)比較差。在國外的一些名校,老師每周抽出三個(gè)小時(shí)作為 office hour,國內(nèi)的老師下課,直接拍屁股走人,課后沒有輔導(dǎo)。

昨天沒事,開發(fā)了一個(gè)APP的財(cái)務(wù)系統(tǒng),如果需要學(xué)習(xí)開發(fā),可以一起?。〖佑?,奧利給!

一,系統(tǒng)的技術(shù)棧

移動(dòng)端,采用安卓進(jìn)行開發(fā),Android它應(yīng)用于安卓系統(tǒng)軟件和程序開發(fā),其由谷歌公司推出,目前在國際市場(chǎng)上有著廣泛的應(yīng)用及開發(fā)環(huán)境,并不瘦限制研發(fā)人員能夠通過修改開放的源代碼來實(shí)現(xiàn)各種使用的 APP軟件,開發(fā)的軟件程序具有界面友好穩(wěn)定性好等特點(diǎn),安卓系統(tǒng)架構(gòu)圖具體如下:

后端采用的Java進(jìn)行開發(fā)的,數(shù)據(jù)庫采用的Mysql。

系統(tǒng)的功能架構(gòu):

二,系統(tǒng)界面

后臺(tái):

三,系統(tǒng)核心代碼

/**
 * 小孟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("請(qǐng)輸入賬號(hào)");
        if (password == null || password.trim().isEmpty()) return JsonResult.error("請(qǐng)輸入密碼");
        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("用戶名或密碼錯(cuò)誤");
        }
    }
    @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("請(qǐng)輸入賬號(hào)");
        if (password == null || password.trim().isEmpty()) return JsonResult.error("請(qǐng)輸入密碼");
        if (nickname == null || nickname.trim().isEmpty()) return JsonResult.error("請(qǐng)輸入真實(shí)姓名");
        if (dianhua == null || dianhua.trim().isEmpty()) return JsonResult.error("請(qǐng)輸入電話");
        if (youxiang == null || youxiang.trim().isEmpty()) return JsonResult.error("請(qǐng)輸入郵箱");
        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("用戶名已經(jīng)存在,請(qǐng)重試!");
        }
        if (userService.save(user1)) {
            return JsonResult.ok("注冊(cè)成功");
        }
        return JsonResult.error("注冊(cè)失敗");
    }
    @PostMapping("/userupdate")
    @ResponseBody
    public JsonResult update(Integer id, String username, String password, String nickname) {
        if (username == null || username.trim().isEmpty()) return JsonResult.error("請(qǐng)輸入賬號(hào)");
        if (password == null || password.trim().isEmpty()) return JsonResult.error("請(qǐng)輸入密碼");
        if (nickname == null || nickname.trim().isEmpty()) return JsonResult.error("請(qǐng)輸入真實(shí)姓名");
        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("請(qǐng)輸入賬號(hào)");
        if (password == null || password.trim().isEmpty()) return JsonResult.error("請(qǐng)輸入密碼");
        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);  // 使用關(guān)聯(lián)查詢
    }
    /**
     * 查詢?nèi)?
     */
    @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());  // 使用關(guān)聯(lián)查詢
        //return JsonResult.ok().setData(pageParam.sortRecords(records));
    }
    /**
     * 根據(jù)id查詢
     */
    @ResponseBody
    @RequestMapping("/get")
    public JsonResult get(Integer id) {
        return JsonResult.ok().setData(gonggaoService.getById(id));
		// 使用關(guān)聯(lián)查詢
        //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);  // 使用關(guān)聯(lián)查詢
    }
    /**
     * 查詢?nèi)?
     */
    @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());  // 使用關(guān)聯(lián)查詢
        //return JsonResult.ok().setData(pageParam.sortRecords(records));
    }
    /**
     * 根據(jù)id查詢
     */
    @ResponseBody
    @RequestMapping("/get")
    public JsonResult get(Integer id) {
        return JsonResult.ok().setData(gudingzhichuService.getById(id));
		// 使用關(guān)聯(lián)查詢
        //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("修改失敗");
    }

到此這篇關(guān)于Android快速實(shí)現(xiàn)一個(gè)財(cái)務(wù)APP程序詳解的文章就介紹到這了,更多相關(guān)Android財(cái)務(wù)APP內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Android模擬器實(shí)現(xiàn)手機(jī)添加文件到sd卡的方法

    Android模擬器實(shí)現(xiàn)手機(jī)添加文件到sd卡的方法

    這篇文章主要介紹了Android模擬器實(shí)現(xiàn)手機(jī)添加文件到sd卡的方法,詳細(xì)分析了Android模擬器添加文件到sd卡的步驟與相關(guān)技巧,需要的朋友可以參考下
    2016-06-06
  • 一文帶你了解Android中的網(wǎng)絡(luò)請(qǐng)求

    一文帶你了解Android中的網(wǎng)絡(luò)請(qǐng)求

    安卓開發(fā)網(wǎng)絡(luò)請(qǐng)求可謂是安卓開發(fā)的靈魂,如果你不會(huì)網(wǎng)絡(luò)請(qǐng)求,那么你開發(fā)的應(yīng)用軟件就是一具沒有靈魂的枯骨。本文主要為大家介紹的是Android的網(wǎng)絡(luò)請(qǐng)求,感興趣的可以跟隨小編一起學(xué)習(xí)一下
    2022-11-11
  • Android自定義View實(shí)現(xiàn)仿1號(hào)店垂直滾動(dòng)廣告條代碼

    Android自定義View實(shí)現(xiàn)仿1號(hào)店垂直滾動(dòng)廣告條代碼

    這篇文章主要介紹了Android自定義View實(shí)現(xiàn)仿1號(hào)店垂直滾動(dòng)廣告條代碼,實(shí)現(xiàn)步驟及實(shí)現(xiàn)原理本文給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2017-01-01
  • Android開發(fā)四大組件之實(shí)現(xiàn)電話攔截和電話錄音

    Android開發(fā)四大組件之實(shí)現(xiàn)電話攔截和電話錄音

    這篇文章給大家介紹Android開發(fā)四大組件之實(shí)現(xiàn)電話攔截和電話錄音,涉及到android四大基本組件在程序中的應(yīng)用,對(duì)android四大基本組件感興趣的朋友可以參考下本篇文章
    2015-10-10
  • Android?ViewBinding使用介紹

    Android?ViewBinding使用介紹

    最近這段時(shí)間在學(xué)習(xí)Kotlin,突然發(fā)現(xiàn)谷歌已經(jīng)把kotlin-android-extensions插件廢棄,目前推薦使用ViewBinding來進(jìn)行替代,接下來通過本文給大家分享Android使用ViewBinding的詳細(xì)步驟,感興趣的朋友一起學(xué)習(xí)吧
    2022-09-09
  • Android簡(jiǎn)單實(shí)現(xiàn)菜單拖拽排序的功能

    Android簡(jiǎn)單實(shí)現(xiàn)菜單拖拽排序的功能

    這篇文章主要介紹了Android簡(jiǎn)單實(shí)現(xiàn)菜單拖拽排序的功能,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)價(jià)值,需要的朋友可以參考一下
    2022-07-07
  • android Chronometer控件使用大全

    android Chronometer控件使用大全

    Chronometer是一個(gè)簡(jiǎn)單的計(jì)時(shí)器,這篇文章主要介紹了android Chronometer控件簡(jiǎn)單使用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • Android中使用Vectors(2)繪制優(yōu)美的路徑動(dòng)畫

    Android中使用Vectors(2)繪制優(yōu)美的路徑動(dòng)畫

    這篇文章主要介紹了Android中使用Vectors(2)繪制優(yōu)美的路徑動(dòng)畫的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • Android編程實(shí)現(xiàn)讀取工程中的txt文件功能

    Android編程實(shí)現(xiàn)讀取工程中的txt文件功能

    這篇文章主要介紹了Android編程實(shí)現(xiàn)讀取工程中的txt文件功能,結(jié)合實(shí)例形式詳細(xì)分析了Android讀取txt文件的原理、操作步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-02-02
  • Android Studio導(dǎo)入項(xiàng)目非常慢的解決方法

    Android Studio導(dǎo)入項(xiàng)目非常慢的解決方法

    這篇文章主要為大家詳細(xì)介紹了Android Studio導(dǎo)入項(xiàng)目非常慢的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11

最新評(píng)論

元江| 安吉县| 迭部县| 棋牌| 肥东县| 横峰县| 乐亭县| 景谷| 集贤县| 宜春市| 镶黄旗| 普陀区| 和龙市| 准格尔旗| 阿瓦提县| 抚宁县| 鹿邑县| 湾仔区| 宝丰县| 石阡县| 根河市| 百色市| 高陵县| 双江| 陕西省| 镇江市| 万盛区| 武鸣县| 姚安县| 宣汉县| 井研县| 耿马| 内黄县| 平陆县| 苗栗县| 张家川| 永登县| 墨玉县| 天全县| 兰坪| 河池市|