欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

《第一行代码 第2版》中新建Activity时的Backwards Compatibility 选项框,怎么不见了?

程序员文章站 2022-04-21 11:57:07
在看《第一行代码 第2版》32页,这页讲述新建Activity ,有句话:“勾选Backwards Compatibility 表示会为项目启用向下兼容的模式”。还有这操作,为啥我新建Activity时就没有这个选项? 往前翻,书本第5页,搭建开发环境,可以推断本书八成用的是Android Studio 2.2 ,官网上上已经不提供2.2版本下载了。我用的是Android Studio 3.4 版本,.....
  •      在看《第一行代码 第2版》32页,这页讲述新建Activity ,有句话:“勾选Backwards Compatibility 表示会为项目启用向下兼容的模式”。还有这操作,为啥我新建Activity时就没有这个选项?
  •      往前翻,书本第5页,搭建开发环境,可以推断本书八成用的是Android Studio 2.2 ,官网上上已经不提供2.2版本下载了。我用的是Android Studio 3.4 版本,那到底哪个版本这个选项没有了?一番搜索没有找到答案。但是发现了新的知识点:
  •      If false, this activity base class will be Activity instead of AppCompatActivity 就是说如果不勾选,新建的TestActivity将继承自Activity而不是AppCompatActivity。也就意味着AppCompatActivity的作用是兼容低版本android系统
  •     AppCompatActivity的包是android.support.v7.app。support库的功能之一就是兼容低版本android系统,关于这个功能,有下面这段描述:
      我们开发的App需要支持的minSdkVersion=9,targetSdkVersion=11,在程序里使用了android 3.0
       (API level 11)提供的ActionBar类,使用compileSdkVersion=11成功编译出apk。在android 3.0的设备上
       完美运行,但是app在android 2.3的设备就会crash,报找不到ActionBar的错误。这很好理解,因为旧版
       本上没有新版本里新增的类。为了避免使用了最新功能开发的app只能在最新系统的设备上运行的尴尬,
       官方把新版系统framework中新增加的接口提出来放到了Android Support Library(支持包)中,开发者
       在遇到上面的情况时,就可以使用支持包中具有同样功能的ActionBar类,这个支持包会打包进App里,
       这样使用了新版本系统上功能的App也可以向后兼容以前的老系统版本设备了。使用支持包中的类除了
       让我们免于判断App运行的系统版本外,还可以使App在各个版本保持同样的用户体验。如在5.0以下系统
       使用material design。
    

本文地址:https://blog.csdn.net/zhangjin1120/article/details/107590974

相关标签: Android技术积累