日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > web前端 > htmlcss > Android原生嵌入React Native

Android原生嵌入React Native

來源:程序員人生   發布時間:2016-11-20 17:28:21 閱讀次數:4933次

1.首先集成的項目目錄

我使用的是直接依照react-native init Project 的格式來導入的,也就是說,我的Android項目目錄是跟node_modules是在1個目錄下的。

我們init完項目以后,項目初始化完成了,這時候候我們可以用命令react-native run-android直接運行項目,至于怎樣調試,之前已說過。

說1下我們怎樣開發和運行分開吧,我們開發1般會選擇webstrom,開發后我們會Android和ios的編譯分開。



啟動npm

下面說1下android 嵌入RN環境吧。

編寫Android原生代碼,用來調用RN

package com.reactdemo; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.KeyEvent; import com.facebook.react.LifecycleState; import com.facebook.react.ReactInstanceManager; import com.facebook.react.ReactRootView; import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler; import com.facebook.react.shell.MainReactPackage; public class MainActivity extends AppCompatActivity implements DefaultHardwareBackBtnHandler { private ReactInstanceManager mReactInstanceManager; private ReactRootView mReactRootView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mReactRootView = new ReactRootView(this); mReactInstanceManager = ReactInstanceManager.builder() .setApplication(getApplication()) .setBundleAssetName("index.android.bundle") .setJSMainModuleName("index.android") .addPackage(new MainReactPackage()) .setUseDeveloperSupport(BuildConfig.DEBUG) .setInitialLifecycleState(LifecycleState.RESUMED) .build(); mReactRootView.startReactApplication(mReactInstanceManager, "ReactDemo", null); setContentView(mReactRootView); } @Override public boolean onKeyUp(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_MENU && mReactInstanceManager != null) { mReactInstanceManager.showDevOptionsDialog(); return true; } return super.onKeyUp(keyCode, event); } @Override public void onBackPressed() { if (mReactInstanceManager != null) { mReactInstanceManager.onBackPressed(); } else { super.onBackPressed(); } } @Override public void invokeDefaultOnBackPressed() { super.onBackPressed(); } @Override protected void onPause() { super.onPause(); if (mReactInstanceManager != null) { mReactInstanceManager.onHostPause(); } } @Override protected void onResume() { super.onResume(); if (mReactInstanceManager != null) { mReactInstanceManager.onHostResume(this, this); } } }
注意要加上網絡等1些權限。

創建package.json,添加react native包

使用命令npm init,隨著步驟走就行了,給大家截個圖:


最后你就能夠在你的RN項目里面看到1個package.json。


運行Demo

注:可能會出現java.lang.RuntimeException: Could not get BatchedBridge, make sure your bundle is packaged correctly這個毛病,

react-native bundle —platform android —dev false —entry-file index.android.js —bundle-output ReactDemo/app/src/main/assets/index.android.bundle —sourcemap-outpu ReactDemo/app/src/main/assets/index.android.map —assets-dest ReactDemo/app/src/main/res/


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 色在线综合 | www.成人在线视频 | 欧美午夜精品久久久久久人妖 | 高清久久久 | 国产精品久久久久久久7电影 | 日韩电影一区二区三区 | 亚洲欧洲成人 | 日韩专区中文字幕 | 国产传媒一区二区三区 | 在线免费av网址 | 国产成人精品不卡 | 国产一区精品在线 | 91短视频黄 | 一区二区视频在线 | 91美女福利视频 | 在线亚洲一区二区 | 国产一区二区精品 | rbd奴隷色のステージ2 | 欧美一级毛片免费网站 | 五月婷婷网站 | 国产成人av一区二区三区在线观看 | 久久久午夜精品 | 污视频链接| 久久久久一区二区 | 日韩视频中文字幕 | 麻豆传媒一区二区 | 成人欧美一区二区三区视频网页 | 亚洲欧美第一页 | 国产精品视频久久久 | 欧美黄色网页 | 免费三级黄色 | 亚洲精品免费网站 | 狠狠躁日日躁夜夜躁影院 | 亚洲色图欧美激情 | 热99精品| 国产一级色片 | 丁香婷婷综合激情五月色 | 在线国产精品视频 | 在线观看国产黄色 | 国产精品性做久久久久久 | sese在线观看 |