我想知道应用程序的整个API是如何工作的?它是如何创建的?我知道它在C中是如何工作的,例如当你创建一个.h文件但更像是创建一个库。
当你有一个运行并运行的应用程序并且还希望其他应用程序能够在功能上使用它时,它是如何完成的?你应该创建一个名为API的类,并拥有你想要导出的所有功能(函数)吗?然后当有人想要在功能上使用他创建这个类或调用静态函数时?
谢谢, 托梅尔。
答案 0 :(得分:1)
当你有一个运行并运行的应用程序并且还希望其他应用程序能够在功能上使用它时,它是如何完成的?
通常,您通过Android进程间通信机制(IPC)导出一个或多个组件。这里,“组件”是指活动,服务,广播接收器和内容提供商。
例如,几乎每个应用都有一个“API”:<intent-filter>
和ACTION_MAIN
的{{1}}活动。第三方应用可以启动该活动。
同样,您可以:
CATEGORY_LAUNCHER
和AIDL定义的bindService()
你应该创建一个名为API的类,并将所有要导出的功能(函数)放在那里吗?然后当有人想要在功能上使用他创建这个类或调用静态函数时?
通常情况下,您的代码会驻留在您的流程中,因此无法在其流程中使用其他应用。
欢迎您创建一个包装您正在导出的Android IPC接口的JAR,然后为其分发JAR和文档,以便第三方更容易使用您的IPC。在这种情况下,JAR不是您自己的应用程序的代码,而是包装IPC接口的客户端的单独库(例如,JAR调用Binder
或startService()
)。