大家假设喜欢我的博客,请关注一下我的微博,请点击这里(http://weibo.com/kifile),谢谢

转载请标明出处(http://blog.csdn.net/kifile),再次感谢

随着 Android 5.0 Lollipop 的公布,Android 又为我们提供了很多其它的支持包,可是我相信大部分开发人员都同我之前一样不知道这些包里到底有些什么东西,我们应该在什么时候使用它。如今,我们就来逐个看看每个版本号的 Support 包中所拥有的东西,让用到他的时候不再迷茫。

首先。你须要了解每个 Support 包版本号后缀 vX 所代表的含义。当然我相信来看博客的诸位都一定知道 Android 对于每个版本号都有一个版本号号,比如2.1是7,4.0是14。5.0是21。而这里。v 之后的数字,就代表着他可以被使用的最低版本号等级,之所以无法在更低版本号进行使用的原因,是由于随着版本号的升级,在新版本号中有非常多之前不支持的特性或者 API,因此假设你在老版本号中使用了这些支持包,就可能会导致应用崩溃。

如今。我们从头開始逐个浏览眼下所支持的 support 包:

(1)support-v4

support-v4包算是 Android 最低等级的支持包。所谓的 v4,代表着它最低支持 Android1.6(API Level4),这个版本号算得上是一个真正意义上比較成熟的 Android版本号。更何况如今我们写应用的时候一般都仅仅最低支持到 Android 2.x 系统,对于1.x 的系统基本已经已经全然抛弃了,因此你可已经他作为最主要的系统组件使用。

在 support-v4包中,它所拥有的类还是非常多的,主要包括了相应用组件的支持,用户交互体验的一些工具类,一些数据网络方面的工具类。相面我们将具体来看看它里面具体的一些类。

1.系统组件部分

Fragment:事实上 Fragment 是直到 Android3.0才正式进入 Android 框架体系的,可是 Android 为了低版本号的兼容,因此他帮我们在低版本号也适配了 Fragment 框架

NotificationCompat:这是通知栏的一些适配。能够帮助你在低版本号的通知栏显示更加丰富的信息

LocalBroadcastManager:这个是用于本地广播通知的。当你希望发送的通知仅仅被本应用接收时。你就应该使用它

2.用户界面交互部分

ViewPager。这个相信我不用怎么说了。他主要用于帮助我们进行界面间的滑动交互

PagerTitleStrip,PagerTabStrip 这两个算是 ViewPager 的帮助类吧,他们的作用是进行 Tab 栏的切换辅助显示

DrawerLayout,主要用于側滑栏的实现

SlidingPaneLayout,这个类也是用于側滑栏的实现,和 DrawerLayout 不同的是,DrawerLayout 側滑栏出来的时候,默认是覆盖在当前页面上,而 SlidingPaneLayout 则是会将当前页面移走。

3. Accessbility訪问的帮助类

ExploreByTouchHelper。帮助自己定义 View 实现 Accessibility 的工具类

AccessbilityEventCompat, AccessbilityNodeInfoCompat, AccessbilityNodeProviderCompat, AccessbilityDelegateCompat,这几个都是用作 Accessibility 功能适配的类

4.数据訪问帮助类

Loader,主要用于异步载入数据

FileProvider。提供应用间的文件分享功能

(2)support-v7

1.Appcompat

这个包的主要作用是为了在低版本号实现 Android 的 Holo 风格界面而引入的,与之类似的有一个开源项目叫做 SherlockActionbar

2.CardView

卡片布局是近期在 android5.0公布的时候才引入的新包。在我看来,他主要效果是让应用进行卡片花显示

3.GridLayout

网格布局可以帮助你将整个布局依照一格两格的格子形式进行排列

4.MediaRouter

这个布局主要是用来支持 GoogleCast 的,主要用于进行设备间的音频,视频交换显示

5.Palette

这个包也是最新出来的。他的作用是帮助 Android 实现他的 MaterialDesign,让你的 Actionbar 可以依据界面进行相应的颜色改变

7.RecyclerView

这个包相同也是刚出来的,他的作用是替换 ListView 和 GridView,可是可惜是没有实现 OnItemClick 这些接口。你须要自己处理它

(3)support-v8

support-v8中事实上仅仅有一格特性,就是用来渲染脚本

(4)support-v13

这个包的作用主要是为 Android3.2级以上的系统提供很多其它地 Framgnet 特性支持。使用它的原因在于,android-support-v4包中尽管也对 Fragment 做了支持,因为要兼容低版本号,导致他是自行实现的 Fragment 效果。在高版本号的 Fragment 的一些特性丢失了。而对于 v13以上的 sdk 版本号,我们能够使用更加有效。特性很多其它的代码

(5)support-v17

这个包得主要作用是用于支持电视设备。并为电视设备提供了非常多组件

比如以下的:

BrowseFragment。 DetailFragment。 PlaybasckOverlayFragment, SearchFragment

可是原谅我没有做过 Android TV 开发,我也不知道他们的用处是什么,假设真的想要查看,请去官网看看吧

Android Support 包里到底有什么的更多相关文章

  1. [Android Pro] Android Support 包里究竟有什么

    reference to : http://www.2cto.com/kf/201411/350928.html 随着 Android 5.0 Lollipop 的发布,Android 又为我们提供了 ...

  2. 【转】Android Support 包里究竟有什么

    随着 Android 5.0 Lollipop 的发布,Android 又为我们提供了更多的支持包,但是我相信大部分开发者都同我之前一样不知道这些包里究竟有些什么东西,我们应该在什么时候使用它.现在, ...

  3. Android Support 包知识

    Android Support Library包是一组代码库, 它提供了向后版本的framework API的兼容, 这些代码库实现的效果和只能在指定版本中使用的API一样好. 每个Support L ...

  4. Android -- Support包特性

    干货 每一个 Support 包版本后缀 vX 所代表的含义是他能够被使用的最低版本等级.之所以无法在更低版本进行使用的原因,是因为随着版本的升级,在新版本中有很多之前不支持的特性或者 API,因此如 ...

  5. Android Support 包的作用、用法

    1, Android Support V4, V7, V13是什么?本质上就是三个java library. 2,  为什么要有support库?如果在低版本Android平台上开发一个应用程序,而应 ...

  6. android support的作用及其常见错误的解决

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

  7. 80、Android Support v4、v7、v13的区别以及应用场景

    一.简介 在 Android 开发中,为了使用高版本API的新特性,需要添加额外的包来使用这些新特性,这就是 Android Support 包 二.分类 Android Support v4: 这个 ...

  8. com.android.support冲突的解决办法

    All com.android.support libraries must use the exact same version specification (mixing versions can ...

  9. Android 如何在Eclipse中查看Android API源码 及 support包源码

    当我们阅读android API开发文档时候,上面的每个类,以及类的各个方法都是已经写好的方法和控件,可是我们只是在搬来使用,不知道它的原理,它是如何被实现的.android系统是开源的,所以谷歌官方 ...

随机推荐

  1. caioj 1072 动态规划入门(二维一边推5:最长公共子序列 LCSS加强版)

    在51nod刷到过同样的题,直接秒杀 见https://blog.csdn.net/qq_34416123/article/details/81697683 #include<cstdio> ...

  2. localStorage 以及UserData[IE6 IE7]使用

    说在前头: UserData:属于IE6 IE7的老东西.麻烦且体验差,暂且不表 localStorage 属于HTML5的东西,兼容IE8以及其它W3C标准的主流浏览器.所以尽可能的具体解说 注意: ...

  3. 大话设计模式C++实现-第15章-抽象工厂模式

    一.UML图 二.概念 抽象方法模式(Abstract Factory):提供一个创建一系列相关或互相依赖对象的接口,而无需指定他们详细的类. 三.包括的角色 (1)抽象工厂 (2)详细工厂:包含详细 ...

  4. js实现复选框的操作-------Day41

    不知道之前的一篇为什么一直处于审核阶段.难道有哪个词语是敏感词被河蟹了? 无论了,又一次写了这篇,也算是加深记忆吧. 首先要写的是今天在进行表格数据操作时用到的对复选框checkbox的全选和全不选, ...

  5. Web前端之基础知识

    学习web前端开发基础技术须要掌握:HTML.CSS.Javascript 1.HTML是网页内容的载体 内容就是网页制作者放在页面上想要让用户浏览的信息,能够包括文字.图片.视频等. 2.CSS样式 ...

  6. SharePoint创建Alternate Access Mapping (AAM)备用訪问映射

    SharePoint创建Alternate Access Mapping (AAM)备用訪问映射         SharePoint的仓库是SQL Server中的内容数据库.这些数据库储存着组织全 ...

  7. BZOJ1901 ZOJ2112 线段树+treap (线段树套线段树)

    BZOJ1901: 线段树套线段树做法: (外层线段树 里层动态开节点的权值线段树) 有一个小小的trick 可以省掉二分变成nlog^2n的 就是把查询的区间都取出来- logn个一起走- 2016 ...

  8. 线性同余同余方程组解法(excrt)

    [问题描述] 求关于 x 的同余方程组 x%a 1 =b 1  a1=b1 x%a 2 =b 2  a2=b2 x%a 3 =b 3  a3=b3 x%a 4 =b 4  a4=b4 的大于等于 0 ...

  9. 有关error PRJ0003错误的思考

    作者:朱金灿 来源:http://blog.csdn.net/clever101 今天同事遇到两个编译错误: 项目: error PRJ0003 : 生成"rc.exe"时出错. ...

  10. canvas和svg小记

    一.关于canvas <canvas> 是 HTML5 新增的元素,可用于通过使用JavaScript中的脚本来绘制图形 例如,它可以用于绘制图形,创建动画. <canvas> ...