नई क्लास बनाएं डायलॉग और फ़ाइल टेंप्लेट की मदद से, Android Studio आपको इन नई क्लास और टाइप को तुरंत बनाने में मदद करता है:
- Java क्लास
- इन्यूमरेशन और सिंगलटन क्लास
- इंटरफ़ेस और एनोटेशन के टाइप
नई क्लास बनाएं डायलॉग बॉक्स में फ़ील्ड भरने के बाद, ठीक है पर क्लिक करें. इसके बाद, Android Studio एक .java फ़ाइल बनाता है. इसमें पैकेज स्टेटमेंट, ज़रूरी इंपोर्ट, हेडर, और क्लास या टाइप डिक्लेरेशन के साथ-साथ स्केलेटन कोड भी होता है. इसके बाद, इस फ़ाइल में अपना कोड जोड़ा जा सकता है.
फ़ाइल टेंप्लेट से पता चलता है कि Android Studio, स्केलेटन कोड कैसे जनरेट करता है. Android Studio के साथ उपलब्ध कराए गए फ़ाइल टेंप्लेट का इस्तेमाल किया जा सकता है. इसके अलावा, उन्हें अपनी डेवलपमेंट प्रोसेस के हिसाब से बनाया जा सकता है.
फ़ाइल टेंप्लेट देखना और उन्हें पसंद के मुताबिक बनाना
Android Studio, फ़ाइल टेंप्लेट उपलब्ध कराता है. इनसे यह तय होता है कि नई क्लास बनाएं डायलॉग की मदद से, नई Java क्लास और टाइप कैसे बनाए जाते हैं. इन टेंप्लेट को अपनी ज़रूरत के हिसाब से बनाया जा सकता है.
पहली इमेज. नई क्लास बनाएं डायलॉग बॉक्स.
Android Studio के फ़ाइल टेंप्लेट में, वेलोसिटी टेंप्लेट लैंग्वेज (वीटीएल) कोड और ऐसे वैरिएबल शामिल होते हैं जो इन अतिरिक्त विकल्पों को मैनेज करते हैं. नई क्लास बनाएं डायलॉग, AnnotationType, Class, Enum, Interface, और Singleton फ़ाइल टेंप्लेट का इस्तेमाल करता है.
टेंप्लेट देखने, उन्हें पसंद के मुताबिक बनाने, और उनमें बदलाव करने के लिए, यह तरीका अपनाएं:
निम्न में से कोई एक कार्य करें:
- Windows या Linux के लिए, फ़ाइल > सेटिंग > एडिटर > फ़ाइल और कोड टेंप्लेट > फ़ाइलें चुनें.
- macOS के लिए, Android Studio > Preferences > Editor > File and Code Templates > Files चुनें.
टेंप्लेट की सूची में, इंटरनल टेंप्लेट के नाम बोल्ड फ़ॉन्ट में होते हैं. पसंद के मुताबिक बनाए गए टेंप्लेट के नाम, हाइलाइट किए गए रंग में दिखते हैं. जैसे, नीला रंग.
फ़ाइल टेंप्लेट को अपनी ज़रूरत के मुताबिक बनाएं.
अगर आपको नई क्लास बनाएं डायलॉग फ़ील्ड का इस्तेमाल करना है, तो पक्का करें कि आपके बदलाव, Android Studio के फ़ाइल टेंप्लेट कोड के मुताबिक हों.
वीटीएल के साथ-साथ फ़ाइल टेंप्लेट के बारे में ज़्यादा जानने के लिए, फ़ाइल और कोड टेंप्लेट और फ़ाइल और कोड टेंप्लेट डायलॉग देखें.
Java क्लास या टाइप बनाना
Android Studio की मदद से, नई Java क्लास, इन्यूमरेशन और सिंगलटन क्लास, इंटरफ़ेस, और एनोटेशन टाइप बनाए जा सकते हैं. ये फ़ाइल टेंप्लेट पर आधारित होते हैं.
नई Java क्लास या टाइप बनाने के लिए, यह तरीका अपनाएं:
- Project विंडो में, किसी Java फ़ाइल या फ़ोल्डर पर राइट क्लिक करें. इसके बाद, New > Java Class को चुनें.
- नई क्लास बनाएं डायलॉग बॉक्स में, ये फ़ील्ड भरें:
- नाम - नई क्लास या टाइप का नाम. यह Java नाम से जुड़ी ज़रूरी शर्तों का पालन करता हो. फ़ाइल के नाम का एक्सटेंशन न डालें.
- टाइप - क्लास या टाइप की कैटगरी चुनें.
- सुपरक्लास - वह क्लास जिससे आपकी नई क्लास इनहेरिट करती है. पैकेज और क्लास का नाम टाइप किया जा सकता है. इसके अलावा, सिर्फ़ क्लास का नाम टाइप करके ड्रॉप-डाउन सूची में मौजूद किसी आइटम पर दो बार क्लिक करके, उसे अपने-आप पूरा होने दिया जा सकता है.
- इंटरफ़ेस - एक या उससे ज़्यादा इंटरफ़ेस जिन्हें नई क्लास या टाइप लागू करता है. एक से ज़्यादा इंटरफ़ेस को कॉमा लगाकर अलग किया जाना चाहिए. इसके बाद, स्पेस देना ज़रूरी नहीं है. पैकेज और इंटरफ़ेस का नाम टाइप किया जा सकता है. इसके अलावा, सिर्फ़ इंटरफ़ेस का नाम टाइप करके ड्रॉप-डाउन सूची में मौजूद किसी आइटम पर दो बार क्लिक करके, उसे अपने-आप पूरा होने दिया जा सकता है.
- Package - वह पैकेज जिसमें क्लास या टाइप मौजूद होगा. डिफ़ॉल्ट वैल्यू, फ़ील्ड में अपने-आप दिखती है. अगर फ़ील्ड में पैकेज का नाम डाला जाता है, तो पैकेज आइडेंटिफ़ायर के ऐसे हिस्से लाल रंग में हाइलाइट किए जाते हैं जो मौजूद नहीं हैं. इस मामले में, ठीक है पर क्लिक करने के बाद Android Studio पैकेज बनाता है. इस फ़ील्ड में कोई वैल्यू होनी चाहिए. ऐसा न होने पर, Java फ़ाइल में
packageस्टेटमेंट नहीं होगा. साथ ही, क्लास या टाइप को प्रोजेक्ट में किसी पैकेज में नहीं रखा जाएगा. - किसको दिखे - चुनें कि क्लास या टाइप सभी क्लास को दिखे या सिर्फ़ उसी पैकेज में शामिल क्लास को दिखे.
- मॉडिफ़ायर - किसी क्लास के लिए, ऐब्स्ट्रैक्ट या फ़ाइनल मॉडिफ़ायर चुनें या इनमें से कोई भी नहीं चुनें.
- ओवरराइड चुनने का डायलॉग दिखाएं - क्लास के Kind के लिए, इस विकल्प को चुनें. इससे ठीक है पर क्लिक करने के बाद, ओवरराइड/लागू करने के तरीके चुनें डायलॉग खुल जाएगा. इस डायलॉग में, उन तरीकों को चुना जा सकता है जिन्हें आपको बदलना है या लागू करना है. इसके बाद, Android Studio इन तरीकों के लिए स्केलेटन कोड जनरेट करेगा.
- ठीक है पर क्लिक करें.
इसके अलावा, प्रोजेक्ट विंडो में कोई Java फ़ाइल या फ़ोल्डर चुनें या कोड एडिटर में किसी Java फ़ाइल पर क्लिक करें. इसके बाद, फ़ाइल > नया > Java क्लास चुनें.
चुने गए आइटम के हिसाब से, नई क्लास या टाइप के लिए डिफ़ॉल्ट पैकेज तय होता है.
ऑटोमैटिक तरीके से पूरा होने की सुविधा, सिर्फ़ पहले इंटरफ़ेस के नाम के लिए काम करती है. ध्यान दें कि कॉमा और उसके बाद इंटरफ़ेस का नाम डालने पर, टूलटिप में गड़बड़ी दिख सकती है. हालांकि, इस गड़बड़ी को अनदेखा किया जा सकता है, क्योंकि इससे जनरेट किए गए कोड पर कोई असर नहीं पड़ता.
डिफ़ॉल्ट तरीका, इस बात से तय होता है कि आपने नई क्लास बनाएं डायलॉग बॉक्स कैसे लॉन्च किया था. अगर आपने प्रोजेक्ट विंडो में कोई Java फ़ाइल या फ़ोल्डर चुना है, तो डिफ़ॉल्ट रूप से, चुने गए आइटम का पैकेज दिखेगा. अगर आपने कोड एडिटर में Java फ़ाइल पर क्लिक किया है, तो डिफ़ॉल्ट रूप से वह पैकेज चुना जाता है जिसमें यह फ़ाइल मौजूद है.
किस्म के हिसाब से लागू न होने वाले फ़ील्ड छिपा दिए जाते हैं.
Android Studio, स्केलेटन कोड वाली एक Java फ़ाइल बनाता है. इसमें बदलाव किया जा सकता है. इससे फ़ाइल, कोड एडिटर में खुल जाती है.
ध्यान दें: सिंगलटन क्लास बनाने के लिए, फ़ाइल > नया > सिंगलटन या फ़ाइल > नया > Java क्लास को चुनें. बाद वाले तरीके में ज़्यादा विकल्प मिलते हैं.
Android Studio के फ़ाइल टेंप्लेट
इस सेक्शन में, VTL स्क्रिप्टिंग भाषा में लिखा गया Android Studio फ़ाइल टेंप्लेट कोड दिया गया है. इसके बाद, वैरिएबल की परिभाषाएं दी गई हैं. नई क्लास बनाएं डायलॉग बॉक्स में दी गई वैल्यू, टेंप्लेट में वैरिएबल वैल्यू बन जाती हैं.
ध्यान दें कि #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}क्लॉज़ होगा. इंटरफ़ेस और एनोटेशन टाइप के लिए, इंटरफ़ेस मेंextendsकीवर्ड होता है.ABSTRACT- क्लास को ऐब्स्ट्रैक्ट होना चाहिए या नहीं. इसकी वैल्यूTRUEयाFALSEहो सकती है.FINAL- क्लास को फ़ाइनल किया जाना चाहिए या नहीं. इसकी वैल्यूTRUEयाFALSEहो सकती है.