原文地址:http://blog.csdn.net/chichengjunma/article/details/53080606
1.Activity
- private ReactRootView mReactRootView;
- private ReactInstanceManager mReactInstanceManager;
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- mReactRootView = new ReactRootView(this);
- mReactInstanceManager = ReactInstanceManager.builder()
- .setApplication(getApplication())
- .setBundleAssetName("index.android.bundle")
- .setJSMainModuleName("index.android")
- .addPackage(new MainReactPackage())
- .setUseDeveloperSupport(BuildConfig.DEBUG)
- .setInitialLifecycleState(LifecycleState.RESUMED)
- .build();
- mReactRootView.startReactApplication(mReactInstanceManager, "XXXReactNativeProject", null);
- setContentView(mReactRootView);
- }
2.Fragment
- private ReactRootView mReactRootView;
- private ReactInstanceManager mReactInstanceManager;
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- mReactRootView = new ReactRootView(mContext);
- mReactInstanceManager = ReactInstanceManager.builder()
- .setApplication(getActivity().getApplication())
- .setBundleAssetName("index.android.bundle")
- .setJSMainModuleName("index.android")
- .addPackage(new MainReactPackage())
- .setUseDeveloperSupport(BuildConfig.DEBUG)
- .setInitialLifecycleState(LifecycleState.RESUMED)
- .build();
- mReactRootView.startReactApplication(mReactInstanceManager, "XXXReactNativeProject", null);
- return mReactRootView;
- }
3.View
- myReact= (LinearLayout) findViewById(R.id.myReact);//原生布局中的view
- mReactInstanceManager = ReactInstanceManager.builder()
- .setApplication(getActivity().getApplication())
- .setBundleAssetName("index.android.bundle")
- .setJSMainModuleName("index.android")
- .addPackage(new MainReactPackage())
- .setUseDeveloperSupport(BuildConfig.DEBUG)
- .setInitialLifecycleState(LifecycleState.RESUMED)
- .build();
- mReactRootView.startReactApplication(mReactInstanceManager, "XXXReactNativeProject", null);
- myReact.addView(mReactRootView)