React-native 橋接Android原生開發
在開發RN的漫漫長河中,早晚有那麼一天要接觸到安卓的原生開發,筆者來介紹一下其中的酸甜苦辣.對於一個不懂android的小白來說,剛開始有點難,不過都是萬事開頭難.語言是想通的,原理也是大徑若一.
開發過程中是要整合高德的導航功能,沒有找到好的輪子的,只要寫原生程式碼,然後在用JS去呼叫原生的導航模組.
首先註冊模組
其意義在與將類註冊到RN中,才能用JS去呼叫
public class AnExampleReactPackage implements ReactPackage {
@Override
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
return Collections.emptyList();
}
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
List<NativeModule> modules = new ArrayList<>();
modules.add(new NaviActivity(reactContext));
return modules;
}
}
其中modules.add(new NaviActivity(reactContext));意義就是新增一個安卓原生的activity模組
這個模組可以定義方案,RN可以直接呼叫(方法上必須宣告瞭@ReactMethod才可以)
@ReactMethod
public void showFengMap(String mapID){
Activity currentActivity = getCurrentActivity();
Intent intent = new Intent(currentActivity, 頁面名.class);
currentActivity.startActivity(intent);
}
筆者其中的到嗎是跳轉到其他頁面,這裡也可以做一些其他的操作.例如直接去分享
宣告
在安卓程式的app內的MainApplication內,
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new AnExampleReactPackage()
);
}
加入剛剛註冊過的包名
JS呼叫原生程式碼
import { NativeModules } from 'react-native';
export default NativeModules.NaviActivity;
筆者這裡寫了一個untils/CommonAndroidUntils.js,在需要用的頁面直接引入這個js檔案
CommonAndroidUntils.show();
實現跳轉.
整合高德導航
對於一個小白直接去在android studio內整合高德地圖剛開始還是有點難度的.不過理解之後感覺還好.簡單些一下遇到的問題,提醒自己,幫助他人
直接拖入的.jar語音包不能引入
解決辦法是右鍵.jar包,有將.jar引入的選項點選,等待同步即可.
其餘的都是些小問題,根據demo以及文件輕鬆解決的不值一提了.
相關文章
- React Native 橋接原生 iOS 以及 Android 獲取 APP 版本號React Native橋接iOSAndroidAPP
- 橋接橋接
- Android設計模式之橋接模式Android設計模式橋接
- react-native 開發小結(Android)ReactAndroid
- 橋接模式橋接模式
- 更強大的 MQTT over QUIC 橋接 & Azure 橋接MQQTUI橋接
- __bridge - 橋接橋接
- JS 橋接模式JS橋接模式
- vmware橋接不通橋接
- vue 與原生app的對接互動(混合開發)VueAPP
- Android開發學習之路--React-Native混合開發初體驗AndroidReact
- 2.2 橋接 Bridge橋接
- JavaBridgePattern(橋接模式)Java橋接模式
- Swift-橋接模式Swift橋接模式
- 橋接模式(Bridge)橋接模式
- apache +tomcat 橋接ApacheTomcat橋接
- 08_橋接模式橋接模式
- 關於react-native搭建開發環境 (android)React開發環境Android
- 原生Android也能做Web開發了AndroidWeb
- centos 7 橋接網路CentOS橋接
- 設計模式之橋接設計模式橋接
- 設計模式-橋接模式設計模式橋接
- 設計模式(七)橋接設計模式橋接
- 設計模式:橋接模式設計模式橋接
- android原生開發recyclerview基礎例項AndroidView
- 從零開始學設計模式(七)—橋接模式設計模式橋接
- Java設計模式-橋接模式Java設計模式橋接
- 橋接模式(c++實現)橋接模式C++
- [譯] Java 橋接方法詳解Java橋接
- 結構型模式:橋接模式模式橋接
- 小白設計模式:橋接模式設計模式橋接
- 設計模式之橋接模式設計模式橋接
- 設計模式(八)——橋接模式設計模式橋接
- 設計模式之【橋接模式】設計模式橋接
- c#橋接模式詳解C#橋接模式
- javascript設計模式橋接模式JavaScript設計模式橋接
- 結構型模式----橋接模式模式橋接
- 直接橋接資料型別橋接資料型別