【问题标题】:How to translate a native android sdk's usage instructions to Nativescript如何将原生 android sdk 的使用说明翻译成 Nativescript
【发布时间】:2018-11-19 12:06:49
【问题描述】:

我们很难迈出在 NativeScript 中使用本机库的第一步。

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

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

本机指令适用于 Android Studio:

依赖项(Gradle):

它还对 Java 8 特性有一个奇怪的依赖:

最后是基本用法,这似乎需要大量特定于平台的原生事件:

目前我们只对 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)我们还需要考虑其他步骤吗?特别考虑到我们打算最终把它变成一个完整的插件。还是这比我做的更直接/简单?

【问题讨论】:

    标签: android nativescript nativescript-vue


    【解决方案1】:

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

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

    有用的文档:

    【讨论】:

    • 我知道这是创建自定义 UI 插件的说明,但是如何在不创建插件的情况下使用它呢?你能举个例子吗?
    • 如果您不打算创建插件,请使用Placeholder
    • 你知道如何在 Vue 中使用 Placeholder 吗?
    • 应该是一样的,只是语法是你在 Vue 中调用事件的方式。 Here 是工作样本。
    猜你喜欢
    • 2020-03-02
    • 2019-08-22
    • 2016-11-28
    • 1970-01-01
    • 2019-03-20
    • 2017-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多