1.安卓项目结构
rn版本为0.74
在android目录下为安卓的项目
在找到Android/src/main/java/com/rnmusic目录下的文件有两个MainActivity与MainApplication
安卓中的Activity相当于小程序中的一个page页面
之后就是创建两个文件 一个是module一个是page
page类似于vue中的路由,负责添加module。module负责编写具体的原生相关功能(扫码、相机、音视频等)
package代码如下 主要是两个方法createNativeModules与createViewManagers createViewManagers用于桥接原生组件,createNativeModules桥接整个模块
例如以扫码举例,createViewManagers能与rn页面混用,本质为原生组件(View,Text) createNativeModules需要跳转页面。需要一个承载ui显示的activity
module中 getName到时候导出的具体原生模块名称
通过@ReactMethod方法确定导出方法的对象方法
最后通过在MainApplication中getPackage()方法中add(模块名称导出)
然后通过rn的NativeModules模块使用 注意 是异步函数
import {
View,
NativeModules
} from 'react-native';
export const Index = ()=>{
const {Music} = NativeModules;
const test = async()=>{
const res = await Music.openGallery()
console.log(res);//1
}
test()
return (
<View>
</View>
)
}