《第一行代码 第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
上一篇: 吃火锅需要什么调料?经典蘸料走起
下一篇: 海带能不能隔夜吃?海带怎样泡发、保存?