2013-12-12 8 views
8

कैसे परिभाषित कर सकता हूं कोई भी जावा (एंड्रॉइड) में कस्टम एनोटेशन को परिभाषित करने के लिए उचित आदेश सुझा सकता है। इसलिए यदि मैं @ बैकग्राउंड एनोटेशन के साथ एक विधि को एनोटेट करता हूं, तो विधि पृष्ठभूमि थ्रेड पर काम करनी चाहिए।मैं एक कस्टम एंड्रॉइड एनोटेशन (जैसे @ बैकग्राउंड)

+0

आपको गतिविधि में इन एनोटेशन का उपयोग करने की आवश्यकता है ??? –

+0

हां। मुझे पृष्ठभूमि में एक विधि चलाने के लिए उस एनोटेशन का उपयोग करने की आवश्यकता है। ताकि मैं इस एनोटेशन का उपयोग करके पृष्ठभूमि कार्यों को आसानी से संभाल सकूं। – deniz

उत्तर

-4

आप जावा (एंड्रॉइड) में एक कस्टम एनोटेशन का उपयोग नहीं कर सकते हैं, क्योंकि एंड्रॉइड कंपाइलर इसका समर्थन नहीं करता है। लेकिन हो सकता है कि फॉलोइंग साइट आपके लिए उपयोगी हो: http://androidannotations.org/

+3

ये कस्टम एनोटेशन नहीं हैं :) –

2

यह आपकी आवश्यकता के मामले Creating custom Annotations के लिए उपयोग की जा सकती है। ऐसा लगता है कि आपको @Retention(RetentionPolicy.RUNTIME) और @Target(ElementType.METHOD) स्कोप करने की आवश्यकता होगी जो आप चाहते हैं। तब के रूप में आप पहले उदाहरण में देख सकते हैं, आप वस्तु में जाना होगा और आदि

एक अच्छा उदाहरण के लिए, क्या वे एक अंतिम नोट के रूप में Dagger

में क्या देखते हैं, तो यह पुराना है और आप ' संभवत: आप जो चाहते थे उसे डिज़ाइन किया है, लेकिन संभवतया आपने जो कुछ पूछा है, वह करना अच्छा नहीं है। एनोटेशन उपयोग की लागत है और रननेबल मूल रूप से बनाया गया था जो आप ऐसा करने की कोशिश कर रहे हैं।

0

एंड्रॉइड के Annotation उपप्रकार आप जो करने की कोशिश कर रहे हैं उसके लिए विभिन्न प्रकार के टूल प्रदान करते हैं। विशेष रूप से, thread annotations पर एक नज़र डालें; मुझे संदेह है कि @WorkerThread एनोटेशन केवल वही करता है जो आप चाहते हैं। एंड्रॉइड स्टूडियो में कोड निरीक्षण उपकरण इन एनोटेशन को पहचानते हैं और थ्रेडिंग आवश्यकताओं का उल्लंघन करने के रूप में पहचानने वाले किसी भी कोड को स्वचालित रूप से ध्वजांकित करेंगे (उदाहरण के लिए, @WorkerThread के रूप में एनोटेटेड विधि से यूआई थ्रेड विधि को कॉल करना)।

कोड निरीक्षण उपकरण आपको अपनी खुद की टिप्पणियां परिभाषित करने की अनुमति भी देता है, लेकिन ये कुछ हद तक सीमित हैं जो वे कर सकते हैं। इस खंड Creating Enumerated Annotations में चर्चा की गई है।

संबंधित मुद्दे