如何在 NativeScript 中访问 Google Play 服务
How to access Google Play Services in NativeScript
我目前正在开始使用 NativeScript。
我正在尝试将某些 Google Play 服务包含到 android 项目中。
我将相关的 .aar 文件放入我的应用程序项目的 node_modules/ 文件夹中并构建它。我可以看到它们已成功添加到项目中。
:config phase: copyAarDependencies
:config phase: addAarDependencies
+adding dependency: C:\Users\pstueven\NativeScript\sample-Groceries\platforms\android\libs\aar\play-services-9.0.0.aar
+adding dependency: C:\Users\pstueven\NativeScript\sample-Groceries\platforms\android\libs\aar\play-services-base-9.0.0.aar
+adding dependency: C:\Users\pstueven\NativeScript\sample-Groceries\platforms\android\libs\aar\play-services-basement-9.0.0.aar
但我似乎找不到教程告诉我如何从 NativeScript 访问他们的 类 和模块。
我试过类似的东西:
var test = new main.java.com.google.android.gms.common.api.GoogleApiClient();
var test = new com.google.android.gms.common.api.GoogleApiClient();
var test = new android.gms.common.api.GoogleApiClient();
但其中 none 有效。它们如何包含在 NativeScript 的上下文中?或者不是吗?
有人知道如何实现吗?
在为 Angular 开发时在 NativeScript 中,如果 library/plugin 在 Jcenter
/Maven
存储库中可用(Android 插件的存储库,很像 npmjs对于所有东西 JavaScript),或者在你的本地 Android SDK 安装中,那么你可以在你的 App_Resources/Android/app.gradle
文件中引用该依赖关系。
示例:
dependencies {
compile 'com.google.android.gms:play-services:9.0.0'
}
android {
defaultConfig {
generatedDensities = []
applicationId = "org.nativescript.myApp"
}
aaptOptions {
additionalParameters "--no-version-vectors"
}
}
构建时这些依赖项将被下载并正确添加到项目中,以便您可以在您的应用程序中使用它们。
下一步,您可能需要阅读要使用的库的用法。这很可能是 API 文档站点或 Android/Java 代码示例。在 NativeScript 中,您可以像编写本机应用程序一样访问 Native API。这意味着 "translating" 您在示例中找到的代码应该几乎毫不费力。您可以在官方文档站点中找到足够的信息来帮助您入门。
https://docs.nativescript.org/runtimes/android/marshalling/java-to-js
https://docs.nativescript.org/runtimes/android/metadata/accessing-packages.html
说了这么多 - 回到您的代码示例 - 您尝试实例化的 class 是抽象的,这意味着您只能创建该 [= 的非抽象非静态后代的实例42=] (https://developers.google.com/android/reference/com/google/android/gms/common/api/GoogleApiClient).
但是,如果您要在 NativeScript 中编写它,为了示例起见,我们假设我们可以创建实例,我们会这样写 ->
var apiClient = new com.google.android.gms.common.api.GoogleApiClient();
祝你好运!
我目前正在开始使用 NativeScript。 我正在尝试将某些 Google Play 服务包含到 android 项目中。 我将相关的 .aar 文件放入我的应用程序项目的 node_modules/ 文件夹中并构建它。我可以看到它们已成功添加到项目中。
:config phase: copyAarDependencies
:config phase: addAarDependencies +adding dependency: C:\Users\pstueven\NativeScript\sample-Groceries\platforms\android\libs\aar\play-services-9.0.0.aar +adding dependency: C:\Users\pstueven\NativeScript\sample-Groceries\platforms\android\libs\aar\play-services-base-9.0.0.aar +adding dependency: C:\Users\pstueven\NativeScript\sample-Groceries\platforms\android\libs\aar\play-services-basement-9.0.0.aar
但我似乎找不到教程告诉我如何从 NativeScript 访问他们的 类 和模块。 我试过类似的东西:
var test = new main.java.com.google.android.gms.common.api.GoogleApiClient();
var test = new com.google.android.gms.common.api.GoogleApiClient();
var test = new android.gms.common.api.GoogleApiClient();
但其中 none 有效。它们如何包含在 NativeScript 的上下文中?或者不是吗? 有人知道如何实现吗?
在为 Angular 开发时在 NativeScript 中,如果 library/plugin 在 Jcenter
/Maven
存储库中可用(Android 插件的存储库,很像 npmjs对于所有东西 JavaScript),或者在你的本地 Android SDK 安装中,那么你可以在你的 App_Resources/Android/app.gradle
文件中引用该依赖关系。
示例:
dependencies {
compile 'com.google.android.gms:play-services:9.0.0'
}
android {
defaultConfig {
generatedDensities = []
applicationId = "org.nativescript.myApp"
}
aaptOptions {
additionalParameters "--no-version-vectors"
}
}
构建时这些依赖项将被下载并正确添加到项目中,以便您可以在您的应用程序中使用它们。
下一步,您可能需要阅读要使用的库的用法。这很可能是 API 文档站点或 Android/Java 代码示例。在 NativeScript 中,您可以像编写本机应用程序一样访问 Native API。这意味着 "translating" 您在示例中找到的代码应该几乎毫不费力。您可以在官方文档站点中找到足够的信息来帮助您入门。
https://docs.nativescript.org/runtimes/android/marshalling/java-to-js https://docs.nativescript.org/runtimes/android/metadata/accessing-packages.html
说了这么多 - 回到您的代码示例 - 您尝试实例化的 class 是抽象的,这意味着您只能创建该 [= 的非抽象非静态后代的实例42=] (https://developers.google.com/android/reference/com/google/android/gms/common/api/GoogleApiClient).
但是,如果您要在 NativeScript 中编写它,为了示例起见,我们假设我们可以创建实例,我们会这样写 ->
var apiClient = new com.google.android.gms.common.api.GoogleApiClient();
祝你好运!