勿忘初心做自己 发表于 2024-6-20 21:11:22

React Native 与 嵌入Android原生与Activity页面相互跳转,步伐人生

errorBack.invoke(e.getMessage());
}
}
//留意:startActivityFromJS、dataToJS方法添加RN注解(@ReactMethod),否则该方法将不被添加到RN中
}
第三步,创建MyReactPackage类

实现ReactPackage接口袒露给RN调用,在createNativeModules里注册上一步添加的模块:
/**


[*]注册模块
*/
public class MyReactPackage implements ReactPackage {
@Override
public List createNativeModules(ReactApplicationContext reactContext) {
return Arrays.asList(new MyIntentModule(reactContext));
}
@Override
public List createViewManagers(ReactApplicationContext reactContext) {
return Collections.emptyList();
}
}
第四步,在MainApplication中的getPackages方法中注册到ReactPackage中:

@Override
protected List getPackages() {
return Arrays.asList(
new MainReactPackage(),
new MyReactPackage()
);
}
第五步,接下来的工作便是RN的Index.js代码:

import React, { Component } from ‘react’;
import {
View,
NativeModules,
TouchableNativeFeedback,
ToastAndroid
} from ‘react-native’;
export default class App extends Component<{}> {
_onPressButton() {
console.log(“You tapped the button!”);
NativeModules
.IntentMoudle
.startActivityFromJS(“com.myreactdemo.MyActivity”, null);
}
render() {
return (
      跳转到原生页面
);
}
}
第六步,从Android跳转到RN页面

可以在rn中拿到activity跳转通报的值,值的通报跟普通activity之间的跳转没有差别:
view plain copy
getData() {
NativeModules.IntentModule.dataToJS((msg) => {
console.log(msg);
let base = require(‘./constant’);
base.columnID = msg;
//ToastAndroid.show(‘JS界面:从Activity中传输过来的数据为:’ + base.columnID, ToastAndroid.SHORT);
},
(result) => {
ToastAndroid.show(‘JS界面:错误信息为:’ + result, ToastAndroid.SHORT);
})
}
拿到这个值之后存在了常量类里,就是通过这个常量来实现跳转到差别的界面,之后的事情就迎刃而解了:
view plain copy
componentDidMount() {
let base = require(‘./constant’);
//ToastAndroid.show(base.columnID, ToastAndroid.SHORT);
let id = base.columnID;
if (id == “3”) {
const { navigator } = this.props;
if (navigator) {
navigator.push({
name: ‘secondPage’,
component: secondPage,
})
}
} if (id == “4”) {
const { navigator } = this.props;
if (navigator) {
navigator.push({
name: ‘otherPage’,
component: otherPage,
})
}
}
}
第七步,运行安装:

输入命令启动应用:
1.进入项目根目录:
cd MyReactDemo
2.运行:
react-native run-android
*如果装备没安装上AwesomeProject,可直接用Android studio或eclipse开发工具打开AwesomeProject文件里的Android项目,点击run运行安装即可。运行应用首先需要启动开发服务器(Packager)
npm start
学习分享,共勉
题外话,我从事Android开发已经五年了,此前我指导过不少同行。但很少跟各人一起探讨,正好近来我花了一个多月的时间整理出来一份包括不限于高级UI、性能优化、移动架构师、NDK、混合式开发(ReactNative+Weex)微信小步伐、Flutter等全方面的Android进阶实践技能,今天暂且开放给有需要的人,如有关于此方面可以关注+点赞后领取,或者批评与我一起交流探讨。
https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8xODQ1MjUzNi05ODc0MzYzOGQ3Njg5YzUyLnBuZz9pbWFnZU1vZ3IyL2F1dG8tb3JpZW50L3N0cmlwJTdDaW1hZ2VWaWV3Mi8yL3cvODk0L2Zvcm1hdC93ZWJw
https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8xODQ1MjUzNi1lN2RkOWRjZDgxZWRlN2Y3LnBuZz9pbWFnZU1vZ3IyL2F1dG8tb3JpZW50L3N0cmlwJTdDaW1hZ2VWaWV3Mi8yL3cvODM3L2Zvcm1hdC93ZWJw
资料免费领取方式:转发+关注+点赞后,参加点击链接参加群聊:Android高级开发交流群(818520403)即可获取免费领取方式!
重要的事说三遍,关注!关注!关注!
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到如今。
深知大多数初中级Android工程师,想要提拔技能,每每是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学结果低效又漫长,而且极易碰到天花板技能停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初志也很简单,就是希望能够帮助到想自学提拔又不知道该从何学起的朋友,同时减轻各人的负担。
https://img-blog.csdnimg.cn/img_convert/9c9961c70c10a1c80b98ffe78bbb3973.png
https://img-blog.csdnimg.cn/img_convert/b4eaf7e0fde533d48a09977f44217432.png
https://img-blog.csdnimg.cn/img_convert/46b23f19a965aea2b63f36be46159138.png
https://img-blog.csdnimg.cn/img_convert/61ffc1ceb702803ce42b9916242316da.png
https://img-blog.csdnimg.cn/img_convert/f65af39b3604b067b37fb5472d8dd195.png
既有适合小白学习的零基础资料,也有适合3年以上经验的小搭档深入学习提拔的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比力大,这里只是将部分目录截图出来,每个节点内里都包含大厂面经、学习条记、源码讲义、实战项目、讲解视频,而且会连续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
https://img-blog.csdnimg.cn/img_convert/24f0a667c8215aef10188361efe8cbd5.jpeg 学习分享,共勉

Android高级架构师进阶之路
题外话,我在阿里工作多年,深知技能改革和创新的方向,Android开发以其雅观、快速、高效、开放等上风迅速俘获民气,但很多Android爱好爱好者所需的进阶学习资料确实不太体系,完整。今天我把我搜集和整理的这份学习资料分享给有需要的人


[*]Android进阶知识体系学习脑图
https://img-blog.csdnimg.cn/img_convert/3a088289d80b253959dbb8b5c545d6e2.webp?x-oss-process=image/format,png


[*]Android进阶高级工程师学习全套手册
https://img-blog.csdnimg.cn/img_convert/7b6c30da1abd27d1480bba826dd722e8.webp?x-oss-process=image/format,png


[*]对标Android阿里P7,年薪50w+学习视频
https://img-blog.csdnimg.cn/img_convert/d4bb7805548fac3fd9a2225f7877c4db.webp?x-oss-process=image/format,png


[*]大厂内部Android高频面试题,以及面试经历
https://img-blog.csdnimg.cn/img_convert/7d80b23fcf00c6d1baacdbafff015224.webp?x-oss-process=image/format,png
《互联网大厂面试真题剖析、进阶开发核心学习条记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
Android进阶高级工程师学习全套手册
[外链图片转存中…(img-DOMduK36-1712792733669)]


[*]对标Android阿里P7,年薪50w+学习视频
[外链图片转存中…(img-jTduVIPt-1712792733670)]


[*]大厂内部Android高频面试题,以及面试经历
[外链图片转存中…(img-xKlHJK4Z-1712792733670)]
《互联网大厂面试真题剖析、进阶开发核心学习条记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: React Native 与 嵌入Android原生与Activity页面相互跳转,步伐人生