所以我有一个Android应用程序,我正在为多个主题编码(按钮等的不同背景可绘制)。我有一切打包和工作,但我发现我的资源文件夹变得非常笨重。这么多,所以它的足迹是我的源代码目录的三倍。我已经在谷歌(和这里)做了一些搜索,但找不到任何适合的东西。我已经阅读了api文档,我也会在那里出现。所以这就是我在坚果壳中寻找的东西:
我想制作一些包含用于此应用程序的资源文件的小包。通过单独打包附加资源图像,我可以大大减少应用程序的大小。如何访问外部资源文件?他们是否可靠地判断设备上是否安装了其中一个“主题包”? (即如果没有,则加载默认值。如果有,请在选项中显示。如果安装了多个主题包,请全部显示。)
答案 0 :(得分:1)
一个非常简单的解决方案是让用户可以选择将其他主题直接下载到外部存储(主要是SD卡),如果他想使用它们的话。
只需将自己设为一个文件夹并将主题包放入其中,然后您只需检查文件夹中是否有内容并将选项提供给用户等。
市场上的许多知名应用也都是这样做的。
编辑:
1:啊,我明白了。如果你想在其他apk中外包主题文件,你需要使用PackageManager。有了它,您可以检索所有已安装应用程序的列表,例如检查packageName是否包含一些字符串,如“.someapp.superdupertheme”,而不是使用getResourcesForApplication访问应用程序的资源。它并不像上面的外部存储那么容易,还有很多东西需要考虑。
2:为避免在Android媒体库中列出您的外部文件,只需在您的文件夹中放入名为“.nomedia”的文件,Android媒体扫描程序就会忽略它。