নতুন ক্লাস তৈরি করুন ডায়ালগ এবং ফাইল টেমপ্লেটের সাহায্যে, অ্যান্ড্রয়েড স্টুডিও আপনাকে নিম্নলিখিত নতুন ক্লাস এবং প্রকারগুলি দ্রুত তৈরি করতে সহায়তা করে:
- জাভা ক্লাস
- গণনা এবং একক শ্রেণী
- ইন্টারফেস এবং টীকা প্রকার
"নতুন ক্লাস তৈরি করুন" ডায়ালগ ক্ষেত্রগুলি পূরণ করে "ঠিক আছে" ক্লিক করার পরে, অ্যান্ড্রয়েড স্টুডিও একটি .java ফাইল তৈরি করে যার মধ্যে একটি প্যাকেজ স্টেটমেন্ট, প্রয়োজনীয় আমদানি, একটি হেডার এবং একটি ক্লাস বা টাইপ ঘোষণা অন্তর্ভুক্ত থাকে। এরপর, আপনি এই ফাইলটিতে আপনার কোড যুক্ত করতে পারেন।
ফাইল টেমপ্লেটগুলি নির্দিষ্ট করে যে অ্যান্ড্রয়েড স্টুডিও কীভাবে স্কেলিটন কোড তৈরি করে। আপনি অ্যান্ড্রয়েড স্টুডিওতে প্রদত্ত ফাইল টেমপ্লেটগুলি যেমন আছে তেমন ব্যবহার করতে পারেন, অথবা আপনার ডেভেলপমেন্ট প্রক্রিয়া অনুসারে সেগুলি কাস্টমাইজ করতে পারেন।
ফাইল টেমপ্লেট দেখা এবং কাস্টমাইজ করা
অ্যান্ড্রয়েড স্টুডিও ফাইল টেমপ্লেট প্রদান করে যা নির্ধারণ করে যে নতুন জাভা ক্লাস এবং প্রকারগুলি কীভাবে তৈরি করা হয় "নতুন ক্লাস তৈরি করুন" ডায়ালগের মাধ্যমে। আপনি এই টেমপ্লেটগুলি কাস্টমাইজ করতে পারেন।

