美文网首页
整理记录App开发常用功能

整理记录App开发常用功能

作者: 光sail | 来源:发表于2022-03-02 14:43 被阅读0次

1.网络请求安全性

目的

确保接口都是合法的被访问,而不是外部人员通过接口测试工具(例如postman)进行访问。
和后台开发人员沟通好签名规则后,Android 未登录无token 的情况下后端开发人员按约定好的加密方式进行验签,若已登录有token的情况下,安卓端请求头带token,后端验证token的合法性

签名的写法(举个例子)

  1. 把所有参数加一个时间戳参数,对所有参数首字母排序并生成字符串。
  2. 时间戳整除17取余数
  3. 然后整个字符串从余数位置进行截取,首尾互换,未满余数的不截取字符串,
  4. 再进行MD5加密
    实例代码
public static String getSignature(JSONObject initParam,long time) throws JSONException {
        List<String> list = new ArrayList<>();
        Iterator iterable=initParam.keys();
        while (iterable.hasNext()){
            list.add((String) iterable.next());
        }
        Collections.sort(list);
        StringBuffer sb=new StringBuffer();
        for (String s:list){
            sb.append(initParam.getString(s));
        }

        String rawString=sb.toString();
        int  l= (int)(time%17);
        if(rawString.length()>l){
            rawString=rawString.substring(l,rawString.length())+rawString.substring(0,l);
        }
        return Utils.toMD5(rawString);
    }

2.APP 免密登录,提高用户体验度。

背景

用户登录系统后一直在操作,当到token到期后,突然该用户被提示需要重新登录,这样的体验是非常不好的。

开发前期准备:后台开发人员提供一个刷新token的接口

App端开发思路

  1. 用户第一次登录填写账号密码后,调用登录接口获取用户信息、accessToken、refreshToken,
  2. 当后台返回的信息错误码为accessToken失效时,使用refreshToken,访问刷新token的接口获取最新accessToken

3.手机上获取Log,摆脱电脑限制,从而快速准确定位到bug

背景

常规情况调试app,都是手机连接电脑,根据Android studio logcat 查看log。
但由于app各个场景的复杂性(例如用户那边出现bug,公司测试人员无法复现、bug出现在智慧工厂生产环境中,开发人员不在现场等场景),出现bug时无法连接电脑,便看不到log了,

开发思路

通过在app代码中加入执行带有log输出的cmd命令的代码,获取到log输出的字符串,写入sd卡完成log实时记录。
实例代码

 try {
               cmds = "logcat";//打印所有日志信息
                logcatProc = Runtime.getRuntime().exec(cmds);
                mReader = new BufferedReader(new InputStreamReader(
                        logcatProc.getInputStream()), 1024);
                String line = null;
                while (mRunning && (line = mReader.readLine()) != null) {
                    if (!mRunning) {
                        break;
                    }
                    if (line.length() == 0) {
                        continue;
                    }
                    if (out != null && line.contains(mPID)) {
                        out.write((line + "\n").getBytes());
                    }
                }

            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                if (logcatProc != null) {
                    logcatProc.destroy();
                    logcatProc = null;
                }
                if (mReader != null) {
                    try {
                        mReader.close();
                        mReader = null;
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
                if (out != null) {
                    try {
                        out.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                    out = null;
                }

            }

        }

相关文章

  • 整理记录App开发常用功能

    1.网络请求安全性 目的 确保接口都是合法的被访问,而不是外部人员通过接口测试工具(例如postman)进行访问。...

  • iOS开发——UITableView勾选效果

    今天整理了一下项目中常用的一些控件功能,整理一些UI效果来总结一下。 如今的APP开发中,UITableView是...

  • iOS开发常用功能整理

    此文纯为自己备忘,不喜勿喷,默默关掉! 1.改变状态栏颜色 (1)在info.plist文件中改 (2)代码更改 ...

  • 百度SDK实战Demo(获取实时定位状态)

    地图的功能几乎每个App都会用到. 特别是有定位功能的app,从开发到现在,地图功能基本是我常用到的.我就抽空总结...

  • Android 开发日常技术点笔记(一)

    经过一段时间的开发,App 二期功能大概完成,在开发过程中遇到几个技术点需要注意,在此整理记录下来。主要包括系统 ...

  • uni-app app跳转mini程序

    记录uni-app 开发的App如何跳转mini程序 1. uni-app打开分享功能 2. 获取mini程序原始...

  • iOS记录App开发订阅功能

    最近遇到App需要开发订阅功能,查了很多资料,参考了很多,结合自己了解的,还是记录下来。 原理如下 逻辑1 1.1...

  • 自动化工具

    Postman功能更完整,也更合适用于团队合作开发,以下是整理的几个重要常用功能,但是功能远不止这些。 创建Htt...

  • 经验拾遗之定位功能

    iOS开发,定位功能是很多app的核心功能,也是出门在外的必用功能,现在来重新整理一下CoreLocation这...

  • tableview的简单使用

    UITableView是app开发中常用到的控件,功能很强大,多用于数据的显示。 初始化tableview后,要想...

网友评论

      本文标题:整理记录App开发常用功能

      本文链接:https://www.haomeiwen.com/subject/lgpsrrtx.html