android面试题-迭代开发的时候如何向前兼容新旧接口?
2017-04-22 本文已影响2020人
小怪兽打葫芦娃
自定义控件
- 一分钟实现贴纸功能
- 一分钟实现TextView高亮
- 一分钟实现新手引导页
- 一分钟实现ViewPager卡片
- 一分钟实现轮播图
- 一分钟实现GridView拖拽
- 一分钟实现底部导航栏
- 一分钟实现底部FragmentTabhost
- 一分钟实现多张图片选择
- 一分钟实现仿美拍直播的点赞动画
- 一分钟实现高仿今日头条视频列表
- 一分钟实现购物车加减控件
- 一分钟实现省市县三级联动
- 一分钟实现二维码生成和扫描
- 一分钟实现沉浸式状态栏
- 一分钟实现图片裁剪
- 一分钟实现视频弹幕
- 一分钟实现图片缩放
- 一分钟实现旋转选择器
- 一分钟实现ofo小黄车的引导界面
- 一分钟实现自定义ImageView外貌
- 一分钟实现向左拖拽跳转详情页
- 一分钟实现QQ首页动画特效
- 一分钟实现ViewPager上下滑动
联网
工具
数据库
源码分析相关面试题
Activity相关面试题
- 保存Activity的状态
- 深刻剖析activity启动模式(一)
- 深刻剖析activity启动模式(二)
- 深刻剖析activity启动模式(三)
- Activity Task和Process之间的关系
- 源码分析service开启Activity抛异常?activity不会抛异常
- Activity优雅退出
- onCreate源码分析
Service相关面试题
与XMPP相关面试题
与性能优化相关面试题
与登录相关面试题
与开发相关面试题
- 迭代开发的时候如何向前兼容新旧接口
- 手把手教你如何解决as jar包冲突
- context的原理分析
- 解决ViewPager.setCurrentItem中间很多页面切换方案
- 字体适配
- 软键盘适配
- 机型适配,例如三星、小米、华为、魅族等
- CardView 设置水波纹效果
与人事相关面试题
本文配套视频。。
迭代开发的时候如何向前兼容新旧接口?
设计服务器接口时,每一个接口,都带版本号。比如用户登陆接口第 1 版为
/1/user/login
返回 Json 数据。数据结构改动后,假如 Json 数据只是增加字段,这时接口不用修改。当登陆接口改动太大,会删除或者修改字段。就递增版本号,新添接口:
/2/user/login
旧的 /1/user/login 接口需要保留,这时旧的客户端使用 /1/user/login,而新的客户端使用 /2/user/login。
在服务端 /1/user/login 和 /2/user/login 进行重构,某些地方调用相同的代码。两个接口并存一段时间后,比如过了 3 个月。估计旧的客户端差不多都升级到新的了,这时旧的 /1/user/login 接口就可以不再维护,直接返回错误码。
比如开源中国开发也是如此,开源中国API接口如下:
- 欢迎关注微信公众号,长期推荐技术文章和技术视频
微信公众号名称:Android干货程序员