目标:创建一个插件必须具有UI的模块化应用程序(这是关键点)。我有关于主应用程序(“服务器”)的所有信息,也关于所有插件(所有将由我们制作)。因此,我们希望将主apk交给用户,让他获得“模块”,以增加主apk的功能。他将安装“模块APK”,该模块将在服务器应用程序和中可见。单击该模块,用户将能够使用该模块的GUI进行交互。理想的情况是在屏幕上同时显示服务器和模块的GUI。
测试1:了解一下服务。很好,服务器和客户端之间的通信运行良好,但客户端(因此“服务”)似乎只是为了计算,处理等,但不能有形式和显示。因此,“服务器”有表单,获取数据,并将其发送给执行动作返回结果的服务和服务器显示。在“服务”中不可能有活动?
测试2:片段。不错,但似乎片段必须与“调用者”在同一个包中。
测试3: iFrame。很好,因为我们可以让来自服务器和客户端的UI同时可见,并与两者交互。但看起来客户端类必须在同一个APK中。
有什么想法吗?谢谢
发布于 2016-10-20 23:28:31
的理想是同时在服务器和模块的屏幕上显示图形用户界面。
Android没有任何“开箱即用”的东西可以很好地实现这一点。最接近的是RemoteViews,但可供选择的小部件的调色板有限,事件处理能力甚至更有限。
在“服务”中不可能有活动吗?
对,是这样。
有什么想法吗?
欢迎您创建自己的自定义RemoteViews等效项。最后,RemoteViews是对如何构建少量UI的Parcelable描述。您的插件将通过任意数量的IPC选项将其传递给主机应用程序,主机应用程序将负责渲染它。
发布于 2016-10-20 22:56:52
请参阅有关六边形架构的文章:http://alistair.cockburn.us/Hexagonal+architecture。服务可以从它启动活动,但您必须在清单中允许它。不同的.apk文件(不同的程序)在不同的进程中运行,因此您需要使用进程间通信:https://developer.android.com/guide/components/aidl.html。我的工作商店上有一个项目,可以下载不同的应用程序。每个应用程序都是一个单独的apk。
https://stackoverflow.com/questions/40157802
复制相似问题