国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

React-native橋接Android原生開發詳解

2019-11-19 14:30:58
字體:
來源:轉載
供稿:網友

在開發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以及文檔輕松解決的不值一提了.

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 镇雄县| 彭山县| 开远市| 张家口市| 光泽县| 阿克陶县| 永善县| 鄂州市| 宁强县| 渝中区| 新和县| 合山市| 榆树市| 开封县| 巍山| 剑川县| 房山区| 东乌| 金川县| 阳江市| 青州市| 新疆| 比如县| 香河县| 红桥区| 永春县| 剑河县| 鄯善县| 屏山县| 开远市| 泰和县| 随州市| 南平市| 嵩明县| 望江县| 涿州市| 阜新市| 鄢陵县| 高阳县| 巴青县| 容城县|