我们来分析一下ReactActivity这个类
import android.app.Activity; 1
import android.content.Intent; 2
import android.os.Bundle; 2
import android.view.KeyEvent; 3
import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler;
import com.facebook.react.modules.core.PermissionAwareActivity; 4
import com.facebook.react.modules.core.PermissionListener; 5
1:是我们android的activity
2:是我们的intent以及bundle
3:是按键
4:是权限的确认等类
5:权限的监听
下面来分析一下我们类的头部是什么
public abstract class ReactActivity extends Activity
implements DefaultHardwareBackBtnHandler, PermissionAwareActivity
这俩个,第一个是我们的物理键,第二个是权限的
在这边我们没看到什么东西,我们继续看下面的:
private final ReactActivityDelegate mDelegate;
这个类,我们进去看一下:
public ReactActivityDelegate(Activity activity, @Nullable String mainComponentName) {
mActivity = activity;
mMainComponentName = mainComponentName;
mFragmentActivity = null;
}
public ReactActivityDelegate(
FragmentActivity fragmentActivity,
@Nullable String mainComponentName) {
mFragmentActivity = fragmentActivity;
mMainComponentName = mainComponentName;
mActivity = null;
}
看到这边,我们是不是应该醒悟了- -!!,马丹的,人家facebook特地给我们做了FragmentActivity这个类的,不单单是activity。
继续看下去
protected @Nullable Bundle getLaunchOptions() {
return null;
}
这个玩意?What?Null值,我使用过,其实这个是作为提前传值到bundle,而不是走异步!!
继续看下去:
protected ReactRootView createRootView() {
return new ReactRootView(getContext());
}
创建ReactRootView,这个是干嘛的?我们看一下ReactRootView这个是什么鬼:
先看头部: