No Description

MainApplication.java 2.3KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. package com.demo;
  2. import android.app.Application;
  3. import android.content.Context;
  4. import com.facebook.react.PackageList;
  5. import com.facebook.react.ReactApplication;
  6. import com.reactnativecommunity.webview.RNCWebViewPackage;
  7. import com.facebook.react.ReactNativeHost;
  8. import com.facebook.react.ReactPackage;
  9. import com.facebook.soloader.SoLoader;
  10. import java.lang.reflect.InvocationTargetException;
  11. import java.util.List;
  12. public class MainApplication extends Application implements ReactApplication {
  13. private final ReactNativeHost mReactNativeHost =
  14. new ReactNativeHost(this) {
  15. @Override
  16. public boolean getUseDeveloperSupport() {
  17. return BuildConfig.DEBUG;
  18. }
  19. @Override
  20. protected List<ReactPackage> getPackages() {
  21. @SuppressWarnings("UnnecessaryLocalVariable")
  22. List<ReactPackage> packages = new PackageList(this).getPackages();
  23. // Packages that cannot be autolinked yet can be added manually here, for example:
  24. // packages.add(new MyReactNativePackage());
  25. return packages;
  26. }
  27. @Override
  28. protected String getJSMainModuleName() {
  29. return "index";
  30. }
  31. };
  32. @Override
  33. public ReactNativeHost getReactNativeHost() {
  34. return mReactNativeHost;
  35. }
  36. @Override
  37. public void onCreate() {
  38. super.onCreate();
  39. SoLoader.init(this, /* native exopackage */ false);
  40. initializeFlipper(this); // Remove this line if you don't want Flipper enabled
  41. }
  42. /**
  43. * Loads Flipper in React Native templates.
  44. *
  45. * @param context
  46. */
  47. private static void initializeFlipper(Context context) {
  48. if (BuildConfig.DEBUG) {
  49. try {
  50. /*
  51. We use reflection here to pick up the class that initializes Flipper,
  52. since Flipper library is not available in release mode
  53. */
  54. Class<?> aClass = Class.forName("com.facebook.flipper.ReactNativeFlipper");
  55. aClass.getMethod("initializeFlipper", Context.class).invoke(null, context);
  56. } catch (ClassNotFoundException e) {
  57. e.printStackTrace();
  58. } catch (NoSuchMethodException e) {
  59. e.printStackTrace();
  60. } catch (IllegalAccessException e) {
  61. e.printStackTrace();
  62. } catch (InvocationTargetException e) {
  63. e.printStackTrace();
  64. }
  65. }
  66. }
  67. }