---
title: コード例：C# スクリプトからの Java/Kotlin コードのコール
product: Unity Editor
version: '6000.0'
latest_version: '7000.0'
status: This page documents version 6000.0. The latest version is 7000.0.
canonical: https://docs.unity.com/ja-jp/engine/6000.0/manual/platform-specific/android/developing/plugins-for/plugins-java-code-from-c-sharp/high-level-api-code-examples
latest_url: https://docs.unity.com/ja-jp/engine/7000.0/manual/platform-specific/android/developing/plugins-for/plugins-java-code-from-c-sharp/high-level-api-code-examples.md
last_updated: 2026-10-30
generated_at: 2026-11-11T23:21:36.516Z
locale: ja-jp
---

# コード例：C# スクリプトからの Java/Kotlin コードのコール

> Unity プロジェクトに Java/Kotlin 機能を統合するコード例を参照してください。

Unity は、`AndroidJavaObject`、`AndroidJavaClass`、`AndroidJavaProxy`、`AndroidApplication` などの高レベル API を提供し、C# スクリプトから Java/Kotlin コードと対話することができます。

以下のコード例は、これらの API の使用方法を示しています。

## 例 1: Java 文字列のハッシュコードの取得##example-1:-get-the-hash-code-for-a-java-string

以下のコード例では、[文字列](http://developer.android.com/reference/java/lang/String.html#String\(java.lang.StringBuilder\))で初期化された [java.lang.String](http://developer.android.com/reference/java/lang/String.html) のインスタンスを作成し、その文字列の[ハッシュ値](http://developer.android.com/reference/java/lang/String.html#hashCode\(\))を取得します。

```lang-cs
using UnityEngine;
public class JavaExamples
{
    public static int GetJavaStringHashCode(string text)
    {
        using (AndroidJavaObject jo = new AndroidJavaObject("java.lang.String", text))
        {
            int hash = jo.Call<int>("hashCode");
            return hash;
        }
    }
}
```

以下の例は、

1. [java.lang.文字列](http://developer.android.com/reference/java/lang/String.html)を表す`AndroidJavaObject`を作成します。
2. `AndroidJavaObject`コンストラクターは、インスタンスを構築するクラスの名前である、少なくとも 1 つのパラメーターを取ります。クラス名の後のパラメーターは、オブジェクトのコンストラクターコール用です。この場合は、`GetJavaStringHashCode` からの`text`パラメーターです。
3. 文字列のハッシュ コードを取得するために [hashCode()](https://developer.android.com/reference/java/lang/String.html#hashCode\(\)) を呼び出します。このコールは、`Call` に `int` ジェネリック型パラメーターを使用します。これは、`hashCode()` がハッシュ コードを整数として返すためです。

> **Note:**
>
> ネスト状の Java クラスをインスタンス化するためにドット付き表記を使用することはできません。内部クラスのインスタンス化には、`$` セパレーターを使用する必要があります。例えば、`LayoutParams` クラスが `ViewGroup` クラスにネストされている「`android.view.ViewGroup$LayoutParams` または `android/view/ViewGroup$LayoutParams` を使用」などです。

## 例 2: アプリケーションのキャッシュディレクトリの取得##example-2:-retrieve-the-application's-cache-directory

以下のコード例では、C# で `AndroidApplication` クラスを使用して現在のアプリケーションのキャッシュディレクトリを取得します。

```lang-cs
using UnityEngine;
using UnityEngine.Android;

public class JavaExamples
{
    public static string GetApplicationCacheDirectory()
    {
        using var javaFile = AndroidApplication.currentActivity.Call<AndroidJavaObject>("getCacheDir");
        var cacheDirectory = javaFile.Call<string>("getCanonicalPath");
        return cacheDirectory;
    }
}
```

以下の例は、

1. 明示的に `AndroidJavaClass` または `AndroidJavaObject` インスタンスを作成せずに、`AndroidApplication.currentActivity` を使用して現在の Android アクティビティにアクセスします。
2. Activity オブジェクトで [getCacheDir（）](http://developer.android.com/reference/android/content/Context.html#getCacheDir\(\)) を呼び出します。これは、キャッシュディレクトリを表す [File](https://developer.android.com/reference/java/io/File.html) オブジェクトを返します。
3. File オブジェクトの [getCanonicalPath()](http://developer.android.com/reference/java/io/File.html#getCanonicalPath\(\)) を呼び出すと、キャッシュディレクトリを文字列として取得できます。

> **Note:**
>
> この例はリファレンス目的です。代わりに、アプリケーションのキャッシュとファイルディレクトリにアクセスするには、[application.temporaryCachePath](/engine/6000.0/script-reference/unityengine/application/temporarycachepath.md) と [application.persistentDataPath](/engine/6000.0/script-reference/unityengine/application/persistentdatapath.md) API を使用します。

## 追加リソース##additional-resources

* [Java および Kotlin プラグインコードからの C# コードの呼び出し](/engine/6000.0/manual/platform-specific/android/developing/plugins-for/plugins-csharp-code-from-java-kotlin.md)
* [Java/Kotlin および C# コードでサポートされるデータ型](/engine/6000.0/manual/platform-specific/android/developing/plugins-for/plugins-java-code-from-c-sharp/datatypes-java-kotlin-csharp.md)
* [Java/Kotlin コードを呼び出すためのベストプラクティス](/engine/6000.0/manual/platform-specific/android/developing/plugins-for/plugins-java-code-from-c-sharp/call-java-kotlin-code-best-practices.md)
* [例: Kotlin ソースプラグイン](/engine/6000.0/manual/platform-specific/android/developing/plugins-for/plugin-types/java-source-plugins.md#CreateUseKotlinSourcePlugin)の作成と使用
