package com.reactnative;
import android.app.Activity;
import com.adlefee.adview.AdLefeeBannerView;
import com.adlefee.util.AdLefeeLayoutPosition;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
/**
* Created by Administrator on 2017/1/16.
*/
public class TestAD extends ReactContextBaseJavaModule {
Activity b;
public TestAD(ReactApplicationContext reactContext) {
super(reactContext);
}
@Override
public String getName() {
return "testad";
}
@ReactMethod
public void showBanner(String message, int duration) {
if (b == null) {
ReactApplicationContext a = getReactApplicationContext();
b = a.getCurrentActivity();
}
b.runOnUiThread(new Runnable() {
@Override
public void run() {
AdLefeeBannerView adlefeeLayoutCode = new AdLefeeBannerView(b, "28FA6AE77", AdLefeeLayoutPosition.CENTER_BOTTOM);
}
});
}
}
package com.reactnative;
import com.adlefee.adview.AdLefeeBannerView;
import com.adlefee.util.AdLefeeLog;
import com.facebook.react.uimanager.SimpleViewManager;
import com.facebook.react.uimanager.ThemedReactContext;
/**
* Created by Administrator on 2017/1/23.
*/
public class TestViewManager extends SimpleViewManager<AdLefeeBannerView> {
@Override
public String getName() {//组件名称
return "AdLefeeBannerView";
}
@Override
protected AdLefeeBannerView createViewInstance(ThemedReactContext reactContext) {
AdLefeeLog.debug_Develop = true;
final AdLefeeBannerView adlefeeLayoutCode = new AdLefeeBannerView(reactContext.getCurrentActivity(), "28FA6AE77");
return adlefeeLayoutCode;
}
}
package com.reactnative;
import com.facebook.react.ReactPackage;
import com.facebook.react.bridge.JavaScriptModule;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.uimanager.ViewManager;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
/**
* Created by Administrator on 2017/1/16.
*/
public class AppReactPackage implements ReactPackage {
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
List<NativeModule> modules=new ArrayList<>();
modules.add(new TestAD(reactContext));
return modules;
}
@Override
public List<Class<? extends JavaScriptModule>> createJSModules() {
return Collections.emptyList();
}
@Override
public List<ViewManager> createViewManagers(
ReactApplicationContext reactContext) {
return Arrays.<ViewManager>asList(
new TestViewManager()
);
}
}
package com.reactnative;
import android.app.Application;
import com.facebook.react.ReactApplication;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.shell.MainReactPackage;
import com.facebook.soloader.SoLoader;
import java.util.Arrays;
import java.util.List;
public class MainApplication extends Application implements ReactApplication {
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
@Override
protected boolean getUseDeveloperSupport() {
return BuildConfig.DEBUG;
}
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),new AppReactPackage());
}
};
@Override
public ReactNativeHost getReactNativeHost() {
return mReactNativeHost;
}
@Override
public void onCreate() {
super.onCreate();
SoLoader.init(this, /* native exopackage */ false);
}
}