2014-10-19 71 views
0

我想知道应用程序的整个API是如何工作的?它是如何创建的?我知道它在C中是如何工作的,例如当你创建一个.h文件时,但更像创建一个库。Android应用程序的API

当你有一个应用程序运行并执行某些功能时,还希望其他应用程序能够使用它的某些功能时,它是如何完成的?你是否应该创建一个名为API的类,并且要导出所有功能(函数)?然后当有人想要使用你的功能时,他创建这个类或调用一个静态函数?

谢谢, Tomer。

回答

1

当你有一个应用程序运行并且做了一些东西并且还希望其他应用程序能够使用它的某些功能时,它是如何完成的?

通常,您通过Android进程间通信机制(IPC)导出一个或多个组件。在这里,“组件”是指活动,服务,广播接收者和内容提供者。

例如,几乎每个应用程序都有一个“API”:<intent-filter>ACTION_MAINCATEGORY_LAUNCHER的活动。第三方应用可以启动该活动。

同样,你可以:

  • 出口服务,专为第三方通过bindService()通过`startService()
  • 出口调用服务,专为第三方调用和AIDL定义Binder
  • 出口广播接收器,专为第三方发送广播消息,你会捡起
  • 导出内容提供商,专为第三方来检索(或者修改)的数据库中的数据或流结构

是你应该创建一个类调用的API,并拥有所有的功能(功能)要导出在那里?然后当有人想要使用你的功能时,他创建这个类或调用一个静态函数?

通常,您的代码驻留在您的进程中,因此其他应用程序在其进程中不可用。

欢迎您创建一个JAR来包装您要导出的Android IPC接口,然后为其分发该JAR和文档,以便第三方使用您的IPC。在这种情况下,JAR将不是您自己的应用程序的代码,而是包装IPC接口的客户端(例如,JAR调用startService()bindService())的单独库。