如何将原生android sdk的用法说明转换为Nativescript

时间:2018-11-19 12:06:50

标签: android nativescript nativescript-vue

在使用NativeScript中的本机库的第一步时,我们遇到了困难。

这是一个Map库,因此我认为它与注册新的自定义UI有关,但让我感到奇怪的是xml语法。

以下屏幕截图来自此页面:https://developers.arcgis.com/android/latest/guide/develop-your-first-map-app.htm

本机说明适用于Android Studio:

enter image description here

依赖关系(等级):

enter image description here

对于Java 8功能,它也具有怪异的依赖关系:

enter image description here

最后,是基本用法,它似乎需要大量平台特定的本机事件:

enter image description here enter image description here

目前,我们仅对Android概念验证感兴趣,但最终制作并发布了多平台插件。

我知道这是很多说明,并且只问了一个问题就可以了,但这是我们的主要困惑:

1)如何将自定义元素添加到NativeScript xml?我们是否只是设置gradle导入并直接添加以下元素?另外我假设android:id是不必要的,我们可以只使用id

<com.esri.arcgisruntime.mapping.view.MapView
  android:id="@+id/mapView"
  android:layout_width="match_parent"
  android:layout_height="match_parent" >
</com.esri.arcgisruntime.mapping.view.MapView>

2)如何通过Javascript通过其ID访问上述元素?更具体地说,如何使用VUE获得它?本机示例:

import com.esri.arcgisruntime.mapping.view.MapView;
MapView = findViewById(R.id.mapView);
ArcGISMap map = new ArcGISMap(Basemap.Type.TOPOGRAPHIC, 34.056295, -117.195800, 16); 
mMapView.setMap(map);

3)我们还需要考虑其他步骤吗?特别要考虑的是,我们打算最终使其成为一个完整的插件。还是这比我做的简单/简单?

1 个答案:

答案 0 :(得分:2)

忽略SDK文档中的XML示例,该示例特定于Android的XML标记。

您必须在MapView的回调返回实例中创建一个新类(我们将其命名为View),并扩展基类tns-core-modules/ui/core/view(来自createNativeView)。 com.esri.arcgisruntime.mapping.view.MapView。就是这样,现在您可以注册MapView类并在您的Vue模板中使用它。

有用的文档: