目标:创建一个模块化应用程序,插件必须具有UI(这是关键点)。我有关于主应用程序的所有信息("服务器")以及所有插件(所有这些都将由我们制作)。 所以我们想给用户主apk,让他获得" modules"为了增加主要的apk功能。他将安装"模块APK"这将在服务器应用程序中显示。单击该模块,用户将能够使用模块的GUI进行交互。理想的是同时在服务器和模块的屏幕GUI上。
测试1:查看服务。很好,服务器和客户端之间的通信工作正常,但似乎客户端(因此"服务")仅用于计算,处理等,但无法进行表单和显示。所以"服务器"有表格,获取数据,发送到服务发送回服务和服务器显示的服务。无法在"服务"?
中进行活动测试2:片段。很好,但似乎片段必须与"来电者#34;在同一个包中。
测试3:iFrame。很好,因为我们可以从服务器和客户端同时显示UI,并与两者进行交互。但似乎客户端类必须在同一个APK中。
有什么想法吗? 感谢
答案 0 :(得分:1)
理想的是同时在服务器和模块的屏幕GUI上。
Android没有任何“开箱即用”的功能。最接近的是RemoteViews
,但您可以选择有限的窗口小部件,以及更有限的事件处理功能。
无法在“服务”中进行活动?
正确。
有什么想法吗?
欢迎您创建自己的自定义RemoteViews
。最后,RemoteViews
是关于如何构建一些UI的Parcelable
描述。您的插件会通过任意数量的IPC选项将其传递给主机应用程序,主机应用程序将负责呈现它。
答案 1 :(得分:0)
请参阅有关六边形体系结构的文章:http://alistair.cockburn.us/Hexagonal+architecture。 服务可以从中启动Activity,但您必须在清单中允许它。 不同的.apk文件(不同的程序)在不同的进程中运行,因此您需要使用进程间通信(IPC):https://developer.android.com/guide/components/aidl.html。 我的工作室有一个项目,可以下载不同的应用程序。每个应用程序都是一个单独的apk