Unity の Java インターフェース
C# スクリプトから Java/Kotlin コードをコールために使用できる Unity の Java ネイティブ インターフェース API について説明します。
読み終わるまでの所要時間 4 分最終更新 16時間前
Unity には、C# スクリプトから Java コードと対話する低レベルおよび高レベルの Java ネイティブインターフェース (JNI) API があります。
低レベル API
低レベルの AndroidJNI クラスは JNI 呼び出しをラップし、JNI メソッドに直接マップする静的メソッドを提供します。AndroidJNIHelper API は、主に高レベル API で使用されるヘルパー機能を提供しますが、特定の状況で役立つ場合があります。
高レベル API
高レベルの AndroidJavaObject、AndroidJavaClass、および AndroidJavaProxy クラスは、JNI 呼び出しに必要な多くのタスクを自動化します。また、キャッシュを使用して Java の呼び出しを高速化します。 と の組み合わせは、 と の上に構築されていますが、Java クラスの静的メンバーにアクセスするために使用できる静的メソッドなどの追加機能も含まれています。
AndroidJavaObjectAndroidJavaClassAndroidJNIAndroidJNIHelperさらに、Unity はアプリケーションの 、、および のインスタンスへのアクセスを簡単にする AndroidApplication クラスを提供します。このクラスでは、アプリケーションの要件に基づいて、UI またはメインスレッドでのコード実行をデリゲートすることもできます。
currentActivitycurrentContextcurrentConfigurationAndroidJavaObjectAndroidJavaClass各インタラクションには静的バージョンもあります。
- 静的メソッドをコールする CallStatic。
- 静的フィールドの値を取得する GetStatic。
- 静的フィールドの値を設定する SetStatic。
フィールドの値を取得するか、値を返すメソッドを呼び出す場合は、ジェネリックを使用して戻り値の型を指定します。フィールドの値を設定する場合は、ジェネリックを使用して設定するフィールドのタイプも指定します。値を返さないメソッドには、通常の非ジェネリックバージョンのコールがあります。
追加リソース
- コード例:C# スクリプトからの Java/Kotlin コードのコール
- Java/Kotlin コードを呼び出すためのベストプラクティス