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;
}
}
}