android-support-v7-appcompat和android-support-v4之间的区别

时间:2013-08-16 10:41:35

标签: android android-support-library android-4.0-ice-cream-sandwich android-actionbar-compat android-compatibility

我想知道 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吗?

5 个答案:

答案 0 :(得分:167)

<强>更新

自问题得到解答以来,支持库已经进行了很多更改。好的是,它也有很好的记录。因此,您必须阅读Support Library Documentation以获取更多详细信息和更多可用的支持库。

  

从支持库版本26。0。0(2017年7月)开始,最低要求   大多数支持库支持的API级别已增加到   适用于大多数库包的Android 4.0(API级别14)。


以下是与Support Library Packages

的区别
  

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

  

v13 Support Library

     

此级别在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支持库

7代表v7支持库中的内容是什么?

这意味着此库具有旨在与API级别7及更高级别一起使用的功能。与V4相同(包含适用于API 4及更高版本的功能)等等。

v7支持库和v7 appcompat库之间的区别?

包括我在内的很少人对这两个词感到困惑。实际上,v7 appcompat库是v7支持库的一部分。 v7支持库主要用于支持API 7及更高版本的Material设计和ActionBar设计模式 V7可以分为更多子类别

  • v7 appcompat library

  • v7 cardView库

  • v7 recyclerView library
  • v7 pallete library etc

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