खोज…


टिप्पणियों

एनोटेशन पैकेज में कई उपयोगी मेटाडेटा एनोटेशन शामिल हैं जिन्हें आप बग्स को पकड़ने में मदद करने के लिए अपने कोड को अपने साथ सजा सकते हैं।

बस build.gradle फ़ाइल में निर्भरता जोड़ें।

dependencies {
    compile 'com.android.support:support-annotations:25.3.1'
}

IntDef एनोटेशन

यह एनोटेशन सुनिश्चित करता है कि आपके द्वारा उपयोग किए जाने वाले केवल मान्य पूर्णांक स्थिरांक।
निम्न उदाहरण एक एनोटेशन बनाने के लिए चरणों को दिखाता है:

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

वे स्वचालित रूप से अनुमत स्थिरांक की पेशकश करने के लिए कोड पूरा करने में सक्षम हैं।
जब आप इस कोड का निर्माण करते हैं, तो एक चेतावनी उत्पन्न होती है यदि प्रकार पैरामीटर परिभाषित स्थिरांक में से एक का संदर्भ नहीं देता है।

झंडों के साथ कंबाइनों का संयोजन

IntDef#flag() विशेषता को true सेट करके, कई स्थिरांक को संयोजित किया जा सकता है।

इस विषय में उसी उदाहरण का उपयोग करना:

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)

    .....

}

उपयोगकर्ता अनुमत स्थिरांक को ध्वज के साथ जोड़ सकते हैं (जैसे कि | , & , ^ )।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow