0

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

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

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

4

1 回答 1

0

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

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

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

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

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

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

于 2012-04-26T16:06:14.287 回答