Android 避免原始资源重复,但仍保留唯一引用

Android 避免原始资源重复,但仍保留唯一引用,android,Android,在一个Android项目中,我有数千个高度动态的音频文件,使用多种语言。高度动态,例如在开发过程中,它们可能每周都在变化。 有些文件是重复的(在一种语言中),为了不破坏代码中的逻辑和可维护性,必须重复这些文件——但这是浪费空间 示例(只是一个示例,不必担心语义): 因此,这个词在英语中是相同的,因此是重复的,但在德语中不是,因此,我们需要两种资源 理想情况下,在英语中,R.raw.time_rep和R.raw.time都指的是同一个time.mp3音频文件,但不是德语 对于字符串和图像,可以创建

在一个Android项目中,我有数千个高度动态的音频文件,使用多种语言。高度动态,例如在开发过程中,它们可能每周都在变化。 有些文件是重复的(在一种语言中),为了不破坏代码中的逻辑和可维护性,必须重复这些文件——但这是浪费空间

示例(只是一个示例,不必担心语义):

因此,这个词在英语中是相同的,因此是重复的,但在德语中不是,因此,我们需要两种资源

理想情况下,在英语中,R.raw.time_rep和R.raw.time都指的是同一个time.mp3音频文件,但不是德语

对于字符串和图像,可以创建别名资源,但不能创建原始文件

关于如何创建“软链接”以避免重复使用原始资源,这样我仍然可以从代码中引用R.raw.time_rep和R.raw.time,并且每当我获得新的一批更新的原始音频文件时,几乎没有手动更改,有什么想法吗

注意:不要担心识别重复项。在转换和后期处理音频文件时,我可以在批处理脚本中执行此操作

关于如何创建“软链接”以避免重复使用原始资源,这样我仍然可以从代码中引用R.raw.time_rep和R.raw.time,并且每当我获得新的一批更新的原始音频文件时,几乎没有手动更改,有什么想法吗

只需创建查找表(以您喜欢的任何形式:HashMap、数据库表等),然后使用它来选择正确的音频文件,而不是像现在这样直接选择它

关于如何创建“软链接”以避免重复使用原始资源,这样我仍然可以从代码中引用R.raw.time_rep和R.raw.time,并且每当我获得新的一批更新的原始音频文件时,几乎没有手动更改,有什么想法吗

只需创建查找表(以您喜欢的任何形式:HashMap、数据库表等),然后使用它来选择正确的音频文件,而不是像现在这样直接选择它

关于如何创建“软链接”以避免重复使用原始资源,这样我仍然可以从代码中引用R.raw.time_rep和R.raw.time,并且每当我获得新的一批更新的原始音频文件时,几乎没有手动更改,有什么想法吗

只需创建查找表(以您喜欢的任何形式:HashMap、数据库表等),然后使用它来选择正确的音频文件,而不是像现在这样直接选择它

关于如何创建“软链接”以避免重复使用原始资源,这样我仍然可以从代码中引用R.raw.time_rep和R.raw.time,并且每当我获得新的一批更新的原始音频文件时,几乎没有手动更改,有什么想法吗



只需创建查找表(以您喜欢的任何形式:HashMap、数据库表等),然后使用它来选择正确的音频文件,而不是像现在这样直接选择它

是的,我想用查找表生成一个java文件。但是如果有任何替代方案(比如别名资源,但是可以工作),我想知道:-)不,没有别名资源,因为LUT工作得很好,对实现来说很简单是的,LUT很简单。自动循环使用多种语言的2500个资源,将这些资源映射到LUT并生成java文件或任何形式的文件,然后更改代码周围的数百个引用,这就不那么简单了-这就是为什么我在这样做之前会研究选项,以防万一,我忽略了一些神奇的选择。我敢打赌,如果你现在就开始编写代码来生成所有这些东西,而不是在这里问你的问题:)……或者就什么更快进行毫无结果的讨论,那么你现在就已经完成了。无论哪种方法,都不是哪种方法实现得更快,而是制定最佳解决方案,最好在过程中学习新东西。是的,我在考虑用查找表生成一个java文件。但是如果有任何替代方案(比如别名资源,但是可以工作),我想知道:-)不,没有别名资源,因为LUT工作得很好,对实现来说很简单是的,LUT很简单。自动循环使用多种语言的2500个资源,将这些资源映射到LUT并生成java文件或任何形式的文件,然后更改代码周围的数百个引用,这就不那么简单了-这就是为什么我在这样做之前会研究选项,以防万一,我忽略了一些神奇的选择。我敢打赌,如果你现在就开始编写代码来生成所有这些东西,而不是在这里问你的问题:)……或者就什么更快进行毫无结果的讨论,那么你现在就已经完成了。无论哪种方法,都不是哪种方法实现得更快,而是制定最佳解决方案,最好在过程中学习新东西。是的,我在考虑用查找表生成一个java文件。但是如果有任何替代方案(比如别名资源,但是可以工作),我想知道:-)不,没有别名资源,因为LUT工作得很好,对实现来说很简单是的,LUT很简单。自动循环使用多种语言的2500个资源,将这些资源映射到LUT并生成java文件或任何形式的文件,然后更改代码周围的数百个引用,这就不那么简单了-这就是为什么我在这样做之前会研究选项,以防万一,我忽略了一些神奇的选择。我敢打赌,如果你现在就开始编写代码来生成所有这些东西,而不是在这里问你的问题:)……或者就什么更快进行毫无结果的讨论,那么你现在就已经完成了。无论哪种方法,都不是哪种方法实现得更快,而是制定最佳解决方案,最好在过程中学习新东西。是的,我在考虑用查找表生成一个java文件。但是如果有
raw/en/time_rep.mp3 - used as in "one more time"
raw/en/time.mp3 - used as in "it is now time for"

raw/de/time_rep.mp3 - may be translated to "mal"
raw/de/time.mp3 - may be translated to "zeit"