Android Studio ช่วยให้คุณสร้างคลาสและประเภทใหม่ต่อไปนี้ได้อย่างรวดเร็วด้วยกล่องโต้ตอบสร้างคลาสใหม่และเทมเพลตไฟล์
- คลาส Java
- คลาสการแจงนับและคลาส Singleton
- ประเภทอินเทอร์เฟซและคําอธิบายประกอบ
หลังจากกรอกข้อมูลในช่องโต้ตอบสร้างคลาสใหม่ แล้วคลิกตกลง Android Studio จะสร้างไฟล์ .java
ที่มีโค้ดโครงร่าง ซึ่งรวมถึงคำสั่งแพ็กเกจ การนําเข้าที่จําเป็น ส่วนหัว และการประกาศคลาสหรือประเภท จากนั้นเพิ่มโค้ดลงในไฟล์นี้
เทมเพลตไฟล์จะระบุวิธีที่ Android Studio สร้างโค้ดโครงร่าง คุณสามารถใช้เทมเพลตไฟล์ที่มาพร้อมกับ Android Studio ตามที่ให้มา หรือจะปรับแต่งให้เหมาะกับกระบวนการพัฒนาของคุณก็ได้
การดูและปรับแต่งเทมเพลตไฟล์
Android Studio มีเทมเพลตไฟล์ที่กำหนดวิธีสร้างคลาสและประเภท Java ใหม่ด้วยกล่องโต้ตอบสร้างคลาสใหม่ คุณสามารถปรับแต่งเทมเพลตเหล่านี้ได้
รูปที่ 1 กล่องโต้ตอบสร้างชั้นเรียนใหม่
เทมเพลตไฟล์ Android Studio มีโค้ดภาษาเทมเพลต Velocity (VTL) และตัวแปรที่จัดการตัวเลือกเพิ่มเติมเหล่านี้ กล่องโต้ตอบสร้างคลาสใหม่ใช้เทมเพลตไฟล์ AnnotationType, Class, Enum, Interface และ Singleton
หากต้องการดูเทมเพลต ค้นหาการปรับแต่ง และแก้ไขเทมเพลต ให้ทําตามขั้นตอนต่อไปนี้
ทำสิ่งใดสิ่งหนึ่งต่อไปนี้
- สําหรับ Windows หรือ Linux ให้เลือกไฟล์ > การตั้งค่า > เครื่องมือแก้ไข > ไฟล์และโค้ด เทมเพลต > ไฟล์
- สำหรับ macOS ให้เลือก Android Studio > ค่ากําหนด > เครื่องมือแก้ไข > ไฟล์และโค้ด เทมเพลต > ไฟล์
ในรายการเทมเพลต ชื่อเทมเพลตภายในจะเป็นแบบตัวหนา ชื่อเทมเพลตที่กําหนดเองจะแสดงเป็นสีไฮไลต์ เช่น สีน้ำเงิน
ปรับแต่งเทมเพลตไฟล์ตามต้องการ
หากต้องการใช้ช่องในกล่องโต้ตอบสร้างคลาสใหม่ โปรดตรวจสอบว่าการเปลี่ยนแปลงเป็นไปตามโค้ดเทมเพลตไฟล์ Android Studio
ดูข้อมูลเพิ่มเติมเกี่ยวกับเทมเพลตไฟล์ รวมถึง VTL ได้ที่เทมเพลตไฟล์และโค้ดและกล่องโต้ตอบเทมเพลตไฟล์และโค้ด
การสร้างคลาสหรือประเภท Java
Android Studio ช่วยคุณสร้างคลาส Java ใหม่ คลาสการแจกแจงและคลาส Singleton รวมถึงประเภทอินเทอร์เฟซและคำอธิบายประกอบตามเทมเพลตไฟล์
วิธีสร้างคลาสหรือประเภท Java ใหม่มีดังนี้
- ในหน้าต่างโปรเจ็กต์ ให้คลิกขวาที่ไฟล์หรือโฟลเดอร์ Java แล้วเลือกใหม่ > คลาส Java
- ในกล่องโต้ตอบสร้างชั้นเรียนใหม่ ให้กรอกข้อมูลในช่องต่อไปนี้
- ชื่อ - ชื่อของคลาสหรือประเภทใหม่ โดยต้องเป็นไปตามข้อกำหนดเกี่ยวกับชื่อ Java อย่าพิมพ์นามสกุลไฟล์
- ประเภท - เลือกหมวดหมู่ของชั้นเรียนหรือประเภท
- Superclass - ชั้นเรียนที่ชั้นเรียนใหม่รับค่ามา คุณสามารถพิมพ์ชื่อแพ็กเกจและชื่อคลาส หรือแค่ชื่อคลาส แล้วดับเบิลคลิกรายการในรายการแบบเลื่อนลงเพื่อเติมข้อความอัตโนมัติ
- อินเทอร์เฟซ - อินเทอร์เฟซอย่างน้อย 1 รายการที่คลาสหรือประเภทใหม่นำมาใช้ หากมีหลายอินเทอร์เฟซ ให้คั่นด้วยคอมมาตามด้วยเว้นวรรค (ไม่บังคับ) คุณสามารถพิมพ์ชื่อแพ็กเกจและอินเทอร์เฟซ หรือจะพิมพ์แค่ชื่ออินเทอร์เฟซก็ได้ จากนั้นดับเบิลคลิกรายการในรายการแบบเลื่อนลงเพื่อเติมข้อความให้สมบูรณ์
- แพ็กเกจ - แพ็กเกจที่คลาสหรือประเภทจะอยู่ในนั้น ค่าเริ่มต้นจะปรากฏในช่องโดยอัตโนมัติ หากคุณพิมพ์ชื่อแพ็กเกจในช่อง ระบบจะไฮไลต์ส่วนที่ไม่มีอยู่ของตัวระบุแพ็กเกจเป็นสีแดง ในกรณีนี้ Android Studio จะสร้างแพ็กเกจหลังจากที่คุณคลิกตกลง ช่องนี้ต้องมีค่า มิฉะนั้นไฟล์ Java จะไม่มีคำสั่ง
package
และคลาสหรือประเภทจะไม่อยู่ในแพ็กเกจในโปรเจ็กต์ - ระดับการแชร์ - เลือกว่าต้องการให้ชั้นเรียนหรือประเภทนั้นปรากฏแก่ชั้นเรียนทั้งหมด หรือเฉพาะชั้นเรียนในแพ็กเกจของชั้นเรียนนั้น
- ตัวแก้ไข - เลือกตัวแก้ไขนามธรรมหรือสุดท้ายสําหรับคลาส หรือไม่เลือกเลย
- แสดงกล่องโต้ตอบเลือกการลบล้าง - สําหรับประเภทคลาส ให้เลือกตัวเลือกนี้เพื่อเปิดกล่องโต้ตอบเลือกวิธีการลบล้าง/ติดตั้งใช้งานหลังจากคลิกตกลง ในกล่องโต้ตอบนี้ คุณสามารถเลือกเมธอดที่ต้องการลบล้างหรือติดตั้งใช้งาน และ Android Studio จะสร้างโค้ดโครงสำหรับเมธอดเหล่านี้
- คลิกตกลง
หรือเลือกไฟล์หรือโฟลเดอร์ Java ในหน้าต่างโปรเจ็กต์ หรือคลิกในไฟล์ Java ในเครื่องมือแก้ไขโค้ด จากนั้นเลือกไฟล์ > ใหม่ > คลาส Java
รายการที่คุณเลือกจะเป็นตัวกำหนดแพ็กเกจเริ่มต้นสำหรับคลาสหรือประเภทใหม่
การเติมข้อความอัตโนมัติใช้ได้กับชื่ออินเทอร์เฟซแรกเท่านั้น โปรดทราบว่าแม้เครื่องหมายคอมมาและชื่ออินเทอร์เฟซต่อไปนี้อาจทำให้เกิดข้อผิดพลาดของเคล็ดลับเครื่องมือ แต่คุณก็ไม่ต้องสนใจข้อผิดพลาดดังกล่าวได้ เนื่องจากไม่ส่งผลต่อโค้ดที่สร้างขึ้น
โดยค่าเริ่มต้นจะขึ้นอยู่กับวิธีที่คุณเปิดกล่องโต้ตอบสร้างชั้นเรียนใหม่ หากคุณเลือกไฟล์หรือโฟลเดอร์ Java ในหน้าต่างโปรเจ็กต์เป็นครั้งแรก ค่าเริ่มต้นจะเป็นแพ็กเกจของรายการที่คุณเลือก หากคุณคลิกไฟล์ Java ในเครื่องมือแก้ไขโค้ดเป็นครั้งแรก แพ็กเกจที่มีไฟล์นี้จะแสดงเป็นค่าเริ่มต้น
ระบบจะซ่อนช่องที่ไม่เกี่ยวข้องกับประเภท
Android Studio จะสร้างไฟล์ Java ที่มีโค้ดโครงร่างที่คุณแก้ไขได้ ซึ่งจะเปิดไฟล์ในตัวแก้ไขโค้ด
หมายเหตุ: คุณสามารถสร้างคลาส Singleton ได้โดยเลือกไฟล์ > ใหม่ > Singleton หรือไฟล์ > ใหม่ > คลาส 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 { }
เทมเพลตไฟล์ Singleton
#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