我有一个库项目,它包含所有资源和类文件,这个项目包含所有与主题相关的图像,我正在共享我的库项目,用于创建新项目,一切正常。
但是当我想更改应用程序主题相关的图像时,我需要更新我的库项目图像,但我的库项目已经与其他一些项目共享,所以我不想触摸它。
还有一种方法可以在我的新项目中添加所有新的图像集,但是它增加了我的项目大小,而且我不需要在图像上发送两组图像。
有没有办法与项目独立共享资源文件夹?所以取决于要求我可以与尊重的项目共享我的资源文件夹。
所以它会像这样
Library Project | |__ class files | |__ resource folder(contais all drawables and layouts)
我可以在编译时选择特定的资源文件夹吗?
答案 0 :(得分:0)
我会对库进行版本控制并使用maven或类似的东西管理依赖项。 这样,您不会破坏使用旧版本库的其余项目,您可以在有时间的情况下将任何项目更新到库的任何版本,当然,您可以继续更新库并生成新版本。
答案 1 :(得分:0)
我会添加一个static
字段来描述库中的资源文件夹,如下所示。
public class Library {
// The resource-folder
public static final File RES_FOLDER;
}
然后使用该字段访问资源文件夹。我建议将主题创建为单独的应用程序。
答案 2 :(得分:0)
解决方案#1: 版本化资源,在运行时从Web下载。 考虑不要将任何资源嵌入到您的库项目中。这样您就可以将其分发为.jar文件,这将简化第3方开发人员的集成。 这样,您需要从Web下载运行时的资源,并将它们缓存在/ data文件夹或SD卡或内存中。
解决方案#2: 使用ant或maven构建项目。这样,您就可以使用默认配置分发项目,并可以构建自定义配置。 这样,资源可以位于任何文件夹中,并根据定义的配置参数在编译期间从那里获取。