চিত্র ১। নতুন ক্লাস তৈরি করুন ডায়ালগ।
অ্যান্ড্রয়েড স্টুডিও ফাইল টেমপ্লেটগুলিতে Velocity Template Language ( VTL ) কোড এবং এই অতিরিক্ত বিকল্পগুলি পরিচালনা করে এমন ভেরিয়েবল অন্তর্ভুক্ত থাকে। Create New Class ডায়ালগটি AnnotationType , Class , Enum , Interface এবং Singleton ফাইল টেমপ্লেট ব্যবহার করে।
টেমপ্লেটগুলি দেখতে, কাস্টমাইজেশন খুঁজতে এবং টেমপ্লেটগুলি পরিবর্তন করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
নিম্নলিখিতগুলির মধ্যে একটি করুন:
- উইন্ডোজ বা লিনাক্সের জন্য, ফাইল > সেটিংস > সম্পাদক > ফাইল এবং কোড টেমপ্লেট > ফাইল নির্বাচন করুন।
- macOS-এর জন্য, Android Studio > Preferences > Editor > File and Code Templates > Files নির্বাচন করুন।
টেমপ্লেট তালিকায় , অভ্যন্তরীণ টেমপ্লেটের নামগুলি গাঢ় ফন্টে থাকে। কাস্টমাইজড টেমপ্লেটের নামগুলি নীলের মতো একটি হাইলাইট রঙে প্রদর্শিত হয়।
প্রয়োজন অনুসারে ফাইল টেমপ্লেটগুলি কাস্টমাইজ করুন।
যদি আপনি "নতুন ক্লাস তৈরি করুন" ডায়ালগ ক্ষেত্রগুলি ব্যবহার করতে চান, তাহলে নিশ্চিত করুন যে আপনার পরিবর্তনগুলি Android Studio ফাইল টেমপ্লেট কোডের সাথে সঙ্গতিপূর্ণ।
VTL সহ ফাইল টেমপ্লেট সম্পর্কে আরও তথ্যের জন্য, ফাইল এবং কোড টেমপ্লেট এবং ফাইল এবং কোড টেমপ্লেট ডায়ালগ দেখুন।
একটি জাভা ক্লাস বা টাইপ তৈরি করা হচ্ছে
অ্যান্ড্রয়েড স্টুডিও আপনাকে নতুন জাভা ক্লাস তৈরি করতে সাহায্য করে; এন্যুমারেশন এবং সিঙ্গেলটন ক্লাস; এবং ফাইল টেমপ্লেটের উপর ভিত্তি করে ইন্টারফেস এবং অ্যানোটেশনের ধরণ।
একটি নতুন জাভা ক্লাস বা টাইপ তৈরি করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
- প্রজেক্ট উইন্ডোতে, একটি জাভা ফাইল বা ফোল্ডারে ডান-ক্লিক করুন এবং New > Java Class নির্বাচন করুন।
- নতুন ক্লাস তৈরি করুন ডায়ালগে, ক্ষেত্রগুলি পূরণ করুন:
- নাম - নতুন ক্লাস বা ধরণের নাম। এটি অবশ্যই জাভা নামের প্রয়োজনীয়তা পূরণ করবে। কোনও ফাইলের নাম এক্সটেনশন টাইপ করবেন না।
- ধরণ - শ্রেণী বা প্রকারের বিভাগ নির্বাচন করুন।
- সুপারক্লাস - আপনার নতুন ক্লাসটি যে ক্লাস থেকে উত্তরাধিকার সূত্রে পেয়েছে। আপনি প্যাকেজ এবং ক্লাসের নাম, অথবা কেবল ক্লাসের নাম টাইপ করতে পারেন এবং তারপর ড্রপ-ডাউন তালিকার একটি আইটেমে ডাবল-ক্লিক করে এটি স্বয়ংক্রিয়ভাবে সম্পন্ন করতে পারেন।
- ইন্টারফেস(গুলি) - এক বা একাধিক ইন্টারফেস যা নতুন ক্লাস বা টাইপ প্রয়োগ করে। একাধিক ইন্টারফেসকে একটি কমা দিয়ে আলাদা করা উচিত এবং তারপরে একটি ঐচ্ছিক স্থান থাকা উচিত। আপনি প্যাকেজ এবং ইন্টারফেসের নাম, অথবা কেবল ইন্টারফেসের নাম টাইপ করতে পারেন এবং তারপরে ড্রপ-ডাউন তালিকার একটি আইটেমে ডাবল-ক্লিক করে এটি স্বয়ংক্রিয়ভাবে সম্পন্ন করতে পারেন।
- প্যাকেজ - যে প্যাকেজে ক্লাস বা টাইপ থাকবে। ডিফল্টটি স্বয়ংক্রিয়ভাবে ফিল্ডে প্রদর্শিত হবে। যদি আপনি ফিল্ডে একটি প্যাকেজের নাম টাইপ করেন, তাহলে প্যাকেজ আইডেন্টিফায়ারের যে কোনও অংশ বিদ্যমান নেই তা লাল রঙে হাইলাইট করা হবে; এই ক্ষেত্রে, OK ক্লিক করার পরে Android Studio প্যাকেজটি তৈরি করে। এই ফিল্ডে একটি মান থাকতে হবে; অন্যথায়, জাভা ফাইলে একটি
packageস্টেটমেন্ট থাকবে না এবং ক্লাস বা টাইপটি প্রজেক্টের কোনও প্যাকেজের মধ্যে স্থাপন করা হবে না। - দৃশ্যমানতা - ক্লাস বা টাইপটি সমস্ত ক্লাসের কাছে দৃশ্যমান কিনা, নাকি কেবল তার নিজস্ব প্যাকেজের কাছে দৃশ্যমান কিনা তা নির্বাচন করুন।
- সংশোধক - একটি ক্লাসের জন্য সারাংশ বা চূড়ান্ত সংশোধক নির্বাচন করুন, অথবা কোনটিই নয়।
- Select Overrides ডায়ালগ দেখান - এক ধরণের ক্লাসের জন্য, OK ক্লিক করার পরে Select Methods to Override/Implement ডায়ালগটি খুলতে এই বিকল্পটি চেক করুন। এই ডায়ালগে, আপনি যে পদ্ধতিগুলি ওভাররাইড বা বাস্তবায়ন করতে চান তা নির্বাচন করতে পারেন এবং Android Studio এই পদ্ধতিগুলির জন্য স্কেলিটন কোড তৈরি করবে।
- ঠিক আছে ক্লিক করুন।
বিকল্পভাবে, প্রজেক্ট উইন্ডোতে একটি জাভা ফাইল বা ফোল্ডার নির্বাচন করুন, অথবা কোড এডিটরে একটি জাভা ফাইলে ক্লিক করুন। তারপর File > New > Java Class নির্বাচন করুন।
আপনার নির্বাচিত আইটেমটি নতুন ক্লাস বা ধরণের জন্য ডিফল্ট প্যাকেজ নির্ধারণ করে।
অটোকমপ্লিট শুধুমাত্র প্রথম ইন্টারফেস নামের জন্য কাজ করে। মনে রাখবেন যে কমা এবং পরবর্তী ইন্টারফেস নাম একটি টুলটিপ ত্রুটি আনতে পারে, আপনি ত্রুটিটি উপেক্ষা করতে পারেন কারণ এটি জেনারেট করা কোডকে প্রভাবিত করে না।
ডিফল্টটি নির্ভর করে আপনি কীভাবে নতুন ক্লাস তৈরি করুন ডায়ালগ চালু করেছেন তার উপর। আপনি যদি প্রথমে প্রজেক্ট উইন্ডোতে একটি জাভা ফাইল বা ফোল্ডার নির্বাচন করেন, তাহলে ডিফল্টটি হল আপনার নির্বাচিত আইটেমের প্যাকেজ। যদি আপনি প্রথমে কোড এডিটরে একটি জাভা ফাইলে ক্লিক করেন, তাহলে ডিফল্টটি হল সেই প্যাকেজ যেখানে এই ফাইলটি রয়েছে।
যে কোনও ক্ষেত্র যা ধরণের ক্ষেত্রে প্রযোজ্য নয় তা লুকানো থাকে।
অ্যান্ড্রয়েড স্টুডিও একটি জাভা ফাইল তৈরি করে যার মধ্যে স্কেলেটন কোড ব্যবহার করা হয় যা আপনি পরিবর্তন করতে পারেন। এটি কোড এডিটরে ফাইলটি খোলে।
দ্রষ্টব্য: আপনি File > New > Singleton অথবা File > New > Java Class নির্বাচন করে একটি singleton ক্লাস তৈরি করতে পারেন; পরবর্তী কৌশলটি আরও বিকল্প প্রদান করে।
অ্যান্ড্রয়েড স্টুডিও ফাইল টেমপ্লেট
এই বিভাগে VTL স্ক্রিপ্টিং ভাষায় লেখা Android Studio ফাইল টেমপ্লেট কোড তালিকাভুক্ত করা হয়েছে, তারপরে ভেরিয়েবলের সংজ্ঞা দেওয়া হয়েছে। Create New Class ডায়ালগে আপনি যে মানগুলি প্রদান করেন সেগুলি টেমপ্লেটের ভেরিয়েবল মান হয়ে যায়। মনে রাখবেন যে #if (${VISIBILITY} দিয়ে শুরু হওয়া লাইনগুলি খোলা ব্রেস ( { ) পর্যন্ত প্রসারিত হয়।
টীকা টাইপ ফাইল টেমপ্লেট
#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}() {
}
}
ফাইল টেমপ্লেট ভেরিয়েবল
অ্যান্ড্রয়েড স্টুডিও ফাইল টেমপ্লেট ভেরিয়েবলগুলিকে জেনারেট করা জাভা ফাইলের মান দিয়ে প্রতিস্থাপন করে। আপনি নতুন ক্লাস তৈরি করুন ডায়ালগে মানগুলি প্রবেশ করান। টেমপ্লেটটিতে নিম্নলিখিত ভেরিয়েবলগুলি রয়েছে যা আপনি ব্যবহার করতে পারেন:
-
IMPORT_BLOCK- জাভাimportস্টেটমেন্টের একটি নতুন লাইন-সীমাবদ্ধ তালিকা যা যেকোনো সুপারক্লাস বা ইন্টারফেস, অথবা একটি খালি স্ট্রিং ("") সমর্থন করার জন্য প্রয়োজনীয়। উদাহরণস্বরূপ, যদি আপনি শুধুমাত্র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হতে পারে।