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该怎么办?

  • 相关阅读:
    [CF1051F] The Shortest Statement
    [国家集训队] 墨墨的等式
    [CF558E] A Simple Task
    [洛谷P1349] 广义斐波那契数列
    [TJOI2009] 猜数字
    [洛谷P3403] 跳楼机
    学习力
    启动流程
    《鸟哥Linux》笔记——磁盘分区
    indexDB数据库
  • 原文地址:https://www.cnblogs.com/royi123/p/4653862.html
Copyright © 2011-2022 走看看