为什么要用support library?

flyforlove 2015-06-02 10:40:09
按照官方文档,这个东西就是为了尽量让低版本的android能用上新特性。

那么,如果我不支持低版本,是不是就可以不用这个包了?

如果我用了这个包,我还怎么直接使用新特性?
...全文
210 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyforlove 2015-06-02
  • 打赏
  • 举报
回复
引用 7 楼 birdsaction 的回复:
没有太多的区别,Android 4.0 自带的和SupportV4 里面的东西 用法基本一样 只要版本匹配就一样的。 为什么用Support Lib 就是希望自己的APK 能符合多个版本要求。 如果你确定APK 只会安装在4.0上,那Support里面的CLASS可以不用,但有些实用的东西在SUPPORT V7里面,用用也是不错的,不影响APK本身,可能你希望适用于4.0又希望符合5.0的特性,那就需要SupportV7来做比较好。
用法一样,那么内部实现是一样的么? 你这样说,我更加不明白support在整个开发sdk里处于一个怎样的位置了。 按照官方文档,V7应该是为了2.1及以上版本提供的,那么如果我不管开发的程序min版本是4.0还是5.0都要用它的话,那么4.0和5.0的原生api还有什么用?
Birds2018 2015-06-02
  • 打赏
  • 举报
回复
没有太多的区别,Android 4.0 自带的和SupportV4 里面的东西 用法基本一样 只要版本匹配就一样的。 为什么用Support Lib 就是希望自己的APK 能符合多个版本要求。 如果你确定APK 只会安装在4.0上,那Support里面的CLASS可以不用,但有些实用的东西在SUPPORT V7里面,用用也是不错的,不影响APK本身,可能你希望适用于4.0又希望符合5.0的特性,那就需要SupportV7来做比较好。
flyforlove 2015-06-02
  • 打赏
  • 举报
回复
引用 1 楼 birdsaction 的回复:
support是满足老版本的需求 比如3.0以前是没有Fragment,Loader这些东西的,只能额外的包弥补,如果你的APK只是支持4.0 那你可以不用support, 5.0很多的特性实际在SupportV7里面,很多东西非常好用,不用白不用。
就拿你打得这个比方,如果我的程序支持4.0以上,我还是用了support library的话,那么support library的Fragment和4.0api提供的Fragment有区别还是没区别?如果有区别的话,是support library的Fragment好,还是4.0api提供的Fragment好?还是说support library的实现里会判断系统版本,自动切换所使用api?
flyforlove 2015-06-02
  • 打赏
  • 举报
回复
引用 4 楼 anselmoe 的回复:
提供Android framework API的向下兼容版本~~
这个说法太官方了。 有些特性高版本的api本来就提供了,我还要用support library的,那高版本还提供新api干嘛,只更新support library不就好了。
Ansel-枫儿-Moe 2015-06-02
  • 打赏
  • 举报
回复
提供Android framework API的向下兼容版本~~
windfury_plus 2015-06-02
  • 打赏
  • 举报
回复
为兼容而生,与新特性无关。
w735383226 2015-06-02
  • 打赏
  • 举报
回复
那就是向下兼容包,也有一些便捷的工具,不用viewpager等view,不向下兼容就可以不用。
Birds2018 2015-06-02
  • 打赏
  • 举报
回复
support是满足老版本的需求 比如3.0以前是没有Fragment,Loader这些东西的,只能额外的包弥补,如果你的APK只是支持4.0 那你可以不用support, 5.0很多的特性实际在SupportV7里面,很多东西非常好用,不用白不用。
flyforlove 2015-06-02
  • 打赏
  • 举报
回复
引用 11 楼 birdsaction 的回复:
除了向下兼容以外,有的组件 原生的是没有的,比如DrawerLayout 抽屉,ToolBar. Google每次发布新版本Support 都有新的API函数 有的原生是没有 的。
版主别怪我较真儿啊。 对于原生和support library里同时提供的东西(我想对于高版本的os,这应该是多数,否则就没有高版本os的概念了,只升级support library就好了),原生的是不是更好点儿?是不是即使在高版本的os运行,使用了support library的程序也不会通过某种途径切换到原声api,而依然使用support 自己实现的那套。
Birds2018 2015-06-02
  • 打赏
  • 举报
回复
除了向下兼容以外,有的组件 原生的是没有的,比如DrawerLayout 抽屉,ToolBar. Google每次发布新版本Support 都有新的API函数 有的原生是没有 的。
flyforlove 2015-06-02
  • 打赏
  • 举报
回复
引用 9 楼 birdsaction 的回复:
你想多了,你就当第三方的API函数库把,就像 pushToRefresh , SlideMenu那样的东西就可以了。
额~,不能这么随便吧。 第三方库明显是因为有在原生api里没提供的特性所以才用的。 同样如果用support library,就是因为原声api里没有提供,我还能理解,如果本来就提供了,我干吗还要用它。 并且,按照现在support library的作用,google每次升级os添加新特性,势必也会在support library里添加同样的特性,同一个特性在系统原生api有,为了兼容低版本,在support library的实现同样一套api。如果你告诉我用原生api和support library实现的那套是一样的,总得有个令人信服的理由吧。
Birds2018 2015-06-02
  • 打赏
  • 举报
回复
你想多了,你就当第三方的API函数库把,就像 pushToRefresh , SlideMenu那样的东西就可以了。

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