使用android库拆分资源

时间:2012-04-26 12:53:27

标签: android android-library android-resources r.java-file

我有一个Android项目,其中需要更改几个字符串,图像和数据库以适应每个客户端(这些将是单独的应用程序,而不是例如客户输入其名称)。 据我所知,我这样做的最好方法是使用一个库来处理所有的GUI和逻辑,然后使用它来改变项目中的必要内容。不幸的是,库似乎在父项目的res/layout文件夹中查找布局,但仍然需要在其自己的res/layout文件夹中使用相同的文件才能生成R.java。这基本上意味着我必须处理重复的资源副本。

我的问题基本上是这样的:我的项目是否可以使用库中的资源(而不是父项目),除了父项目中保存的一些资源(可以在库中的代码中引用) )?

否则,有没有更好的方法来解决这个问题?

1 个答案:

答案 0 :(得分:0)

  

不幸的是,库似乎在父项目的res / layout文件夹中查找布局,但仍然需要在自己的res / layout文件夹中使用相同的文件才能生成R.java。这基本上意味着我必须处理重复的资源副本。

是的,尽管库中的副本只是你的默认值。如果需要替换它们,您只能在托管项目中覆盖它们。因此,唯一存在“重复”的地方是文件实际上不同的地方。

  

我的项目是否可以使用库中的资源(而不是父项目),除了父项目中保存的一些资源(可以在库中的代码中引用)?

仅当您修改库的API以接受资源ID作为参数时,而不是按R名称假设某些资源。例如,大多数Android SDK使用资源ID作为方法的参数(例如setContentView()),而不是假设要使用的资源的名称(例如R.layout.main)。

  

否则,有没有更好的方法来解决这个问题?

你原来的方法对我来说似乎很好。