Bir arayüzün Java uyumlu olmadığı durumlarda (çünkü birleşimler kullanır)
örneğin, sabitlerin (enum değerleri)
inceleyeceğiz. Bu senaryo, arayüzden ek açıklamalı enum bildirimlerini çıkaran hidl-gen -Ljava-constants
…
tarafından desteklenir.
bir pakete koyar ve isimli bir Java kitaplığı oluşturur
[PACKAGE-NAME]-V[PACKAGE-VERSION]-java-constants
. Her birine not ekleyin
aşağıdaki şekilde dışa aktarılacak enum beyanı:
@export
enum Foo : int32_t {
SOME_VALUE,
SOME_OTHER_VALUE,
};
Gerekirse bu türün Java dünyasına aktarılacağı ad
ek açıklama parametresi name
:
@export(name="JavaFoo")
enum Foo : int32_t {
SOME_VALUE,
SOME_OTHER_VALUE,
};
Java kuralları veya kişisel tercihler için ortak bir ön ek isteniyorsa
enum türünün değerlerine eklendiğinde, ek açıklama-parametresini kullanın.
value_prefix
:
// File "types.hal".
package android.hardware.bar@1.0;
@export(name="JavaFoo", value_prefix="JAVA_")
enum Foo : int32_t {
SOME_VALUE,
SOME_OTHER_VALUE,
};
Elde edilen Java sınıfı aşağıdaki gibi görünür:
package android.hardware.bar.V1_0;
public class Constants {
public final class JavaFoo {
public static final int JAVA_SOME_VALUE = 0;
public static final int JAVA_SOME_OTHER_VALUE = 1;
};
};
Son olarak,
types.hal
, şuradaki bir Constants
sınıfı içinde gruplanır:
belirtir. Bir arayüzün alt öğeleri olarak tanımlanan sıralama türleri gruplandırılır
kodunu girin.