美文网首页
提升安卓开发效率,减少对接口依赖 实践篇

提升安卓开发效率,减少对接口依赖 实践篇

作者: 光sail | 来源:发表于2021-06-17 17:29 被阅读0次

接口联调方式

在和后台进行接口联调是建议使用postMan 等第三方工具进行接口调试,以postman为例进行接口调试有以下优点:

  • 1 接口参数可以方便看到,并可以更改,比手机端调试速度较快,
    并且手机走的是无线网,可能会受到无线网速不稳定的干扰,而postman电脑上操作,走的是有线网比无线网稳定。
    举个简单的例子用户登录这个接口,如果用平板接口调试,需要以下步骤,每次调试都会进行下列步骤:
    1. 低头在手机上点击账号密码输入框
    2. 输入账号和密码,点击登录
    3. 再抬头从电脑屏幕上查看android studio 里找到 log 返回的后台json 数据

postman调试接口
- 1 输入接口需要的参数,点击send,即可显示后台接口返回的数据,调试完毕界面如图一所示(保存本次接口调试,下次调试就不需再次写入参数)

image.png
  • 2 平板调试接口可能会由于项目处于开发阶段,android 端自身未发现的bug 导致平板显示不正常,bug比较隐蔽,android 端开发人员可能第一次未发现,会认为是后台问题,后台认为是安卓端问题,产生的一系列扯皮问题。
    使用postman进行接口调试 就可以避免安卓端的干扰,后台返回数据有问题,检查postman相关参数无误,即可再于后台沟通。
  • 3 使用postman进行接口调试后保存每个接口的调用,可以为后期进行接口自动化测试做准备,例如图一是我之前的接口调试,一个项目一组接口


    图二

收尾: 通过使用postman和后台进行接口联调结束,再在进行android 代码接口调试,这样就可以节省双方的开发时间,提高开发效率。

下面来介绍下上一篇提过的演示模式,提高开发效率

例如目前我的开发逻辑是app 请求请求后台接口,在后台返回String时, 判断当前是否是演示模式:
是演示模式,把之前固定的Json字符串转换为jsonobject
不是演示模式,把后台返回的字符串转换为jsonobject 如下面代码块所示

if (isDemo) {
         jsonObject = JSONObject.parseObject(demoJson);
     } else {
         jsonObject = response.get();
     }

随着后台开发的进度每日增加,在开发中在基类控制每个请求接口返回的数据是否为演示模式,在子类中
再根据每个接口的开发进度,选择当前接口是否采用演示模式,如下面代码块所示

//处理
public class BaseHttpCallback implements HttpCallback<JSONObject> {
 //BaseHttpCallback 类isDemo 默认控制所有接口是否是演示模式,每个接口也可以单独给isDemo 赋值,控制单独接口是否是演示模式
 protected boolean isDemo = Constant.IS_DEMO;
//如果其他接口返回的也是这样的数据,则使用父类demoJson
   demoJson = "{"seq":"2cc24c0a-bb11-4a3f-a5cf-b624023d71a9","code":0}";
}

public class LoginHttpCallback extends BaseHttpCallback {
 public LoginHttpCallback(OnUIThreadListener onUIThreadListener, String seq, Activity activity) {
     super(onUIThreadListener, seq, activity);
     demoJson = "{"code":0,"data":{"user_info":{"user_name":"ina","employee_name":"ina","employee_key":"8dd587c3-6398-44dd-bf02-0aa9dd424491","employee_code":"ina"},"token":"187c55a4-0c26-431d-8cb8-dcdd3b58f730"},"seq":"fa7a2e78-695d-4556-a987-9314bcc42b02"}";
     isDemo = true;
 }
}

演示模式还有另一个好处 ,在后台的接口有一些动态设置时,demoJson 模拟后台动态设置数据,安卓端本地进行相关的业务逻辑 例如下面代码块

public class InitHttpCallback extends BaseHttpCallback {
 public InitHttpCallback(OnUIThreadListener onUIThreadListener, String seq, Activity activity) {
     super(onUIThreadListener, seq, activity);
     //app全球发行 开启谷歌 facebook 推特登录 kakaotalk登录 快速登录   kakaotalk为韩国本地聊天工具,类似国内微信 QQ
    demoJson="{\"code\":0,\"data\":[{\"name\":\"谷歌登录\",\"loginType\":\"google\"},{\"name\":\"推特登录\",\"loginType\":\"twitter\"},{\"name\":\"facebook登录\",\"loginType\":\"facebook\"},{\"name\":\"快速登录\",\"loginType\":\"quickLogin\"},{\"name\":\"kakaotalk登录\",\"loginType\":\"kakaotalk\"}]}";

    //app香港发行 开启谷歌 facebook 推特登录 快速登录 关闭kakaotalk
    //   demoJson="{\"code\":0,\"data\":[{\"name\":\"谷歌登录\",\"loginType\":\"google\"},{\"name\":\"推特登录\",\"loginType\":\"twitter\"},{\"name\":\"facebook登录\",\"loginType\":\"facebook\"},{\"name\":\"快速登录\",\"loginType\":\"quickLogin\"}]}";
     isDemo = true;
 }}

相关文章

  • 提升安卓开发效率,减少对接口依赖 实践篇

    接口联调方式 在和后台进行接口联调是建议使用postMan 等第三方工具进行接口调试,以postman为例进行接口...

  • 提升安卓开发效率,减少对接口依赖 概述篇

    问题得由来 众所周知,安卓端数据展示来源于后端数据,通过获取后端的Json数据显示app内容。但如果后台接口未开发...

  • Flutter零基础轻松入门

    发展历史减少开发周期,提高开发效率,原本IOS和安卓开发是分开相互独立的,随着项目规模的越来越大,竞争越来越激烈,...

  • Vue项目中API设计及拦截器使用

    合理添加拦截器、明确API设计的好处: 统一管理接口 减少参数重传 规范前端开发 提升开发效率 合理设计拦截器 统...

  • 前后端分离:使用RAP搭建MockServer

    MockServer可以减少前端开发对后端的依赖,提高前端开发的效率,同时也利于团队的协作。 什么是RAP? RA...

  • Jetpack--LifeCycle、ViewModel、Liv

    Jetpack是google官方的安卓开发工具集,目的是为了标准化和加快开发效率,并且之后会持续更新 安卓开发中,...

  • Android周报第一期

    Android开发 1)使用Transitions API为安卓应用创建动画 虽然移动应用对动画的依赖相当普遍,但...

  • android开发摘记

    最佳实践 最佳实践中文版 开源库搜索 提升开发效率工具集合1 提升效率工具集合2 收集和详解开源代码--Cool ...

  • Mock工具调研

    背景 业务严重依赖第三方接口,希望使用MockServer来模拟第三方接口提升工作效率 Mock作用 1.解除依赖...

  • 安卓自定义View-画圆

    效果图 代码 安卓开发入门教程系列汇总 安卓发展历程及前景 安卓发展历程 安卓开发前景展望 初探安卓 安装开发工...

网友评论

      本文标题:提升安卓开发效率,减少对接口依赖 实践篇

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