put our react module in our aar
This commit is contained in:
parent
15ad6a12ac
commit
eea8658627
|
@ -182,6 +182,8 @@ dependencies {
|
|||
compile 'com.squareup.okhttp:okhttp-ws:2.5.0'
|
||||
compile 'com.squareup.okio:okio:1.6.0'
|
||||
compile 'org.webkit:android-jsc:r174650'
|
||||
compile "com.facebook.react:react-native:0.16.+"
|
||||
|
||||
|
||||
testCompile "junit:junit:${JUNIT_VERSION}"
|
||||
testCompile "org.powermock:powermock-api-mockito:${POWERMOCK_VERSION}"
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
package com.reacttests;
|
||||
|
||||
public class API {
|
||||
public static native String getDefaultRealmFileDirectory();
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
package com.reacttests;
|
||||
|
||||
import com.facebook.react.bridge.NativeModule;
|
||||
import com.facebook.react.bridge.ReactApplicationContext;
|
||||
import com.facebook.react.bridge.ReactContext;
|
||||
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
||||
import com.facebook.react.bridge.ReactMethod;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class RealmReactAndroid extends ReactContextBaseJavaModule {
|
||||
|
||||
public RealmReactAndroid(ReactApplicationContext reactContext) {
|
||||
super(reactContext);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "RealmReactAndroid";
|
||||
}
|
||||
|
||||
public static native String getDefaultRealmFileDirectory();
|
||||
}
|
|
@ -9,7 +9,7 @@
|
|||
* Method: getDefaultRealmFileDirectory
|
||||
* Signature: ()Ljava/lang/String;
|
||||
*/
|
||||
JNIEXPORT jstring JNICALL Java_com_reacttests_API_getDefaultRealmFileDirectory
|
||||
JNIEXPORT jstring JNICALL Java_com_reacttests_RealmReactAndroid_getDefaultRealmFileDirectory
|
||||
(JNIEnv *env, jclass)
|
||||
{
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ extern "C" {
|
|||
* Method: getDefaultRealmFileDirectory
|
||||
* Signature: ()Ljava/lang/String;
|
||||
*/
|
||||
JNIEXPORT jstring JNICALL Java_com_reacttests_API_getDefaultRealmFileDirectory
|
||||
JNIEXPORT jstring JNICALL Java_com_reacttests_RealmReactAndroid_getDefaultRealmFileDirectory
|
||||
(JNIEnv *, jclass);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
@ -4,7 +4,6 @@ import android.app.Activity;
|
|||
import android.os.Bundle;
|
||||
import android.view.KeyEvent;
|
||||
|
||||
import com.demo.module.JniToastModule;
|
||||
import com.facebook.react.LifecycleState;
|
||||
import com.facebook.react.ReactInstanceManager;
|
||||
import com.facebook.react.ReactPackage;
|
||||
|
@ -20,6 +19,8 @@ import java.util.ArrayList;
|
|||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import com.reacttests.RealmReactAndroid;
|
||||
|
||||
public class MainActivity extends Activity implements DefaultHardwareBackBtnHandler {
|
||||
|
||||
|
||||
|
@ -93,7 +94,7 @@ public class MainActivity extends Activity implements DefaultHardwareBackBtnHand
|
|||
ReactApplicationContext reactContext) {
|
||||
List<NativeModule> modules = new ArrayList<>();
|
||||
|
||||
modules.add(new JniToastModule(reactContext));
|
||||
modules.add(new RealmReactAndroid(reactContext));
|
||||
|
||||
return modules;
|
||||
}
|
||||
|
|
|
@ -1,50 +0,0 @@
|
|||
package com.demo.module;
|
||||
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.facebook.react.bridge.ReactApplicationContext;
|
||||
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
||||
import com.facebook.react.bridge.ReactMethod;
|
||||
import com.reacttests.API;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Created by Nabil on 30/11/15.
|
||||
*/
|
||||
public class JniToastModule extends ReactContextBaseJavaModule {
|
||||
private static final String DURATION_SHORT_KEY = "SHORT";
|
||||
private static final String DURATION_LONG_KEY = "LONG";
|
||||
|
||||
public JniToastModule(ReactApplicationContext reactContext) {
|
||||
super(reactContext);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "JniToastAndroid";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getConstants() {
|
||||
final Map<String, Object> constants = new HashMap<>();
|
||||
constants.put(DURATION_SHORT_KEY, Toast.LENGTH_SHORT);
|
||||
constants.put(DURATION_LONG_KEY, Toast.LENGTH_LONG);
|
||||
return constants;
|
||||
}
|
||||
|
||||
@ReactMethod
|
||||
public void show(String message, int duration) {
|
||||
StringBuilder sb = new StringBuilder("String from Java: ")
|
||||
.append(message)
|
||||
.append("\n")
|
||||
.append("String from JNI: ")
|
||||
.append(API.getDefaultRealmFileDirectory());
|
||||
Toast.makeText(getReactApplicationContext(), sb.toString(), duration).show();
|
||||
}
|
||||
|
||||
static {
|
||||
System.loadLibrary("realmreact");
|
||||
}
|
||||
}
|
|
@ -13,11 +13,11 @@ var {
|
|||
TouchableNativeFeedback,
|
||||
} = React;
|
||||
|
||||
var JniToastAndroid = require('NativeModules').JniToastAndroid;
|
||||
var RealmReactAndroid = require('NativeModules').RealmReactAndroid;
|
||||
|
||||
var Demo = React.createClass({
|
||||
buttonClicked: function() {
|
||||
JniToastAndroid.show("Hello Zepp", JniToastAndroid.LONG);
|
||||
RealmReactAndroid.show("Hello Zepp");
|
||||
},
|
||||
render: function() {
|
||||
return (
|
||||
|
|
Loading…
Reference in New Issue