Skip to content
This repository has been archived by the owner on Oct 5, 2023. It is now read-only.

DEPRECATED: A utility library for facilitating React Native development with Android Fragments.

License

Notifications You must be signed in to change notification settings

hudl/react-native-android-fragment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DEPRECATED

This library has been deprecated and is no longer in use at Hudl. If you've been using this library, please consider adopting ReactFragment in the main react-native repo.

react-native-android-fragment

A utility library for facilitating React Native development with Android Fragments.

Getting started

$ npm install react-native-android-fragment --save

or

$ yarn add react-native-android-fragment

Mostly automatic installation

$ react-native link react-native-android-fragment

Manual installation

Android

  1. Append the following lines to android/settings.gradle:
    include ':react-native-android-fragment'
    project(':react-native-android-fragment').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-android-fragment/android')
    
  2. Insert the following lines inside the dependencies block in android/app/build.gradle:
    compile project(':react-native-android-fragment')
    
  3. Open up android/app/src/main/java/[...]/MainActivity.java
  • Add import com.hudl.oss.react.fragment.ReactFragment; to the imports at the top of the file

Usage

The primary component in this library is ReactFragment You can use this class directly if you wish, or you can extend from it to simplify your code.

A Builder pattern is provided out of the box for easy usage:

Fragment messagingFragment = new ReactFragment.Builder()
       .setComponentName("HelloWorld")
       .setLaunchOptions(launchOptions) // A Bundle of launch options
       .build();

In your Activity make sure to override onKeyUp() in order to access the In-App Developer menu:

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
    boolean handled = false;
    Fragment activeFragment = getSupportFragmentManager().findFragmentById(R.id.container_main);
    if (activeFragment instanceof ReactFragment) {
        handled = ((ReactFragment) activeFragment).onKeyUp(keyCode, event);
    }
    return handled || super.onKeyUp(keyCode, event);
}

Running Sample App

NOTE: Make sure your environment is set up for React Native and Android development.

  • Clone the repo
  • Open a terminal and navigate to the root directory of your checkout
  • yarn link
  • cd example
  • yarn link react-native-android-fragment
  • react-native link react-native-android-fragment
  • react-native run-android

About

DEPRECATED: A utility library for facilitating React Native development with Android Fragments.

Resources

License

Stars

Watchers

Forks

Packages

No packages published