我想知道 android-support-v4.jar 之间的区别 和 android-support-v7-appcompat.jar 。如果我想在我的应用程序中添加appcompat Action Bar,我需要添加 android-support-v7-appcompat.jar 和 android-support-v4.jar 或仅机器人支撑-V7-appcompat.jar
另外, android-support-v13.jar 有appcompat吗?
答案 0 :(得分:167)
<强>更新强>
自问题得到解答以来,支持库已经进行了很多更改。好的是,它也有很好的记录。因此,您必须阅读Support Library Documentation以获取更多详细信息和更多可用的支持库。
从支持库版本26。0。0(2017年7月)开始,最低要求 大多数支持库支持的API级别已增加到 适用于大多数库包的Android 4.0(API级别14)。
v4支持库
此库旨在与
Android 1.6(API级别4)Android 2.3(API级别9)Android 4.0(API级别14)及更高版本一起使用。它包括与其他API相比最大的API集 库,包括对应用程序组件的支持,用户 界面功能,可访问性,数据处理,网络 连接和编程实用程序。v7图书馆
有几个库设计用于
Android 2.1(API级别7)Android 2.3(API级别9)Android 4.0(API级别14)及更高版本。这些库提供特定的功能集和 可以相互独立地包含在您的应用程序中。v7 appcompat库
此库添加了对Action Bar用户界面设计模式的支持。
注意:强> 该库取决于v4支持库。如果您使用的是Ant或Eclipse,请确保将v4支持库作为一部分包含在内 这个库的类路径。
所以是的,如果你想使用v7,你需要两个罐子。
更新android-support-v13.jar
此级别在API级别27.1.0中已弃用。使用Fragment代替框架Fragment。
v13支持库
此库旨在用于Android 3.2(API级别13)及更高版本。它增加了对Fragment用户界面模式的支持 使用(FragmentCompat)类和其他片段支持 类
当您看到package details时,它的定义中有一个类FragmentCompat。所以它没有appcompat库的所有类。
答案 1 :(得分:44)
仅在最低sdk版本低于API级别11时才需要支持库。否则,您无需为Api Level 11或更高级别的项目添加支持库。
android-support-v4.jar:支持android.app
类,以协助开发Android API级别4或更高版本的应用程序。这样您就可以使应用程序支持后备词了,
android-support-v7.jar 最近在最新的支持库更新中添加了它。 ActionBar允许将操作栏用户界面设计模式实现回Android 2.1(API级别7)及更高版本。使用此类要求您通过扩展新的ActionBarActivity
类来实现您的活动。
如果我想在我的应用程序中添加appcompat操作栏,我是否需要 添加android-support-v7-appcompat.jar和android-support-v4.jar 或者只有android-support-v7-appcompat.jar。
是的,如果你想使用它,你需要添加两个库的引用。
android-support-v13.jar有appcompat吗?
不,它包含 FragmentCompat ,因此如果在版本13之后添加了一些片段功能添加,那么可以使其与Api级别11兼容。这样应用程序目标API 11或更高版本可以使用在较新版本上添加的功能。
答案 2 :(得分:39)
支持库是代码库(类集合),它使新添加的功能与旧设备一起使用 例如,Material Design是在API 21(Android 5.0 - Lolipop)中引入的,但是 v7-support库使其可用于API 7(Android 2.1.x -Eclair)及更高版本。
一些主要的支持库是
V4支持库
V7支持库
V8支持库
v13支持库
这意味着此库具有旨在与API级别7及更高级别一起使用的功能。与V4相同(包含适用于API 4及更高版本的功能)等等。
包括我在内的很少人对这两个词感到困惑。实际上,v7 appcompat库是v7支持库的一部分。 v7支持库主要用于支持API 7及更高版本的Material设计和ActionBar设计模式 V7可以分为更多子类别
v7 appcompat library
v7 cardView库
v7 appcompat库具有以下关键类ActionBar,ActionBarActivity,ShareActionProvider。
添加,
com.android.support:appcompat-v7:21.0.+
gradle文件中的依赖项,导入上述类。
其他支持库
Multidex支持库(用于创建超过65k方法的应用程序)
v17 Leanback支持库(为Android TV提供重要小部件的支持库)
答案 3 :(得分:8)
首先,我们需要了解 What is the Android Support Library ?
Android支持库最初于2011年发布,您可以说它是Android兼容性库.Android支持库为旧版本提供了更新的API。但这个故事还不够。
这可能有点混乱,具有更高版本号的支持库包括以前库中的功能(您可能认为v7-appcompat改进并包含v4中的所有功能)。在大多数情况下,这是不正确的。但库本身有一个修订号。例如,“AppCompat v21”实际上是指支持库v7-appcompat,版本21。
Android支持库不是一个单独的库,但它可以大致分为两组:兼容性和组件库。
1兼容性库专注于从较新的框架版本移植后端功能,以便运行以前版本的设备可以利用较新的API。主要的兼容性库是v4和v7-appcompat。
v4库:它包含许多功能,顾名思义,支持回到API 4.此外,还支持像Fragment和Loader这两个主要类的实现。在API 11中的框架中,您还会发现框架中根本没有的几个广泛使用的类,例如ViewPager和DrawerLayout。
v7-appcompat :v7-appcompat库为ActionBar(在API 11中引入)和工具栏(在API 21中引入)提供了对API 7的发布的支持实现。它需要v4库但不包括它。因此,依赖于v7-appcompat的任何特性也取决于v4。
双组件库 Android支持库还提供更小,更模块化的组件库,使开发人员能够添加不属于标准框架的功能。可以轻松地从项目中添加或删除这些自包含库,而无需考虑依赖性。有几个有价值的组件库需要考虑:
v7-recyclerview :提供RecyclerView组件,可有效显示和动画大量数据,旨在取代ListView
v7-cardview :提供CardView组件,启用卡片UI设计模式
v7-gridlayout :提供GridLayout类,可以将UI元素组织成矩形网格。等。
其他库 Android支持库还包含一些使用频率较低的库,但仍值得一提:
v8:支持RenderScript(在API 11中引入)返回API 8
v13 :为Fragment UI模式提供额外的兼容性支持并捆绑v4 librar
v17 :为构建电视用户界面提供支持
我应该何时使用Android支持库?
当您需要比应用程序的minSdkVersion更新或标准框架中不可用的特定框架功能时,您应该使用其中一个支持库。
我引用此tutorial
答案 4 :(得分:5)
此答案适用于支持库的客户,其版本为&gt; = 26.0.0:
警告:从支持库版本26。0。0(2017年7月)开始,大多数支持库中支持的最低API级别已增加到 Android 4.0(API级别14)对于大多数库包。
例如,对于支持库从26.0.0及更高版本的版本,support-v4和support-v7软件包都支持最低API级别14。
有关详细信息,请参阅Support Library - Version Support and Package Names。