2016-11-16 5 views
2

現在NativeScriptを開始しています。 アンドロイドプロジェクトに特定のGoogle Playサービスを追加しようとしています。 関連する.aarファイルを私のアプリケーションプロジェクトのnode_modules /フォルダに入れてビルドしました。私は彼らが正常にプロジェクトに追加されていることがわかります。NativeScriptでGoogle Playサービスにアクセスする方法

:コンフィグ相: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のコンテキストにはどのように含まれていますか?それとも彼らじゃない? 誰かがこれを達成するためのヒントを持っていますか?

ライブラリ/プラグインが Jcenter/ Mavenリポジトリ(多くのすべてのもののためにnpmjs JavaScriptのようなAndroidのプラグインのリポジトリ)で、またはお近くのAndroid SDKのインストールで利用可能な場合角度のために開発する場合、あなたはそれを参照することができNativeScriptで

答えて

1

あなたの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 Docsサイト、またはAndroid/Javaコードサンプルになります。 NativeScriptでは、ネイティブアプリケーションを作成する場合と同じように、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();

幸運!

+0

ありがとうございます! NativeScript Coreでも動作します! –

+0

確かにそうです!開発の経験は、Angular、TypeScript、または単純なJavaScriptのどちらを使用して開発しても、それほど悪くなくてはなりません。あなたがそれが役に立つと分かったら、答えをアップしてください。 – pkanev

+1

私はしましたが、私はここであまりにも新しくなっているため、これは公開されていません。 –

関連する問題