如何正确导入Android支持库

       在开发Android软件时,当我们有些类说对应的库未导入时会在代码中暂时显示红色(此处以Android studio的开发环境为例),但是我们在导入库时,常需要我们对Android支持库进行正确地选择。

Android支持库的作用

        Android提供了支持库(如:android.support.v4.app),它的目的是为了低版本的代码使用一些高版本API的部分新特性。

      例如:你当时开发的某AppAPI使用的是Android 1.6,你仍然需要在保持对此低版本API的兼容性同时还想使用高版本才会有的FragmentAndroid 3.0以上才出现的API),你可以通过导入android.support.v4.app支持库来实现。

      注:这些支持库在Android SDK目录路径下的extras目录下可查看到

引入支持库时的注意点

        但是我们要注意在导入支持库时要小心,不要引起不兼容问题。

         (注:我下面举例的project代码的最低SDK版本选择的是Android4.4(即API 19)

        在Android studio中对没有导入相应库的类会显示红色如下图:

我们可以将输入位置选中在相应的类上,然后使用快捷方式(Alt+Enter)来便捷地导入相应的库,但请注意这是有两种可能:

1)单一选择导入库:

现在我要为我的AppCompatActivity导入相应的库,如下图:

        如上图,我在弹出的快捷菜单中选择“Import class”后,IDE自动在代码的Import段自动加入了相应的支持库(android.support.v7.app.AppCompatActivity),这是因为IDE判断出我的最低sdk版本是Android 4.4,这时要使用AppCompatActivity只有导入v7包中的AppCompatActivity类。这就是单一选择导入库,这种情况最简单,也不会出错。


2)多选择地导入库

但是有时候在Import class时,需要你去选择导入那一个库,如下图:

        这时如果选不好时会在编译时出现错误,那么我们应该如何选择呢?在上图中出现了两个选择项,这表明你的project 的最低SDK版本以及v4支持库中都包含了FragmentManager这个类,这时需要你保持各java代码文件中对FragmentManager导入库的一致,如果不一致,这会出现编译错误,这是因为虽然在不同库中都有FragmentManager这个类,但他分别处在不同的命名空间里,其本质是不一样的。这种情况下建议不要选择Android支持库中的类,而是直接选android.app中的类,这样能很简单地保持导入库的一致;如果非要选择支持库中的类(如上图中的android.support.v4.app.FragmentManager),不仅该类的导入库在所有代码文件中要保持一致,而且关联到该类的其他类的导入库也要做相应修改,由于类之间的相互依赖关系常常很复杂,这将会使你陷入相互兼容的泥潭。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值