gpt4 book ai didi

java - Android NDK、JNI、蓝牙 : Designing the Android Application which is having C++ source code/library with Bluetooth APIs/methods , 使用 JNI

转载 作者:行者123 更新时间:2023-11-30 01:42:47 25 4
gpt4 key购买 nike

我需要使用 JNI、NDK 设计具有 C++ 源代码/库和蓝牙 API/方法的 Android 应用程序。我对蓝牙 API 了解不多。

先决条件

  1. 用 C++ 编写的现有 Windows、Linux、Mac 操作系统软件代码。这是连接和控制蓝牙设备(扬声器等)的软件(桌面)

  2. 现有的全部代码都是C++。

  3. 需要使用现有的 C++ 源代码或可以将其用作 Android 应用程序中的库。

查询:

  1. 我应该使用 MVC 还是 MVP 架构?
  2. 如何将 C++ 蓝牙 API 与 Android 蓝牙 API 链接起来?
  3. 如何在 Android 和 C++ 代码之间进行双向通信,反之亦然。(如何为 C++ 使用回调和注册事件?注意:目前我没有接触过实际存在的 Windows、MacOS、Linux 软件代码,所以不要'知道当前的通信结构。如果有人知道我请解释)
  4. Android 蓝牙 API 是否足够或扩展支持开发人员使用 native 代码 (C++)?

最佳答案

  1. 我个人会选择 MVC。在我看来,它会更好地适应功能。
  2. 绝对没有必要链接原生和安卓 BT API。由于两者的用途相同,因此您可以使用哪一种。 android BT 堆栈有点不稳定,但已经具备了所有需要的实现。除非 native 代码要提供某种附加值或不同的功能,否则重新发明轮子是没有意义的。
  3. 您可以使用相应 C++ 库的 SO 文件并使用 JNI 访问它们。来回沟通不成问题。要实现回调,您会找到代码片段。例如,How to create callbacks between android code and native code?
  4. 如前所述,如果您的 native 库不做任何比 android API 做的更多的事情,那么请尽可能避免使用它。

关于java - Android NDK、JNI、蓝牙 : Designing the Android Application which is having C++ source code/library with Bluetooth APIs/methods , 使用 JNI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38896061/

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