android - 如何使用可下载的 APK(插件类)扩展应用程序

标签 android plugins apk

我只是想知道如何解决以下情况:

我想为我的女儿编写一个非常简单的应用程序。该应用程序在 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/

相关文章:

android - 为什么 600dp 宽度的 View 占据了我的 Nexus 5 的所有横向宽度?

java - Android 在保持宽高比的同时显示图像

Android AppCompat 工具栏不响应触摸操作项

android - 是否可以上传反向工程 APK?

android - 您上传的 APK 或 Android App Bundle 的部分文件签名信息无效或缺失

android - 如何在android服务器和c客户端之间同步时间?

java - 使用 Eclipse 开发插件时目标平台和依赖项之间的区别

ruby-on-rails - 如何从 Rails gem 或 lib 中访问 session 和 cookie?

Docker 连接问题 : apt/apk do not work inside docker container and during docker build

azure - 如何为 Azure 上的 Kubernetes 集群中运行的 Grafana 安装自定义插件