上篇地址: 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"; } }核心代码如下
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); } }