问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何把React Native嵌入到原生android应用中

发布网友 发布时间:2022-05-12 17:16

我来回答

2个回答

懂视网 时间:2022-05-15 01:37

本篇文章主要介绍了React-native桥接Android原生开发详解,现在分享给大家,也给大家做个参考。

在开发RN的漫漫长河中,早晚有那么一天要接触到安卓的原生开发,笔者来介绍一下其中的酸甜苦辣.对于一个不懂android的小白来说,刚开始有点难,不过都是万事开头难.语言是想通的,原理也是大径若一.

开发过程中是要集成高德的导航功能,没有找到好的轮子的,只要写原生代码,然后在用JS去调用原生的导航模块.

首先注册模块

其意义在与将类注册到RN中,才能用JS去调用

public class AnExampleReactPackage implements ReactPackage {
 @Override
 public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
 return Collections.emptyList();
 }
 @Override
 public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
 List<NativeModule> modules = new ArrayList<>();

 modules.add(new NaviActivity(reactContext));
 return modules;
 }
}

其中modules.add(new NaviActivity(reactContext));意义就是添加一个安卓原生的activity模块

这个模块可以定义方案,RN可以直接调用(方法上必须声明了@ReactMethod才可以)

@ReactMethod
 public void showFengMap(String mapID){
 Activity currentActivity = getCurrentActivity();
 Intent intent = new Intent(currentActivity, 页面名.class);
 currentActivity.startActivity(intent);
 }

笔者其中的到吗是跳转到其他页面,这里也可以做一些其他的操作.例如直接去分享

声明

在安卓程序的app内的MainApplication内,

@Override
 protected List<ReactPackage> getPackages() {
 return Arrays.<ReactPackage>asList(
 new MainReactPackage(),
 new AnExampleReactPackage()
 );
 }

加入刚刚注册过的包名

JS调用原生代码

import { NativeModules } from 'react-native';

export default NativeModules.NaviActivity;

笔者这里写了一个untils/CommonAndroidUntils.js,在需要用的页面直接引入这个js文件

CommonAndroidUntils.show();

实现跳转.

集成高德导航

对于一个小白直接去在android studio内集成高德地图刚开始还是有点难度的.不过理解之后感觉还好.简单些一下遇到的问题,提醒自己,帮助他人

直接拖入的.jar语音包不能引入

解决办法是右键.jar包,有将.jar引入的选项点击,等待同步即可.

其余的都是些小问题,根据demo以及文档轻松解决的不值一提了.

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

如何使用babel安装配置教程

在vue-cli中如何配置babel配置文件

使用node.js实现抖音自动抢红包功能

热心网友 时间:2022-05-14 22:45

一、用AndroidStudio创建一个程序,我的是RnInAndroid;二、打开命令行终端,进入RnInAndroid,2.1、输入以下命令:npminit然后会创建一个package.json的文件,搞过RN的我们知道,这是RN的配置文件,下面需要我们输入一些信息:2.2、输入yes,创建好package.json文件,然后输入:npminstall--savereactreact-native会自动联网下载rn的组件库node_moles
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... 有种茶叶叫什么*前绿的什么的? 明前的茶跟雨后的茶油什么区别 假如你是个茶客去买信阳毛尖茶都想了解些什么呢? 中国最名贵的茶叶是什么茶? Android实际开发中使用MVP或者MVVM的情况多么 新生儿莫名抽搐是怎么回事 防新生儿抽搐3大妙招 输液过程中出现抽搐惊厥护士首先采取的救治措施是 幼儿惊厥怎么处理方法 浙江师范大学自考汉语言文学专业有吗? 浙江大学现在还招自考吗?我想读汉语言文学专业 公众有什么作用 生活中该怎么护理抽动症患者 浙江汉语言文学教育自考科目有那些 国际sos救援中心24小时电话? 景区紧急救援电话 兰州交通大学08年的录取分数线 我找青海软件公司,青海的软件开发 西宁新北佳电子技术有限公司时代分公司怎么样? 青海万德信息科技有限公司怎么样? 牙齿之前是蛀牙,这么多年了,现在只剩下个牙根了,这个不看医生会不会怎么样呀? 明前亳峰茶是什么茶? 怎样申请5个微信公众号 病理科常规技术工作的流程有哪些 上海肿瘤医院的病理会诊流程 病理科护士干些什么工作? 病理科和检验科的区别 华西附二院病理科接收标本流程? 西安交大一附院病理科切生送检流程,周六.周天、有大夫值班吗? c1o1s是什么牌平板电脑? rugged tablet pc是什么意思 加固型平板电脑是哪种类型的? 安全员规范标准!!! 如何选择全新panasonic松下7寸安卓fz-b2三防坚固平板电脑 如何选择松下三防平板电脑fz-a2 全新原装坚固平板电脑 企业主要负责人、技术负责人、项目负责人、安全管理机构人员及专职安全员培训考核是如何规定的 铁路安全常识 关于电子证书跟建行申请网上银行的问题 .cert是什么文件格式 后缀名是.cert的是什么文件格式? 应届生身份对春招有什么好处?