React-Native 使用多个 Java 类

React-Native using Multiple Java Classes

我开发了 Java(Android) 一堆 classes 来处理 Bluetooth Connection(不是 BLE),因为 React Native 没有实现它.由于使用 react-native 开发界面更容易,我想在我的 react-native 应用程序中使用我的 java classes。

我已经使用 Toast Example from documentation 做了一个示例并且它有效,但我的问题不是与一种方法相关,而是与它相关的所有方法。

因此,对于 "expose" 一个 java 方法来响应本机非常简单,但我想要的是确保它会正确执行 一切 :

//ClassA methodA
@ReactMethod
  public void methodA() {
       ClassB classB = new ClassB();
       classB.methodB();
  }
//ClassB methodB
  private void methodB(){
        ClassC classC = new ClassC();
        classC.methodC();
  }
//ClassC methodC
  private void methodC(){
        //Start thread
  }

所以,假设它是 class 中的三个 java、Class A、B、C,它们之间也有一些依赖关系,其中一些扩展了 Thread class为了更好的表现,我的问题是:

  1. 我必须公开执行的每个方法还是只公开根方法?
  2. React-native 可以处理扩展线程的 android classes?

您只需要公开您的 javascript 直接调用的方法。仅由其他 Java 函数间接调用的方法不应被注释为 ReactMethod。

你说的 "handle android classes that extends a Thread?" 是什么意思?你问的是你能发帖吗?是的,但是如果你想等待线程完成并计划在 JS 中等待结果,你必须自己处理线程中的承诺工作。还要记住,所有 ReactMethods 都是在线程而不是主线程上异步调用的。