नई क्लास बनाएं डायलॉग और फ़ाइल टेंप्लेट की मदद से, Android Studio में ये नई क्लास और टाइप तुरंत बनाए जा सकते हैं:
- Java क्लास
- इन्यूमरेशन और सिंगलटन क्लास
- इंटरफ़ेस और एनोटेशन के टाइप
नई क्लास बनाएं डायलॉग फ़ील्ड भरने और ठीक है पर
क्लिक करने के बाद, Android Studio एक .java
फ़ाइल बनाता है, जिसमें स्केलेटन कोड
शामिल होता है. इसमें पैकेज स्टेटमेंट, ज़रूरी इंपोर्ट, हेडर, और क्लास या टाइप की जानकारी का एलान शामिल होता है. इसके बाद, इस फ़ाइल में अपना कोड जोड़ा जा सकता है.
फ़ाइल टेंप्लेट से यह तय होता है कि Android Studio, स्केलेटन कोड कैसे जनरेट करता है. Android Studio में दिए गए फ़ाइल टेंप्लेट का इस्तेमाल, वैसे ही किया जा सकता है या अपनी डेवलपमेंट प्रोसेस के हिसाब से उन्हें पसंद के मुताबिक बनाया जा सकता है.
फ़ाइल टेंप्लेट देखना और उन्हें पसंद के मुताबिक बनाना
Android Studio, फ़ाइल टेंप्लेट उपलब्ध कराता है. इनसे यह तय होता है कि नई क्लास बनाएं डायलॉग बॉक्स की मदद से, नई Java क्लास और टाइप कैसे बनाए जाते हैं. इन टेंप्लेट को अपनी पसंद के मुताबिक बनाया जा सकता है.
Android Studio के फ़ाइल टेंप्लेट में, वेलोसिटी टेंप्लेट लैंग्वेज (वीटीएल) कोड और वैरिएबल शामिल हैं. इनकी मदद से, इन दूसरे विकल्पों को मैनेज किया जा सकता है. नई क्लास बनाएं डायलॉग में AnnotationType, Class, Enum, इंटरफ़ेस, और सिंगलटन फ़ाइल टेंप्लेट का इस्तेमाल किया जाता है.
टेंप्लेट देखने, पसंद के मुताबिक बनाने, और उनमें बदलाव करने के लिए, यह तरीका अपनाएं:
निम्न में से कोई एक कार्य करें:
- Windows या Linux के लिए, फ़ाइल > सेटिंग > एडिटर > फ़ाइल और कोड टेंप्लेट > फ़ाइलें चुनें.
- macOS के लिए, Android Studio > प्राथमिकताएं > एडिटर > फ़ाइल और कोड टेंप्लेट > फ़ाइलें चुनें.
टेंप्लेट सूची में, इंटरनल टेंप्लेट के नाम बोल्ड फ़ॉन्ट में होते हैं. पसंद के मुताबिक बनाए गए टेंप्लेट के नाम, हाइलाइट किए गए रंग में दिखते हैं. जैसे, नीला.
फ़ाइल टेंप्लेट को ज़रूरत के मुताबिक बनाएं.
अगर आपको नई क्लास बनाएं डायलॉग फ़ील्ड का इस्तेमाल करना है, तो पक्का करें कि आपके बदलाव Android Studio के फ़ाइल टेंप्लेट कोड के मुताबिक हों.
वीटीएल के साथ-साथ फ़ाइल टेंप्लेट के बारे में ज़्यादा जानकारी के लिए, फ़ाइल और कोड टेंप्लेट के साथ-साथ फ़ाइल और कोड टेंप्लेट डायलॉग देखें.
Java क्लास या टाइप बनाना
Android Studio की मदद से, फ़ाइल टेंप्लेट के आधार पर नई Java क्लास, एनोटेशन टाइप, इंटरफ़ेस, और गिनती और सिंगलटन क्लास बनाई जा सकती हैं.
नई Java क्लास या टाइप बनाने के लिए, यह तरीका अपनाएं:
- प्रोजेक्ट विंडो में, किसी Java फ़ाइल या फ़ोल्डर पर राइट क्लिक करें और नया > Java क्लास चुनें.
- नई कक्षा बनाएं डायलॉग में, फ़ील्ड भरें:
- नाम - नई क्लास या टाइप का नाम. यह नाम, Java के नाम से जुड़ी ज़रूरी शर्तों के मुताबिक होना चाहिए. फ़ाइल के नाम का एक्सटेंशन न लिखें.
- टाइप - क्लास या टाइप की कैटगरी चुनें.
- सुपर क्लास - वह क्लास जिससे आपकी नई क्लास इनहेरिट करती है. आप पैकेज और क्लास का नाम टाइप कर सकते हैं या सिर्फ़ क्लास का नाम टाइप कर सकते हैं. इसके बाद, आइटम को अपने-आप पूरा करने के लिए, ड्रॉप-डाउन सूची में उस पर दो बार क्लिक करें.
- इंटरफ़ेस - एक या उससे ज़्यादा इंटरफ़ेस, जिन्हें नई क्लास या टाइप लागू करता है. एक से ज़्यादा इंटरफ़ेस को कॉमा लगाकर अलग किया जाना चाहिए. इसके बाद, एक स्पेस लगाना ज़रूरी नहीं है. पैकेज और इंटरफ़ेस का नाम या सिर्फ़ इंटरफ़ेस का नाम टाइप करें. इसके बाद, ड्रॉप-डाउन सूची में किसी आइटम पर डबल क्लिक करके, उसे अपने-आप पूरा होने दें.
- पैकेज - वह पैकेज जिसमें क्लास या टाइप मौजूद होगा. डिफ़ॉल्ट वैल्यू, फ़ील्ड में अपने-आप दिखती है. अगर फ़ील्ड में पैकेज का नाम लिखा जाता है, तो पैकेज आइडेंटिफ़ायर के ऐसे हिस्सों को लाल रंग से हाइलाइट किया जाता है जो मौजूद नहीं हैं. इस मामले में, ठीक है पर क्लिक करने के बाद, Android Studio पैकेज बनाता है. इस फ़ील्ड में कोई वैल्यू होनी चाहिए. ऐसा न होने पर, Java फ़ाइल में
package
स्टेटमेंट नहीं होगा और प्रोजेक्ट में क्लास या टाइप को पैकेज में नहीं रखा जाएगा. - किसको दिखे - चुनें कि क्लास या टाइप सभी क्लास को दिखेगा या सिर्फ़ अपने पैकेज में शामिल क्लास को.
- बदलाव करने वाले एलिमेंट - किसी क्लास के लिए, अब्स्ट्रैक्ट या फ़ाइनल में से कोई एक बदलाव करने वाला एलिमेंट चुनें या कोई भी न चुनें.
- ओवरराइड चुनने के लिए डायलॉग बॉक्स दिखाएं - क्लास के टाइप के लिए, ठीक है पर क्लिक करने के बाद, ओवरराइड करने/लागू करने के लिए तरीके चुनने वाला डायलॉग बॉक्स खोलने के लिए, यह विकल्प चुनें. इस डायलॉग में, वे तरीके चुने जा सकते हैं जिन्हें आपको बदलना है या लागू करना है. इसके बाद, Android Studio इन तरीकों के लिए स्केलेटन कोड जनरेट करेगा.
- ठीक है पर क्लिक करें.
इसके अलावा, प्रोजेक्ट विंडो में जाकर कोई Java फ़ाइल या फ़ोल्डर चुनें या कोड एडिटर में जाकर किसी Java फ़ाइल पर क्लिक करें. इसके बाद, फ़ाइल > नया > Java क्लास चुनें.
आपके चुने गए आइटम से, नई क्लास या टाइप के लिए डिफ़ॉल्ट पैकेज तय होता है.
ऑटोकंप्लीट की सुविधा, सिर्फ़ पहले इंटरफ़ेस के नाम पर काम करती है. ध्यान दें कि कॉमा और उसके बाद के इंटरफ़ेस के नाम से टूलटिप गड़बड़ी दिख सकती है. हालांकि, इस गड़बड़ी को अनदेखा किया जा सकता है, क्योंकि इससे जनरेट किए गए कोड पर कोई असर नहीं पड़ता.
डिफ़ॉल्ट रूप से, यह इस बात पर निर्भर करता है कि आपने नई क्लास बनाएं डायलॉग को कैसे लॉन्च किया था. अगर आपने प्रोजेक्ट विंडो में सबसे पहले कोई Java फ़ाइल या फ़ोल्डर चुना है, तो आपके चुने गए आइटम के लिए पैकेज डिफ़ॉल्ट रूप से सेट होता है. अगर आपने कोड एडिटर में पहली बार किसी Java फ़ाइल पर क्लिक किया है, तो इस फ़ाइल वाला पैकेज डिफ़ॉल्ट होता है.
टाइप पर लागू न होने वाले फ़ील्ड छिपे जाते हैं.
Android Studio, स्केलेटन कोड के साथ Java फ़ाइल बनाता है, जिसमें बदलाव किया जा सकता है. यह फ़ाइल को कोड एडिटर में खोलता है.
ध्यान दें: सिंगलटन क्लास बनाने के लिए, फ़ाइल > नया > सिंगलटन या फ़ाइल > नया > Java क्लास चुनें. दूसरी टेक्नोलॉजी से ज़्यादा विकल्प मिलते हैं.
Android Studio के फ़ाइल टेंप्लेट
इस सेक्शन में, Android Studio के फ़ाइल टेंप्लेट कोड को VTL स्क्रिप्टिंग भाषा में लिखा गया है. इसके बाद, वैरिएबल की परिभाषाएं दी गई हैं. नई क्लास बनाएं डायलॉग में दी गई वैल्यू, टेंप्लेट में वैरिएबल वैल्यू बन जाती हैं.
ध्यान दें कि #if (${VISIBILITY}
से शुरू होने वाली लाइनें, ओपन ब्रैकेट ({
) तक जाती हैं.
AnnotationType फ़ाइल टेंप्लेट
#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK} #end #parse("File Header.java") #if (${VISIBILITY} == "PUBLIC")public #end @interface ${NAME} #if (${INTERFACES} != "")extends ${INTERFACES} #end { }
क्लास फ़ाइल का टेंप्लेट
#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK} #end #parse("File Header.java") #if (${VISIBILITY} == "PUBLIC")public #end #if (${ABSTRACT} == "TRUE")abstract #end #if (${FINAL} == "TRUE")final #end class ${NAME} #if (${SUPERCLASS} != "")extends ${SUPERCLASS} #end #if (${INTERFACES} != "")implements ${INTERFACES} #end { }
Enum फ़ाइल टेंप्लेट
#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK} #end #parse("File Header.java") #if (${VISIBILITY} == "PUBLIC")public #end enum ${NAME} #if (${INTERFACES} != "")implements ${INTERFACES} #end { }
इंटरफ़ेस फ़ाइल टेंप्लेट
#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK} #end #parse("File Header.java") #if (${VISIBILITY} == "PUBLIC")public #end enum ${NAME} #if (${INTERFACES} != "")implements ${INTERFACES} #end { #end { }
सिंगलटन फ़ाइल टेंप्लेट
#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK} #end #parse("File Header.java") #if (${VISIBILITY} == "PUBLIC")public #end class ${NAME} #if (${SUPERCLASS} != "")extends ${SUPERCLASS} #end #if (${INTERFACES} != "")implements ${INTERFACES} #end { private static final ${NAME} ourInstance = new ${NAME}(); #if (${VISIBILITY} == "PUBLIC")public #end static ${NAME} getInstance() { return ourInstance; } private ${NAME}() { } }
फ़ाइल टेंप्लेट के वैरिएबल
Android Studio, जनरेट की गई Java फ़ाइल में फ़ाइल टेंप्लेट वैरिएबल की जगह वैल्यू डाल देता है. नई कक्षा बनाएं डायलॉग में वैल्यू डालें. टेंप्लेट में ये वैरिएबल होते हैं जिनका इस्तेमाल किया जा सकता है:
IMPORT_BLOCK
- किसी सुपरक्लास या इंटरफ़ेस के साथ काम करने के लिए, ज़रूरी Javaimport
स्टेटमेंट की सूची, जिसे नई लाइन से अलग किया गया है. इसके अलावा, यह सूची खाली स्ट्रिंग (""
) भी हो सकती है. उदाहरण के लिए, अगर आपने सिर्फ़Runnable
इंटरफ़ेस लागू किया है और कुछ भी एक्सटेंड नहीं किया है, तो यह वैरिएबल"import java.lang.Runnable;\n"
होगा. अगरRunnable
इंटरफ़ेस लागू किया जाता है औरActivity
क्लास को एक्सटेंड किया जाता है, तो यह"import android.app.Activity;\nimportjava.lang.Runnable;\n"
हो जाएगी.VISIBILITY
- क्लास का ऐक्सेस सभी के लिए उपलब्ध होगा या नहीं. इसकी वैल्यूPUBLIC
याPACKAGE_PRIVATE
हो सकती है.SUPERCLASS
- किसी एक क्लास का नाम या खाली. अगर यह मौजूद है, तो नए क्लास के नाम के बाद एकextends ${SUPERCLASS}
क्लॉज़ होगा.INTERFACES
- इंटरफ़ेस की कॉमा से अलग की गई सूची या खाली. अगर यह मौजूद है, तो सुपरक्लास के बादimplements ${INTERFACES}
क्लॉज़ होगा. अगर कोई सुपरक्लास नहीं है, तो क्लास के नाम के बादimplements ${INTERFACES}
क्लॉज़ होगा. इंटरफ़ेस और एनोटेशन टाइप के लिए, इंटरफ़ेस मेंextends
कीवर्ड होता है.ABSTRACT
- क्लास को ऐब्सट्रैक्ट बनाना है या नहीं. इसकी वैल्यूTRUE
याFALSE
हो सकती है.FINAL
- क्लास फ़ाइनल होनी चाहिए या नहीं. इसकी वैल्यूTRUE
याFALSE
हो सकती है.