java - Android 应用程序的 API

标签 java android api

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

当您有一个可以运行并执行某些操作的应用程序,并且还希望其他应用程序能够使用其某些功能时,该怎么做?您是否应该创建一个名为 API 的类并拥有您想要导出的所有功能(函数)?然后当有人想要使用你的功能时,他会创建这个类或调用静态函数?

谢谢, 托默。

最佳答案

When you have an application that runs and does stuff and also want other apps to be able to use some of its functionally, how is it done?

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

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

同样,您可以:

  • 导出服务,旨在供第三方通过“startService()”调用
  • 导出服务,供第三方通过 bindService() 调用和 AIDL 定义的 Binder
  • 导出广播接收器,专为第三方发送您将接收到的广播而设计
  • 导出内容提供程序,供第三方用于检索(或可能修改)数据库或流结构中的数据

are you supposed to create a class called API and have all the functionally (functions) you want to export be there? and then when someone wants to use your functionally he creates this class or calls a static function?

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

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

关于java - Android 应用程序的 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26453632/

相关文章:

php - api客户端中的nonce是什么

c# - 如何开始在 .NET 中创建应用程序 API

java - 从命令行使用处理时出现 UnsupportedClassVersionError

java - 从子类调用父类(super class)构造函数

android - 在代码中的随机点 (NDK) 中收到 SIGILL

java - 有意传递很长时间,总是出错

android - 在 ListView 中获取 edittexes 的数据

java - Flickr API + JAVA - flickrj

java - 自动记录java异常

java - java中如何通过反射获取注解