java学习之路

java开发app后台杂记

2019-10-24  本文已影响0人  唯有努力不欺人丶

额,这篇文章纯粹记录开发中遇到的问题或者接触到的比较新鲜的事情。再有就是一些神奇的解决方案。
要诚心诚意的致敬现在的老大,虽然平时不上手代码也不太会底层实现(因为没见过),但是想法总是络绎不绝,思路总是思如泉涌。
接下来记录一些工作中遇到的一些事,以后用得到当例子,以后用不到当开拓眼界了吧。其实也不都是java方便的知识,更多的是位置的设置,配置之类的。

1.app实现后台进程不被杀死:

这个起因我们项目有个轨迹追踪的功能,但是又害怕司机后台运行程序一段时间会被杀死,导致追踪也停止。所以老大给出的建议:两个后台音乐播放(实际上没声音)的线程,并且做到互相拉起(其中一个死了另一个会拉起这个)。最大程度保证app后台存活性。

2.苹果系统手续费问题:

因为很少做app,近段日子感觉接触到的都是新知识。据说苹果app中充值,官方收取30%手续费!这个数据过分了有木有?然后我们老大给出的方法:有个全局状态,在苹果审核期所有充值页面都屏蔽,待审核完毕后再放开充值,这样一个绕开苹果的过程可以大大降低平台的成本。(我不知道是否涉及擦边,如有望提醒下)

3.app版本更换问题:

经常性的app版本要迭代。以前我接触到的方法就是打个apk包,然后替换。但是这次要做到的是后台上传apk文件,然后自动更换apk。
别管为什么这么实现了,反正是要这么做,然后一开始的思路是用配置文件,上传文件后修改配置文件的版本号,同时将新apk文件替换老文件,老文件更名为XX+版本号.apk。
结果后来在实现的过程中发现文件的配置文件修改问题,就是只第一次读取配置文件,后来的每次读还是最初的值,哪怕改了也是一样。也可能是我太菜没研究明白,这是个小遗憾。
反正就是出于不耽误时间的原因立刻就换了个思路,选择用数据库来直接控制修改版本。
这里简单的说一下我的思路与实现,为了以后遇到类似的问题有个现成的想法,同时如果能帮助到同样遇到这种问题的人就再好不过了:

    @Override
    public R editDrvierApk(MultipartFile file,double version) {
        double version = versionDao.selectNew(1).getVersion();
        File file1 = new File("D:\\Program Files (x86)\\nginx-1.16.0\\download\\driverApp.apk");
        // 判断该文件是否存在
        if (file1.exists()) {
            File newfile = new File("D:\\Program Files (x86)\\nginx-1.16.0\\download\\driverApp(" + version + ").apk");
            // 重命名该文件
            file1.renameTo(newfile);
        }
        File dest = new File("D:\\Program Files (x86)\\nginx-1.16.0\\download\\driverApp.apk");
        if (!dest.getParentFile().exists()) {
            dest.getParentFile().mkdirs();
        }
        try {
            file.transferTo(dest); // 保存文件
            VersionEntity versionEntity = new VersionEntity();
            versionEntity.setType(1);
            versionEntity.setVersion(version);
            versionDao.insert(versionEntity);
            return R.ok();
        } catch (Exception e) {
            e.printStackTrace();
            return R.error();
        }
    }

这其实存储路径还有apk名字都是自定义,可改,dao层也是自定义,type也是。反正都是活的,我这里只是表达下逻辑。
反正是先更改apk,然后更改数据库中的最新版本号。然后这个操作就完成了。
未完待续,我会随时遇到问题随时补充。

上一篇下一篇

猜你喜欢

热点阅读