覆盖了库项目的Android .properties文件

时间:2013-02-28 10:19:58

标签: android properties settings project

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

但是,如果我创建一个使用我的lib-project的app-project,如果这个app-project ONE属性值与lib不同,我必须将整个文件复制到我的app-project中并更改一个不同的行。

这是一个糟糕的情况。如果我在库项目的.properties中添加一行,我将不得不将其添加到所有app-projects中,同样用于更改lib项目中的一行。

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

有解决方法吗?

1 个答案:

答案 0 :(得分:0)

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

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

根据调试设置(true或false),我选择是否采用调试文件或实时文件。所以我在库项目中有4个属性文件,2个(debug + live),在app项目中有2个(debug + live)。