Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用多个Java类进行本机反应_Java_Android_React Native_Bluetooth - Fatal编程技术网

使用多个Java类进行本机反应

使用多个Java类进行本机反应,java,android,react-native,bluetooth,Java,Android,React Native,Bluetooth,我已经开发了一组JavaAndroid类,这些类处理not-BLE,因为React-Native没有实现它。由于使用react native开发接口更容易,我希望在react native应用程序中使用java类 我已经用做了一个例子,它是有效的,但是我的问题不是关于一种方法,而是关于它的每一种方法 因此,将java方法公开为react native非常简单,但我想要的是确保它将正确执行所有操作: //A类方法A @反应法 公共无效法{ ClassB ClassB=新的ClassB; 类别b.方

我已经开发了一组JavaAndroid类,这些类处理not-BLE,因为React-Native没有实现它。由于使用react native开发接口更容易,我希望在react native应用程序中使用java类

我已经用做了一个例子,它是有效的,但是我的问题不是关于一种方法,而是关于它的每一种方法

因此,将java方法公开为react native非常简单,但我想要的是确保它将正确执行所有操作:

//A类方法A @反应法 公共无效法{ ClassB ClassB=新的ClassB; 类别b.方法b; } //B类方法B 私有无效方法B{ ClassC ClassC=新ClassC; c类方法c; } //C类方法 私有无效方法{ //起始线程 } 假设java中有三个类,A、B、C类,它们之间也有一些依赖关系,其中一些扩展了Thread类以提高性能,我的问题是:

我必须公开执行的每个方法,还是只公开根方法? React native可以处理扩展线程的android类吗?
您只需要公开javascript直接调用的方法。仅由其他Java函数间接调用的方法不应注释为ReactMethod


你所说的处理扩展线程的android类是什么意思?你是在问你能不能启动一个线程?是的,但是如果您想等待线程完成并计划在JS中等待结果,那么您必须自己处理线程中的承诺工作。还要记住,所有ReactMethods都是在一个线程而不是主线程上异步调用的。

明白了!还有一个问题,我的类中的maven依赖项将在react native上导入?之前有什么准备吗?像mvn安装一样?如果您使用的是标准的Android Studio gradle构建,则不需要任何先决条件。只需使用正确的参数运行gradlew,或者点击androidstudio中的build按钮,就可以了。它将抓取build.gradle中列出的任何依赖项并缓存它们以备下次使用。太棒了!谢谢你,盖布!