`
echohfut
  • 浏览: 231684 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

如何同一份代码兼顾新老的API

阅读更多

实际编程中如果代码需要同时考虑Android1/2的API时,如何在同一份代码中做到兼容?

 

其实在Android2.2的开发包Sample (/ApiDemos/src/com/example/android/apis/app/ForegroundService.java)中就有很好的例子。

 

此处主要考虑Android 2.2中 Service类中新添加的接口

startForeground(int id, Notification notification)

stopForeground(boolean removeNotification)

 

 

        try {
            mStartForeground = getClass().getMethod("startForeground",
                    mStartForegroundSignature);
            mStopForeground = getClass().getMethod("stopForeground",
                    mStopForegroundSignature);
        } catch (NoSuchMethodException e) {
            // Running on an older platform.
            mStartForeground = mStopForeground = null;
        }

  

开始时对这段代码不是很理解,为什么明明可以直接调用还要拐一个弯,通过反射来调用。看到后来的代码明白了,为了兼容Android1的代码。即如果mStartForeground / mStopForeground  为空就表示是Android1的环境。

 

 

该种方法在实际工作中也经常用到,可以让客户端代码不要显示依赖于API。

 

 

在此有另一个问题,如果是判断API中是否有新加入的类不知此方法是否可行?

 

 

 

 

分享到:
评论

相关推荐

    一份包涵源代码的精品网站

    【标题】:“一份包涵源代码的精品网站” 在标题中,“一份包涵源代码的精品网站”指的是一份包含完整源代码的高质量网站项目。通常,这样的资源对于开发者或者学习者来说非常有价值,因为它提供了深入理解网站构建...

    CREO二次开发VB API向导

    通过对CREO Parametric 2.0的VB API用户向导的介绍与分析,我们可以看到这一工具集不仅具备强大而全面的功能覆盖范围,同时也兼顾了易用性和灵活性的特点。无论是希望提升工作效率的专业设计师还是寻求自动化解决...

    易语言API专业查询工具

    在编程领域,API(Application Programming Interface)扮演着至关重要的角色,它是一组预定义的函数、类、对象、常量和协议,供开发者在编写应用程序时调用,以实现与操作系统、硬件、网络等进行交互。易语言作为一...

    ios混淆代码工具及垃圾代码生成器工具

    在iOS应用开发中,安全性和隐私保护是...综上所述,iOS混淆代码工具及垃圾代码生成器工具是提高应用安全性的有效手段,但使用时需兼顾应用的稳定性和合规性,同时也要关注技术的持续发展和更新,以便应对新的安全挑战。

    电商管理后台 API 接口文档.md

    总结,Vue驱动的电商管理后台API接口设计注重用户体验,同时兼顾系统的安全性和可维护性。通过这些接口,前端能够灵活地与后台进行数据交互,实现电商网站的各种功能。了解并熟练掌握这些接口,对于开发高质量的电商...

    API Star工具箱 v0.7.2.zip

    总的来说,API Star工具箱 v0.7.2是一个强大的API开发和管理平台,不仅提供了丰富的功能,还兼顾了易用性和可扩展性。无论是个人开发者还是团队,都可以从中受益。通过研究其源代码,开发者可以深入学习API设计的...

    出色的 JavaScript API 设计秘诀

    一个好的API应该让新用户能够快速上手,同时也能让经验丰富的开发者找到高级功能。提供清晰的文档、示例代码和教程是必不可少的。API应该避免过于复杂或冗余的接口,尽量保持简洁,遵循“少即是多”的原则。 再者,...

    RESTFUL API设置最佳实

    5. **高效性**:优化性能,确保 API 响应速度快,减少延迟,同时兼顾安全性和可扩展性。 #### 三、RESTful 原则 RESTful API 的设计基于 Roy Fielding 在其论文《架构风格与基于网络的应用》中提出的 REST 原则。...

    JeecgBoot 是一款基于代码生成器的低代码开发平台

    JeecgBoot 是一款基于代码生成器的低代码开发平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,JWT,支持微服务。强大的代码生成器让前后端代码一键生成,实现低代码开发! ...

    (客户管理)市场细化如何权衡新老客户之间的关系.pdf

    【市场细化策略】的实施需要兼顾新老客户利益,如李凡考虑的那样,要确保渠道下沉以刺激下游客户的销售积极性,同时保护老客户(泉城商贸)的利益。为了防止类似江城市场的问题,李凡计划通过沟通来确保王总理解市场...

    深度 -API 设计最佳实践的思考.pdf

    同时,版本控制是管理API变化的重要手段,它允许新功能的添加而不破坏现有客户端的兼容性。 在设计API时,还要注意安全性,避免敏感信息的泄露,确保数据传输的安全。API的性能也是重要考量,包括响应时间、吞吐量...

    开放平台的Open API设计

    开放平台的Open API设计是现代互联网服务中一个至关重要的组成部分,它允许第三方开发者能够与平台进行数据交互,构建和扩展应用程序。在这个过程中,Open API扮演着桥梁的角色,为开发者提供了一个标准化的接口来...

    Microsoft CryptoAPI加密技术

    Microsoft CryptoAPI,作为微软提供的一个加密API,为开发者在Win32环境下提供了安全服务,包括加密、验证等功能,是PKI(Public Key Infrastructure,公钥基础设施)推荐使用的工具。 **一、加密方法** 1. **公用...

    代码生成工具设计(草案)

    总的来说,代码生成工具的设计需要兼顾灵活性、易用性和高效性。它可以帮助开发者摆脱繁琐的代码编写工作,将精力集中在更富有创新性的任务上,提升整体开发效率和代码质量。通过不断的优化和迭代,这样的工具将成为...

    jQueryAPI-090129.zip

    jQuery从1.x到3.x的版本迭代,不断优化性能,提高对新特性的支持,并兼顾老版本浏览器的兼容性。jQuery Migrate插件则帮助开发者在升级过程中解决不兼容问题。 总结,jQuery API文档是开发者不可或缺的工具,无论你...

    天猫新版全屏代码

    标题中的“天猫新版全屏代码”指的是在天猫网站上应用的一种新型前端技术,它用于创建一个适应各种浏览器的全屏展示效果,特别是用于大图轮播功能。这种全屏代码设计的目标是提供一种无缝、优雅的用户体验,让用户在...

    恶意代码分析实战

    本书是一本内容全面的恶意代码分析技术指南,其内容兼顾理论,重在实践,从不同方面为读者讲解恶意代码分析的实用技术方法。, 本书分为21章,覆盖恶意代码行为、恶意代码静态分析方法、恶意代码动态分析方法、恶意...

Global site tag (gtag.js) - Google Analytics