android - 如何在 NativeScript 中访问 Google Play 服务

标签 android google-play-services 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();

但它们都不起作用。它们如何包含在 NativeScript 的上下文中?或者不是吗? 有没有人知道如何实现这一目标?

最佳答案

在为 Angular 开发 NativeScript 时,如果 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 应用程序一样访问 native API。这意味着“翻译”您在示例中找到的代码几乎毫不费力。您可以在官方文档站点中找到足够的信息来帮助您入门。

https://docs.nativescript.org/runtimes/android/marshalling/java-to-js https://docs.nativescript.org/runtimes/android/metadata/accessing-packages.html

说了这么多 - 回到您的代码示例 - 您尝试实例化的类是抽象的,这意味着您只能创建该类 ( https://developers.google.com/android/reference/com/google/android/gms/common/api/GoogleApiClient ) 的非抽象非静态后代的实例。

但是,如果您要在 NativeScript 中编写它,为了举例,让我们假设我们可以创建实例,我们会这样写 -> var apiClient = new com.google.android.gms.common.api.GoogleApiClient();

祝你好运!

关于android - 如何在 NativeScript 中访问 Google Play 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40631695/

相关文章:

android - 使用 Billing API 取消 Google Play 订阅?

android - 在 NativeScript for Android 中使用边框

java - 在 Activity 之间传递字符串

java - java中的代码 TextFieldName.setText ("") 是否有任何替代方法来清除文本字段中的文本?

android - DisplayMetrics 返回零

android - 运行android项目出错

python - 如何使用 Python 脚本访问 Google Playstore API 以获取对我们应用程序的评论?

Android - 应用程序在 Pre-Lollipop 设备上崩溃

android - 使用 tns run 在同一 android 设备上运行多个 NativeScript 应用程序时出现问题

android - 更改本地脚本端到端测试的端口