2013-02-28 44 views
0

我创建了一个库项目并将我的属性存储在.properties文件(release.properties和test.properties)中。我使用Properties对象访问它们,我访问哪个文件取决于布尔值(DEBUG true/false)。但是,如果我创建了一个使用我的lib-project的应用程序项目,并且如果对于这个应用程序项目,一个属性值与lib不同,我必须将整个文件复制到我的应用程序项目中,然后更改一条线不同。重写库项目的Android .properties文件

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

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

有没有解决方案?

回答

0

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

在CustomProperties来:创建一个字符串,整数,布尔等,在这些方法中的getter检查my.properties包含的价值,如果这样返回此值,如果无法返回default.properties值。

根据调试设置(true或false),我选择是否接受调试文件或实时文件。所以我有4个属性文件,2个(调试+生活)在库项目,2(调试+生活)在应用程序项目。

相关问题