Android
Typedef-Anmerkungen: @IntDef, @StringDef
Suche…
Bemerkungen
Das Annotations-Paket enthält eine Reihe nützlicher Metadaten-Annotationen, mit denen Sie Ihren eigenen Code dekorieren können, um Fehler zu finden.
build.gradle
Sie die Abhängigkeit build.gradle
in die Datei build.gradle
.
dependencies {
compile 'com.android.support:support-annotations:25.3.1'
}
IntDef-Anmerkungen
Diese Annotation stellt sicher, dass nur die gültigen Integer-Konstanten verwendet werden, die Sie erwarten.
Das folgende Beispiel veranschaulicht die Schritte zum Erstellen einer Anmerkung:
import android.support.annotation.IntDef;
public abstract class Car {
//Define the list of accepted constants
@IntDef({MICROCAR, CONVERTIBLE, SUPERCAR, MINIVAN, SUV})
//Tell the compiler not to store annotation data in the .class file
@Retention(RetentionPolicy.SOURCE)
//Declare the CarType annotation
public @interface CarType {}
//Declare the constants
public static final int MICROCAR = 0;
public static final int CONVERTIBLE = 1;
public static final int SUPERCAR = 2;
public static final int MINIVAN = 3;
public static final int SUV = 4;
@CarType
private int mType;
@CarType
public int getCarType(){
return mType;
};
public void setCarType(@CarType int type){
mType = type;
}
}
Sie ermöglichen auch die Codeabwicklung, um die zulässigen Konstanten automatisch anzubieten.
Wenn Sie diesen Code erstellen, wird eine Warnung generiert, wenn der Typparameter nicht auf eine der definierten Konstanten verweist.
Konstanten mit Flags kombinieren
Wenn das IntDef#flag()
auf true
, können mehrere Konstanten kombiniert werden.
Verwenden Sie dasselbe Beispiel in diesem Thema:
public abstract class Car {
//Define the list of accepted constants
@IntDef(flag=true, value={MICROCAR, CONVERTIBLE, SUPERCAR, MINIVAN, SUV})
//Tell the compiler not to store annotation data in the .class file
@Retention(RetentionPolicy.SOURCE)
.....
}
Benutzer können die zulässigen Konstanten mit einem Flag kombinieren (z. B. |
, &
, ^
).