Unity 6.3
0 онлайн 86 гостей 3 в системе
Вход

AndroidJavaClass Constructor

Declaration

public AndroidJavaClass(string className);

Параметры

Параметр Описание
className Задаёт имя класса Java (например, java.lang.String).

Описание

Создаёт AndroidJavaClass по имени класса.

По сути это означает: найти тип класса и выделить java.lang.Class объект соответствующего типа. Он позволяет обращаться к статическим свойствам и методам классов Java и Kotlin, не создавая экземпляр и не выделяя дополнительную память.

Следующий пример кода демонстрирует использование AndroidJavaClass конструктор для взаимодействия с кодом Java. Пример показывает, как обратиться к статическому свойству класса Java, чтобы получить максимально возможное значение целого числа.

using UnityEngine;

public class AccessJavaLangIntegerStatic : MonoBehaviour { void Start() { var integerClass = new AndroidJavaClass("java.lang.Integer"); int maxValue = integerClass.GetStatic<int>("MAX_VALUE"); Debug.Log("java.lang.Integer.MAX_VALUE: " + maxValue); } }

Следующие примеры кода демонстрируют, как использовать AndroidJavaClass конструктор для взаимодействия с кодом Kotlin. В следующем примере на Kotlin объявлен статический метод для вычисления хеш-кода строки.

object KotlinStringHelper {
   @JvmStatic
   fun getStringHashCode(inputString: String?): Int {
       return inputString?.hashCode() ?: 0
   }
}

Следующий пример C# показывает, как вызвать метод Kotlin в Unity.

using UnityEngine;
public class KotlinExamples
{
    public static int GetKotlinStringHashCode(string text)
    {
        //Use Kotlin object name
        using (AndroidJavaClass kotlinClass = new AndroidJavaClass("KotlinStringHelper")) 
        {
            int hash = kotlinClass.CallStatic<int>("getStringHashCode", text);
            return hash;
        }
    }
}