既要兼容老版本系统,又想调用新版本的 API,该怎么做?

2018-03-26 12:10:50 +08:00
 enenaaa

有什么简便点的方案吗?

10928 次点击
所在节点    Android
10 条回复
wu67
2018-03-26 12:26:12 +08:00
用 URL 加版本查询咯,新版本用?ver=***,返回新结构的 json,老版本不加,返回不变
porrat
2018-03-26 12:32:40 +08:00
没有
geekcorn
2018-03-26 12:34:28 +08:00
路由里区分 版本号 呗
enenaaa
2018-03-26 12:35:22 +08:00
@wu67
@geekcorn
忘了说明, 指的是 android sdk
crysislinux
2018-03-26 12:44:20 +08:00
就是 if else。。检查一下 API 版本,然后不同版本调不同 api,你也可以创建一个包装类,这个类里再调具体的 API,反正就还是 if else。
honeycomb
2018-03-26 18:16:29 +08:00
@enenaaa 做得到的,但是 target SDK 和 minimum SDK 差的越多,需要的胶水代码 /if else 也越多
vjnjc
2018-03-27 12:33:30 +08:00
没简便的方法。
比如 android 5 以后才有阴影,对于 5 之前的设备就要手绘阴影,就是有一圈黑边,又难看又难写。
ghostman
2018-03-27 21:14:05 +08:00
多态了解下
ybaovv
2018-03-28 09:04:14 +08:00
可以更新 supportlib 的版本,有些 v7 v4 的兼容包有的方法的话可以直接调用,没有就判断下系统版本调用对应的 api。
bclerdx
2018-03-28 13:55:51 +08:00
@enenaaa android SDK 的 API 号是判断该 APP 是否原生兼容某一个安卓系统的唯一依据么?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/441437

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX