【问题标题】:Android .properties file of library project overwritten库项目的 Android .properties 文件被覆盖
【发布时间】:2013-02-28 10:19:57
【问题描述】:

我创建了一个库项目并将我的属性存储在一个 .properties 文件(release.properties 和 test.properties)中。我使用 Properties 对象访问它们,我访问的文件取决于布尔值(DEBUG true/false)。

但是,如果我创建了一个使用我的 lib 项目的应用程序项目,并且如果此应用程序项目的 ONE 属性值与 lib 不同,我必须将整个文件复制到我的应用程序项目中并更改不同的线。

这是一个糟糕的情况。如果我在库项目的 .properties 中添加一行,我将不得不将其添加到所有应用程序项目中,这与更改 lib 项目中的一行相同。

问题是 app-project 中的 .properties 文件覆盖了 lib-project 中的整个文件,这种覆盖不是基于行的。

有解决办法吗?

【问题讨论】:

    标签: android properties settings project


    【解决方案1】:

    答案是创建一个 CustomProperties 类,该类在初始化时将两个属性文件 default.properties(来自库项目)和 my.properties(来自应用项目)加载到 2 个不同的 Properties 对象中。

    在 CustomProperties 中:为 String、int、boolean 等创建 getter,并在这些方法中检查 my.properties 是否包含该值,如果是则返回该值,如果不是则从 default.properties 返回该值。

    根据调试设置(真或假),我选择使用调试文件还是实时文件。所以我有 4 个属性文件,库项目中有 2 个(调试 + 实时),应用项目中有 2 个(调试 + 实时)。

    【讨论】:

      猜你喜欢
      • 2020-09-18
      • 1970-01-01
      • 2015-03-31
      • 1970-01-01
      • 2015-01-10
      • 2020-03-27
      • 2011-09-27
      • 1970-01-01
      • 2014-07-01
      相关资源
      最近更新 更多