[wordpress搬家]Android 基础 — 经常打交道的Support Library

有意无意见经常用到,如果工程引用别的库的话这个兼容库还经常冲突,到底何方神圣?为什么这个容易冲突呢?有点意思。

其实官方的文档很简单,对于兼容库的使用是一种Best practice,在兼容库中的Feature我们都可以使用,有助于我们提升UI的的质量、程序的性能等。在使用的同时对版本也会向前兼容到兼容库的level(比如我用了android-support-v4.jar的feature,则我们app最低可以在android api level v4(1.6)上运行)。

兼容库目前分为

  • V4 support library,对应Api Lv4
    (Fragment, NotificationCompat, LocalBroadcastManager, ViewPager, PageTitleStrip…)
  • V7 support library,对应Api Lv7
    (ActionBar, ShareActionProvider, GridLayout, MediaRouter…)
  • V8 support library,对应Api Lv8
    (RenderScript)
  • V13 support library,对应Api Lv13
    (FragmentCompat)

(api roadmap)
可以看到不同level的兼容包包含了不同的feature(详情)

在官方文档中发现对于同一个兼容库其实存在很多revision:

  • Android Support Library, revision 18 (July 2013)
  • Android Support Library, revision 12 (February 2013)
  • Android Support Library, revision 11 (November 2012)
  • Android Support Library, revision 10 (August 2012)

个版本的兼容库也在不断更新,不过jar包并没有表现出更新的版本号,只有监控库的版本,所以这里有可能会出现冲突,在基于模块/库进行开发时如果发现编译出现问题,可以对比一下兼容库jar包的大小。

在使用兼容库时要注意两点
1,同一个类类名相同,但是兼容库的包名以android.support开头。如用Fragment时就需要注意,使用当前SDK的Fragment还是v4的Fragment,需要在包名上进行选择!
2,同一个类功能相同,但是兼容库的类名多了Compat后缀如NotificationCompat

另外还需要注意,再AndroidManifest.xml中,App对应的最高与最低版本:

 <uses-sdk
      android:minSdkVersion="7"
      android:targetSdkVersion="17" />

最高版本的兼容包决定了最低的SDK Level,我们用到了V7 support Library,则minSdkVersion应该至少为7。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值