我有一些语音相关的算法,我希望Android应用程序能够使用它。我希望多个应用程序能够同时使用它(它不必支持多个客户端一次调用,但它必须支持多个客户端加载库)。 实施它的最佳方法是什么?我读了一些关于绑定服务的内容,但我不确定它是否合适。我无法扩展Binder类,因为我需要多个应用程序支持,我不想使用Messenger,因为它只提供异步访问,我需要同步访问(我想从调用中返回一个对象)。 我不明白的另一件事是如何提供我的SDK。它应该是图书馆吗?申请?
感谢。
答案 0 :(得分:0)
实施它的最佳方法是什么?
这不可能在摘要中回答。
我无法扩展Binder类,因为我需要多个应用程序支持
使用AIDL和Binder的远程服务可以支持多个应用程序。
我不想使用Messenger,因为它只提供异步访问,我需要同步访问(我想从调用中返回一个对象)
将数据返回给请求者不需要同步访问。
我不明白的另一件事是如何提供我的SDK。它应该是图书馆吗?申请?
如果您希望多个应用使用一个副本,则必须是自己的应用,这意味着用户需要单独安装您的应用。而且,这意味着更改您的API会更加痛苦,因为您需要保持向后兼容性,因为并非所有应用都会同时更新到您的新API,并且用户可能无法将其应用的所有副本更新为新API在同一时间。
就我个人而言,我建议您将其作为JAR或Android库项目,每个开发人员都放入他们自己的项目中。