2012-10-04 54 views
3

我正在处理的项目要求可以构建N个独立应用程序,但也可以通过选择菜单执行其中一个应用程序。Android应用程序访问库资源

这些应用程序之间的区别主要是资源和XML,所以它们都使用一个公共库,它对资产和XML中提供的信息起反应。

问题是关于“母亲”申请。它必须能够使用独立资源集中的一个来使用公共库。我意识到,我可以使用访问其他应用程序资源:

Resources R2 = getPackageManager().getResourcesForApplication("com.example.appa"); 
int id = R2.getIdentifier("image", "drawable", "com.example.appa"); 
Drawable myDrawable = R2.getDrawable(id); 

这实际上解决了这个问题,我可以提供一个包串图书馆,这样就会知道到哪里寻找资源。

问题是,为了这个工作,我需要在设备上安装这些独立的应用程序,这是我不能做的事情(将它想象成测验应用程序,独立应用程序只是一个主题,而“母亲”应用程序允许访问所有不同的主题,据我所知,Android Market不会允许下载所有应用程序并安装它们,以便我可以访问其资源)。

从概念上讲,如果我可以将这些独立应用程序作为库并添加到母应用程序中,这个问题就可以解决。然后母应用程序会根据用户的选择使用包字符串,然后使用该库。到目前为止,我还没有能够解决这个问题,而且我也找不到有关这方面的信息,所以我恐怕不能这样做。

例如,每个主题应用程序都有一个关于应用程序主题(例如罗马或希腊图像)的图像intro.png,并且想法是访问package_string.intro.png,以便它自动根据用户的选择访问正确的一个。

回答

2

努力做到这一点,我终于找到了资源索引,这意味着只有一个“intro.png”存在于一个应用程序,不管你有多少库链接,不能创建到LIB1的引用之后。 intro.png或lib2.intro.png。我最终构建了一个资源管理器系统,可以根据需要使用“lib1_intro”或“lib2_intro”。不干净的解决方案,但是,MEH,它的工作原理我猜...

移动我的编辑给一个答案,我阅读接受的答案,这是怎么回事应该已经完成​​,而不是只是编辑我的第一篇的