React Native调用Android的原生功能

React Native 通过 JavaScript 接口与原生代码通信,这是通过名为 Bridge 的机制实现的。Bridge 负责在 JavaScript 和原生端之间建立通信桥梁。

以下是调用 Android 原生功能的基本步骤:

在 JavaScript 中,使用 React Native 提供的模块创建一个接口。

这个接口会被编译成 Java 或 Kotlin 代码,并在 Android 项目的 android/app/src/main/java/<你的包名>/ 目录下的相应 Module 中实现。

实现原生功能的具体代码。

通过 Bridge 将原生功能暴露给 JavaScript。

例如,如果你想要调用 Android 的 Toast 功能,你可以创建一个名为 ToastExample 的模块:

java 复制代码
// ToastExample.java

package com.yourpackage;

import android.widget.Toast;
import android.content.Context;

import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
import com.facebook.react.module.annotations.ReactModule;

@ReactModule(name = ToastExampleModule)
public class ToastExample extends ReactContextBaseJavaModule {

    ToastExample(ReactApplicationContext context) {
        super(context);
    }

    @Override
    public String getName() {
        return "ToastExample";
    }

    @ReactMethod
    public void show(String message, int duration) {
        Toast.makeText(getReactApplicationContext(), message, duration).show();
    }
}

然后在 JavaScript 中这样使用:

javascript 复制代码
import { NativeModules } from 'react-native';

NativeModules.ToastExample.show('Hello, World!', NativeModules.ToastExample.LENGTH_LONG);

这个例子中,我们创建了一个名为 ToastExample 的模块,并在其中定义了一个 show 方法,该方法通过调用 Android 的 Toast 功能来显示一条消息。然后在 JavaScript 中,我们通过 NativeModules.ToastExample.show 调用这个方法。

相关推荐
自挂东南1 分钟前
Spring的实战知识总结
java
天天摸鱼的java工程师2 分钟前
如果面试被问到单点登录,你会怎么回答?
java·后端·面试
艺杯羹5 分钟前
MyBatis 之分页四式传参与聚合、主键操作全解
java·开发语言·maven·mybatis
哪里不会点哪里.10 分钟前
代理模式:控制对象访问
java·代理模式
henujolly23 分钟前
react native学习record one month
学习·react native·react.js
叶羽西30 分钟前
将Android Studio创建的一个apk工程放到Android15源码中构建
android
D_alyoo31 分钟前
01 启动流程实例
java·审批流程·activiti7源码
然我33 分钟前
还在用 props 传参?useContext 让组件通信效率翻倍!
前端·javascript·react.js
止观止37 分钟前
Redux架构解析:状态管理的核心原理
前端·react.js·架构·redux
不知疲倦的仄仄41 分钟前
网络编程/Java面试/TCP&UDP区别
java·开发语言·websocket·网络协议·tcp/ip·https·信息与通信