Android应用程序的API

时间:2014-10-19 17:59:41

标签: java android api

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

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

谢谢, 托梅尔。

1 个答案:

答案 0 :(得分:1)

  

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

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

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

同样,您可以:

  • 导出服务,专为第三方设计,通过`startService()
  • 调用
  • 导出服务,专为第三方设计,可通过CATEGORY_LAUNCHER和AIDL定义的bindService()
  • 进行调用
  • 导出广播接收器,专为第三方发送您将接收的广播
  • 导出内容提供商,专为第三方设计,用于检索(或修改)数据库或流结构中的数据
  

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

通常情况下,您的代码会驻留在您的流程中,因此无法在其流程中使用其他应用。

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