zoukankan      html  css  js  c++  java
  • Android开发之Is Library篇

    一、生活场景描述

         由于公司有一个项目开发的时间比较长,项目里堆砌的代码也比较多,并且有些功能在给不同客户发布的时候有些功能还不需要,这样功能模块分离就很有必要了。

         所以,Library就被推到了前台,被我们运用起来。

    二、注意事项

        1.两个Library不能互相引用

        2.Library中的Drawable文件不能被项目中使用(该项有待进一步确认)

        3.由于在项目中使用的上下文对象是属于当前项目,所以在Library中获取文件对象Context.getAssets().open("fileName.txt"); 该文件应该放在项目里的assets。(该项有待进一步确认)

        4.Library中不能使用View注入框架(如:BufferKnife),因为Library R文件里文件的id都是静态变量,而需要的是常量(Android项目中生成的就是常量)。但是,如果把框架放在Library中,项目中是可以用该框架的。

        5.Library可以有自己的子Library

        6.缓存问题:如果在编码时,一个子Library中的代码修改了,父Library中不能加载子Library中修改的代码,需要把子Library取消引用,再导入引用就好了。

        7.若使用库中的activity之类的,需要在项目的AndroidManifest.xml中重新定义。因为manifest 配置文件是独立给工程的,不能复用。可以在Library不声明Activity,但是在project中必须声明。

        8.资源同名的话,项目中的资源会覆盖库中的资源。

        9.使用Library之后properties 文件中会多了一个引用的定义。

       10.Android Library可以重复使用java类,android组件和资源,但是assets的资源不会被重用。

       11.问题:如果两个子Library需要互相引用各自的Activity该怎么办?

  • 相关阅读:
    希尔排序算法
    java面向对象的栈 队列 优先级队列的比较
    java不用任何已有方法完全自写的去重法
    java面向对象的冒泡排序,选择排序和插入排序的比较
    java面向对象的有序数组和无序数组的比较
    Truncated incorrect DOUBLE value:
    laradock 安装多php版本
    graph-composer, 面向 composer.json的依赖图可视化( PHP + Composer )
    php基础
    php通过curl调用webservice
  • 原文地址:https://www.cnblogs.com/royi123/p/4653862.html
Copyright © 2011-2022 走看看