Android支持包/兼容性库 - 使用v4或v13?

Adi*_*ain 31 android android-compatibility android-support-library

我刚刚阅读了Android支持包/兼容性库的这个描述......

http://developer.android.com/sdk/compatibility-library.html

......这让我有点困惑!它说v13库是v4的超集,但我认为它是另一种方式?

实用:如果我想使用兼容性库,以便我的应用程序可以构建并适用于运行Android 2.2(API 8)到4.0(API 14)及更高版本的手机,那么v4对我来说是否足够?

Oll*_*e C 35

要定位API 8(v2.2),您应该使用v4版本.

v13的大部分都可以使用,但是如果您使用依赖于平台13 API的任何功能,您的应用程序将在旧设备上爆炸.

除非有一个特别令人信服的理由需要v13,否则我建议直接进入v4.

  • 这与说v4是v13的子集是一样的.v4中的所有API都包含在v13中,v13中不是来自v4的额外API需要13+. (12认同)
  • 如果您使用v13,并且使用依赖于平台13 API的功能,那么您的应用就会爆炸.仅仅因为它编译,并不意味着它将适用于所有设备. (2认同)

小智 9

答案是正确的,但也有点混乱!目前有3个支持罐:V4,V7和V13.不幸的是,V7仅适用于gridlayout,因此不是超集.

我们只对支持库中的一个jar感兴趣[除非我们也想要gridlayout(我不知道它是什么!)].因此,我们正在查看我们的android:minSdkVersion ="8"并检查它与罐子.所以我们想要V4.

V13只是一个超集,因为它复制了V4方法,而不是代码.即在这个例子中使用V13是不正确的.


rui*_*dge 5

我不认为我们应该使用超集(或子集)来描述这三个库(v4,v7,v13),尽管最简单的含义似乎是向后兼容的版本4,7和13.

谷歌首先在v4中添加了Fragment,然后在每个新版本发布时更新它.这意味着除非你的应用程序仅支持最新版本(强烈不推荐),否则我们几乎随时需要支持 -v4.假设你的minsdk是14,它有片段已经,但是'嵌入片段'仅在17之后支持,所以我们仍然需要v4并在那种情况下使用v4片段.

今年(2013年)谷歌发布了v7,并在其中添加了appcompat-library.这意味着除了第三支持Actionbar(ActionbarSherlock)之前11,官方支持可能更好一个然后我相信,在v7中将来每个新版本发布时,我们都会更新每个操作栏功能.

今天(2013年11月24日)我们仍然需要minsdk = XX(7到10之间).我们应该 actionsBar 添加支持 -v4 片段和支持 -v7 以获得最佳实践.