[wordpress搬家]Android 基础 — 经常打交道的Support Library
2015-01-06 18:15
501 查看
有意无意见经常用到,如果工程引用别的库的话这个兼容库还经常冲突,到底何方神圣?为什么这个容易冲突呢?有点意思。
其实官方的文档很简单,对于兼容库的使用是一种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。
其实官方的文档很简单,对于兼容库的使用是一种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。
相关文章推荐
- [wordpress搬家]Android 基础 — 版本对照表
- [wordpress搬家]Android 基础 — 状态栏
- [wordpress搬家]未来几天连续奋战android了
- [wordpress搬家]Android Hack — BLE
- Android基础 : Android Content Provider
- android基础应用
- Android开发指南-框架主题-基础知识
- Android-SQLite3 超基础入门
- Android(OPhone) 学习笔记 - 代码基础
- C#中一些很基础但有经常导致错误的一些概念
- Android基础教程(一)之------更改与显示文字标签TextView标签的使用
- Android基础 : 第二部分 - Intent接收器
- Android文档(二)-应用基础(1)应用组件(Application Components)
- Android基础教程(二)之五大布局对象---FrameLayout,LinearLayout ,AbsoluteLayout,RelativeLayout,TableLayout.
- Android基础教程(三)之-----简单的Button事件响应综合提示控件Toast的应用
- Android基础教程(一)之------更改与显示文字标签TextView标签的使用
- Android开发指南-框架主题-基础知识
- 动画效果编程基础--AnimationAndroid
- Android基础 : 第四部分 - Android Content Provider
- Android基础教程(三)之-----简单的Button事件响应综合提示控件Toast的应用