我只是想知道如何解决以下情况:
我想为我的女儿编写一个非常简单的应用程序。该应用程序在 Activity 上显示 4 个彩色字段,并通过语音输出说出类似“点击绿色”的内容。然后她应该点击绿色区域以获得积极的反馈。到目前为止,非常简单。
然后我想,如果该应用程序也能随着她年龄的增长而“成长”,那可能会很好。也许以后我想要一个游戏模式,我可以在其中显示动物、数字、车辆等,所以如果我能有类似“形状集”的东西就好了——基本上是一组图像以及应用程序的描述应该为每个图像说。也很简单 - 您只需要一组图像和一个描述图像的 XML 文件。
但是
我希望以后能够将这些“形状集”作为附加 APK 安装,这样我就不必每次都修改应用程序。我想安装 APK,以便将内容添加到 SD 卡上的特定子文件夹,我的应用程序会在其中枚举可用的“形状集”。
如果我曾经将应用程序发布到 Play 商店,其他人也应该能够下载我创建的“形状集”(尽管不需要用户贡献)。
这可能吗?如果是这样,我需要做什么才能让 Android 操作系统将 APK 的内容“复制”到 SD 卡上的特定文件夹(比如“/TapGame/Shape Sets/Animals”)?还是有另一种方法可以实现我没有想到的我想要的东西?
当我写这个问题时,“插件架构”这个词刚刚出现在我的脑海中。使用该术语搜索我发现了这个问题:Extend my android app in different APK
它似乎为我的问题提供了解决方案 - 我会进一步调查,但请随时提出其他可能的解决方案!
最佳答案
Is that possible?
嗯,当然。
If so, what would I have to do to have the Android OS "copy" the contents of an APK to a specific folder (lets say "/TapGame/Shape Sets/Animals") on the SD card?
Android 不会做任何这些。 你必须这样做。您必须检测是否安装了“形状集”APK(观察包安装的广播、扫描所有已安装的应用程序以查找似乎是“形状集”的应用程序等)。然后你将不得不安排将你想要的任何东西复制到你想要的任何地方,方法是:
要求“形状集”应用执行此操作(例如,向某些
IntentService
发送命令),或使用
createPackageContext()
并尝试从您的主应用进行复制
Or is there even another way of achieving what I want that I didn't think of?
嗯,只需使用您的应用从知名位置自行下载的 ZIP 文件即可。这对应于 Dave Smith 的最后一段 his answer关于您刚刚在编辑中链接到的问题。
或者,只更新主应用程序。我不太确定您认为您节省了多少精力。
或者,只是将内容保持在线,使用 Web 服务来指示可用的“形状集”并根据需要下载它们(使用可选的缓存)。
关于android - 如何使用可下载的 APK(插件类)扩展应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17552426/