V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
enenaaa
V2EX  ›  Android

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

  •  
  •   enenaaa · 2018-03-26 12:10:50 +08:00 · 10490 次点击
    这是一个创建于 2440 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有什么简便点的方案吗?

    10 条回复    2018-03-28 13:55:51 +08:00
    wu67
        1
    wu67  
       2018-03-26 12:26:12 +08:00
    用 URL 加版本查询咯,新版本用?ver=***,返回新结构的 json,老版本不加,返回不变
    porrat
        2
    porrat  
       2018-03-26 12:32:40 +08:00 via iPhone
    没有
    geekcorn
        3
    geekcorn  
       2018-03-26 12:34:28 +08:00
    路由里区分 版本号 呗
    enenaaa
        4
    enenaaa  
    OP
       2018-03-26 12:35:22 +08:00
    @wu67
    @geekcorn
    忘了说明, 指的是 android sdk
    crysislinux
        5
    crysislinux  
       2018-03-26 12:44:20 +08:00 via Android   ❤️ 1
    就是 if else。。检查一下 API 版本,然后不同版本调不同 api,你也可以创建一个包装类,这个类里再调具体的 API,反正就还是 if else。
    honeycomb
        6
    honeycomb  
       2018-03-26 18:16:29 +08:00 via Android   ❤️ 1
    @enenaaa 做得到的,但是 target SDK 和 minimum SDK 差的越多,需要的胶水代码 /if else 也越多
    vjnjc
        7
    vjnjc  
       2018-03-27 12:33:30 +08:00   ❤️ 1
    没简便的方法。
    比如 android 5 以后才有阴影,对于 5 之前的设备就要手绘阴影,就是有一圈黑边,又难看又难写。
    ghostman
        8
    ghostman  
       2018-03-27 21:14:05 +08:00
    多态了解下
    ybaovv
        9
    ybaovv  
       2018-03-28 09:04:14 +08:00
    可以更新 supportlib 的版本,有些 v7 v4 的兼容包有的方法的话可以直接调用,没有就判断下系统版本调用对应的 api。
    bclerdx
        10
    bclerdx  
       2018-03-28 13:55:51 +08:00
    @enenaaa android SDK 的 API 号是判断该 APP 是否原生兼容某一个安卓系统的唯一依据么?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2104 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:37 · PVG 08:37 · LAX 16:37 · JFK 19:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.