现有的Android 原生项目里面集成RN 页面的学习和踩坑之路方法2

xiaoxiao2021-02-28  43

1.前面几个步骤都是一样的一直到第8步集成RN的页面代码

上篇地址: http://note.youdao.com/noteshare?id=3619fb52aae9cd06f3989b12e48b849a 上篇是集成一个Activity实现一个接口 本篇主要是这样的集成一个类 代码如下

package com.org.gsc.androidinrndemo; import com.facebook.react.ReactActivity; /** * .::::. * .::::::::. * ::::::::::: FUCK YOU * ..:::::::::::' * '::::::::::::' * .:::::::::: * '::::::::::::::.. * ..::::::::::::. * ``:::::::::::::::: * ::::``:::::::::' .:::. * ::::' ':::::' .::::::::. * .::::' :::: .:::::::'::::. * .:::' ::::: .:::::::::' ':::::. * .::' :::::.:::::::::' ':::::. * .::' ::::::::::::::' ``::::. * …::: ::::::::::::' ``::. * ```` ':. ':::::::::' ::::.. * '.:::::' ':'````.. * * 作者:jiangnanyizhou on 2018/2/12 10:53 * 邮箱:373654981@qq.com */ public class RNPage extends ReactActivity { /** * Returns the name of the main component registered from JavaScript. * This is used to schedule rendering of the component. * //这里的AndroidRnDemoApp必须对应“index.js”中的“AppRegistry.registerComponent()”的第一个参数 */ @Override protected String getMainComponentName() { return "AndroidRnDemoApp"; } }

2,这种需要重写Application

核心代码如下

package com.org.gsc.androidinrndemo; import android.app.Application; import com.facebook.react.ReactApplication; import com.facebook.react.ReactNativeHost; import com.facebook.react.ReactPackage; import com.facebook.react.modules.network.OkHttpClientProvider; import com.facebook.react.shell.MainReactPackage; import com.facebook.soloader.SoLoader; import com.org.gsc.androidinrndemo.btns.MyReactBtnPackage.MyReactBtnPackage; import java.util.Arrays; import java.util.List; public class MainApplication extends Application implements ReactApplication { private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) { @Override public boolean getUseDeveloperSupport() { return BuildConfig.DEBUG; } @Override protected List<ReactPackage> getPackages() { return Arrays.<ReactPackage>asList( new MainReactPackage(), new MyReactPackage(), new MyReactBtnPackage() ); } @Override protected String getJSMainModuleName() { return "index"; } }; @Override public ReactNativeHost getReactNativeHost() { return mReactNativeHost; } @Override public void onCreate() { super.onCreate(); // // OkHttpClientProvider.replaceOkHttpClient(HttpsOkHttpClient.initCustomOkHttpClient()); SoLoader.init(this, /* native exopackage */ false); } }
转载请注明原文地址: https://www.6miu.com/read-2624785.html

最新回复(0)