gpt4 book ai didi

java - Android 应用程序的 API

转载 作者:行者123 更新时间:2023-12-01 12:24:43 24 4
gpt4 key购买 nike

我想知道应用程序的整个 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com