zoukankan      html  css  js  c++  java
  • Android开发:《Gradle Recipes for Android》阅读笔记(翻译)3.5——在flavors间合并java代码

    问题:

    你想要在单独的product flavors里面增加Acitivity或者其它java类。

    解决方案:

    创建合适的代码目录,增加java类,将它们和main代码合并。

    讨论:

    flavors和build types里面的string和layout会覆盖主目录下的相关值,java类不一样。如果main目录下面的代码涉及到一个指定的类,只要main目录里面没有,每个flavor和build type里面都可以对这个类的实现。

    听起来比实际还要复杂。3.2和3.4节讨论的app有两个代表不同客户的flavors。考虑现在app的一个版本需要在main activity里面增加一个按钮用于呼叫帮助。这个额外的按钮有个“Call for Help”的label。

    friendly,wayne的主activity如下:

    stark页面相似,只是有一个不同的header:

    点击“Call for help”按钮创建一个Intent,启动CallForHelpActivity。这个activity和它相关的layout,从main目录下面移除,复制到stark和wayne文件夹下。完整的项目结构如下:

    箭头指出,wayne flavor下面的java代码在classpath里面,但是stark下面的不在。两个flavors都包含CallForHelpActivity,但是两个都实现完全不同。

    wayne flavor的帮助页面只有一个简单的包含一个TextView的fragment:

    stark flavor的帮助页面由有多个入口的ListFragment组成:

    任何main目录下元素相关的类,必须在每个flavor下存在。每个实现可以完全独立。

  • 相关阅读:
    Pentaho Data Integration (二) Spoon
    Pentaho Data Integration笔记 (一):安装
    透视纹理引发的对于插值的思考
    读取位图(bitmap)实现及其要点
    关于渲染流水线的几何变化
    关于C++中不同类之间的赋值问题——存疑
    uva 12284 直接判断
    uva 12549 最大流
    uva 12544 无向图最小环
    uva 12587 二分枚举
  • 原文地址:https://www.cnblogs.com/tootwo2/p/6407964.html
Copyright © 2011-2022 走看看