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); }}
新闻热点
疑难解答