อภิธานศัพท์แพลตฟอร์ม Android

ดูรายการด้านล่างเพื่อเรียนรู้คำศัพท์พื้นฐานของ Android Open Source Project (AOSP) ต่อไปนี้เป็นแหล่งข้อมูลอื่นๆ สำหรับคำจำกัดความของคำสำคัญ:

ดู การเขียนโค้ดด้วยความเคารพ สำหรับตัวอย่างคำศัพท์ที่จะใช้และหลีกเลี่ยงสำหรับระบบนิเวศที่ครอบคลุมมากขึ้น

แอพ

ไฟล์ .apk
ไฟล์แพ็คเกจแอปพลิเคชัน Android แอปพลิเคชัน Android แต่ละแอปพลิเคชันได้รับการรวบรวมและจัดแพ็คเกจเป็นไฟล์เดียวซึ่งประกอบด้วยโค้ดของแอปพลิเคชัน (ไฟล์ .dex) ทรัพยากร เนื้อหา และไฟล์รายการทั้งหมด ไฟล์แพ็คเกจแอปพลิเคชันสามารถมีชื่อใดก็ได้ แต่ ต้อง ใช้นามสกุล .apk ตัวอย่างเช่น: myExampleAppname.apk เพื่อความสะดวก ไฟล์แพ็คเกจแอปพลิเคชันมักเรียกว่า ".apk"

ที่เกี่ยวข้อง: ใบสมัคร .

การกระทำ
คำอธิบายสิ่งที่ผู้ส่ง Intent ต้องการทำให้สำเร็จ การกระทำคือค่าสตริงที่กำหนดให้กับเจตนา สตริงการดำเนินการสามารถกำหนดโดย Android หรือโดยนักพัฒนาบุคคลที่สาม ตัวอย่างเช่น android.intent.action.VIEW สำหรับ URL ของเว็บ หรือ com.example.rumbler.SHAKE_PHONE สำหรับแอปพลิเคชันที่กำหนดเองเพื่อให้โทรศัพท์สั่น

คำที่เกี่ยวข้อง: เจตนา

กิจกรรม
หน้าจอเดียวในแอปพลิเคชันที่รองรับโค้ด Java ซึ่งได้มาจากคลาส Activity โดยทั่วไป กิจกรรมจะปรากฏให้เห็นอย่างชัดเจนด้วยหน้าต่างแบบเต็มหน้าจอที่สามารถรับและจัดการเหตุการณ์ UI และดำเนินงานที่ซับซ้อนได้ เนื่องจากหน้าต่างที่ใช้ในการเรนเดอร์หน้าต่าง แม้ว่ากิจกรรมจะเป็นแบบเต็มหน้าจอ แต่ก็สามารถเป็นแบบลอยหรือโปร่งใสได้เช่นกัน
แอปพลิเคชัน
จากมุมมองของส่วนประกอบ แอปพลิเคชัน Android ประกอบด้วยกิจกรรม บริการ ผู้ฟัง และผู้รับเจตนาหนึ่งรายการขึ้นไป จากมุมมองของไฟล์ต้นฉบับ แอปพลิเคชัน Android ประกอบด้วยโค้ด ทรัพยากร เนื้อหา และรายการเดียว ในระหว่างการคอมไพล์ ไฟล์เหล่านี้จะถูกรวมเป็นไฟล์เดียวที่เรียกว่าไฟล์แพ็คเกจแอปพลิเคชัน (.apk)

ที่เกี่ยวข้อง: .apk กิจกรรม

เครื่องรับกระจายเสียง
คลาสแอปพลิเคชันที่รับฟัง Intents ที่ออกอากาศ แทนที่จะถูกส่งไปยังแอปพลิเคชัน/กิจกรรมเป้าหมายเดียว ระบบจะส่งเจตจำนงการออกอากาศไปยังเครื่องรับการออกอากาศที่สนใจทั้งหมด ซึ่งจัดการเจตจำนงการออกอากาศตามลำดับ

ที่เกี่ยวข้อง: เจตนา , ตัวกรองเจตนา

ผู้ให้บริการเนื้อหา
เลเยอร์ข้อมูลที่เป็นนามธรรมที่คุณสามารถใช้เพื่อเปิดเผยข้อมูลแอปพลิเคชันของคุณไปยังแอปพลิเคชันอื่นได้อย่างปลอดภัย ผู้ให้บริการเนื้อหาถูกสร้างขึ้นบนคลาส ContentProvider ซึ่งจัดการสตริงการสืบค้นเนื้อหาในรูปแบบเฉพาะเพื่อส่งคืนข้อมูลในรูปแบบเฉพาะ ดูหัวข้อ ผู้ให้บริการเนื้อหา สำหรับข้อมูลเพิ่มเติม

ที่เกี่ยวข้อง: การใช้ URI ใน Android

กล่องโต้ตอบ
หน้าต่างลอยที่ทำหน้าที่เป็นรูปแบบน้ำหนักเบา กล่องโต้ตอบสามารถมีปุ่มควบคุมได้เท่านั้น และมีวัตถุประสงค์เพื่อดำเนินการง่ายๆ (เช่น ตัวเลือกปุ่ม) และอาจส่งกลับค่า กล่องโต้ตอบไม่ได้ตั้งใจให้คงอยู่ในสแต็กประวัติ มีเค้าโครงที่ซับซ้อน หรือดำเนินการที่ซับซ้อน Android มีกล่องโต้ตอบแบบธรรมดาเริ่มต้นให้คุณพร้อมปุ่มเสริม แต่คุณสามารถกำหนดเค้าโครงกล่องโต้ตอบของคุณเองได้ คลาสพื้นฐานสำหรับไดอะล็อกคือ Dialog

ที่เกี่ยวข้อง: กิจกรรม .

เจตนา
ออบเจ็กต์ข้อความที่คุณสามารถใช้เพื่อเรียกใช้หรือสื่อสารกับแอปพลิเคชัน/กิจกรรมอื่นๆ แบบอะซิงโครนัส วัตถุ Intent เป็นตัวอย่างของ Intent ประกอบด้วยช่องเกณฑ์หลายช่องที่คุณสามารถระบุได้ เพื่อกำหนดว่าแอปพลิเคชัน/กิจกรรมใดที่ได้รับ Intent และสิ่งที่ผู้รับทำเมื่อจัดการกับ Intent เกณฑ์ที่ใช้ได้ ได้แก่ การดำเนินการที่ต้องการ หมวดหมู่ สตริงข้อมูล ประเภท MIME ของข้อมูล คลาสการจัดการ และอื่นๆ แอปพลิเคชันส่ง Intent ไปยังระบบ Android แทนที่จะส่งโดยตรงไปยังแอปพลิเคชัน/กิจกรรมอื่น แอปพลิเคชันสามารถส่ง Intent ไปยังแอปพลิเคชันเป้าหมายเดียวหรือสามารถส่งเป็นการออกอากาศ ซึ่งในทางกลับกันสามารถจัดการโดยแอปพลิเคชันหลายตัวตามลำดับ ระบบ Android มีหน้าที่รับผิดชอบในการแก้ไขตัวรับที่ดีที่สุดสำหรับแต่ละ Intent โดยอิงตามเกณฑ์ที่ให้ไว้ใน Intent และ Intent Filters ที่กำหนดโดยแอปพลิเคชันอื่น สำหรับข้อมูลเพิ่มเติม โปรดดูที่ Intent และ Intent Filters

ที่เกี่ยวข้อง: ตัวกรองเจตนา , เครื่องรับการออกอากาศ

ตัวกรองเจตนา
ออบเจ็กต์ตัวกรองที่แอปพลิเคชันประกาศในไฟล์ Manifest เพื่อบอกระบบว่า Intent ประเภทใดที่แต่ละส่วนประกอบยินดียอมรับและด้วยเกณฑ์ใด แอปพลิเคชันสามารถแสดงความสนใจในประเภทข้อมูล การดำเนินการตามเจตนา รูปแบบ URI และอื่นๆ ได้ด้วยตัวกรองเจตนา เมื่อแก้ไข Intent ระบบจะประเมินตัวกรอง Intent ที่มีอยู่ทั้งหมดในแอปพลิเคชันทั้งหมด และส่ง Intent ไปยังแอปพลิเคชัน/กิจกรรมที่ตรงกับ Intent และเกณฑ์มากที่สุด สำหรับข้อมูลเพิ่มเติม โปรดดูที่ Intent และ Intent Filters

ที่เกี่ยวข้อง: เจตนา , เครื่องรับสัญญาณออกอากาศ .

ทรัพยากร
ส่วนประกอบของแอปพลิเคชันที่ไม่ใช่โปรแกรมซึ่งอยู่ภายนอกโค้ดแอปพลิเคชันที่คอมไพล์แล้ว แต่สามารถโหลดได้จากโค้ดแอปพลิเคชันโดยใช้รูปแบบอ้างอิงที่รู้จักกันดี Android รองรับทรัพยากรหลายประเภท แต่ทรัพยากรของแอปพลิเคชันทั่วไปจะประกอบด้วยสตริง UI, ส่วนประกอบเค้าโครง UI, กราฟิกหรือไฟล์สื่ออื่นๆ และอื่นๆ แอปพลิเคชันใช้ทรัพยากรเพื่อรองรับการแปลเป็นภาษาท้องถิ่นและโปรไฟล์อุปกรณ์และสถานะที่หลากหลายอย่างมีประสิทธิภาพ ตัวอย่างเช่น แอปพลิเคชันจะรวมชุดทรัพยากรแยกต่างหากสำหรับท้องถิ่นหรืออุปกรณ์แต่ละประเภทที่รองรับ และอาจรวมถึงทรัพยากรเค้าโครงที่เฉพาะเจาะจงสำหรับการวางแนวหน้าจอปัจจุบัน (แนวนอนหรือแนวตั้ง) สำหรับข้อมูลเพิ่มเติมเกี่ยวกับทรัพยากร โปรดดูที่ ทรัพยากรและสินทรัพย์ ทรัพยากรของแอปพลิเคชันจะถูกจัดเก็บไว้ในโฟลเดอร์ย่อย res/* ของโปรเจ็กต์เสมอ
บริการ
ออบเจ็กต์ของ Service คลาสที่ทำงานอยู่เบื้องหลัง (โดยไม่มี UI ใดๆ) เพื่อดำเนินการต่างๆ อย่างต่อเนื่อง เช่น การเล่นเพลงหรือการตรวจสอบกิจกรรมเครือข่าย

ที่เกี่ยวข้อง: กิจกรรม

URI ใน Android
Android ใช้สตริง URI (uniform resources identifier) ​​เป็นพื้นฐานในการขอข้อมูลในผู้ให้บริการเนื้อหา (เช่น เพื่อดึงรายชื่อผู้ติดต่อ) และสำหรับการร้องขอการดำเนินการใน Intent (เช่น การเปิดเว็บเพจในเบราว์เซอร์) แบบแผนและรูปแบบ URI มีความเชี่ยวชาญพิเศษตามประเภทการใช้งาน และแอปพลิเคชันสามารถจัดการรูปแบบและสตริง URI เฉพาะในลักษณะใดก็ได้ที่ต้องการ โครงร่าง URI บางอย่างถูกสงวนไว้โดยส่วนประกอบของระบบ ตัวอย่างเช่น คำขอข้อมูลจากผู้ให้บริการเนื้อหาต้องใช้ content:// ใน Intent เบราว์เซอร์จะจัดการ URI ที่ใช้รูปแบบ http://

สร้าง

อดีบี
Android Debug Bridge ซึ่งเป็นแอปพลิเคชันการแก้ไขจุดบกพร่องบรรทัดคำสั่งที่มาพร้อมกับ SDK มีเครื่องมือในการเรียกดูอุปกรณ์ คัดลอกเครื่องมือบนอุปกรณ์ และส่งต่อพอร์ตสำหรับการดีบัก หากคุณกำลังพัฒนาใน Android Studio adb จะถูกรวมเข้ากับสภาพแวดล้อมการพัฒนาของคุณ ดู Android Debug Bridge สำหรับข้อมูลเพิ่มเติม
โครงการหุ่นยนต์
พื้นที่เก็บข้อมูล Git บนโฮสต์ Android Gerrit ดู เครื่องมือควบคุมแหล่งที่มา > Gerrit สำหรับข้อมูลเพิ่มเติม
สร้างลายนิ้วมือ
ลายนิ้วมือของบิลด์เป็นสตริงที่ไม่ซ้ำกันและมนุษย์สามารถอ่านได้ ซึ่งมีข้อมูลของผู้ผลิตที่ออกให้กับแต่ละบิลด์ ดู การทำความเข้าใจการสร้างลายนิ้วมือ สำหรับข้อมูลเพิ่มเติม
คอมไพล์
เครื่องมือควบคุมแหล่งที่มาที่ Android ใช้งานซึ่งในอดีตเคยดำเนินการบนพื้นที่เก็บข้อมูล Git เดียว ใช้ร่วมกับ Repo สำหรับที่เก็บ Git หลายแห่ง ดู เครื่องมือควบคุมแหล่งที่มา > Git สำหรับข้อมูลเพิ่มเติม
สาขา Git - ตามบัญญัติ
เวอร์ชันที่แตกต่างกันสำหรับที่เก็บ Git แต่ละรายการ เช่น android-11.0.0_r1 พบได้ที่ cs.android.com/android/platform/superproject/+/android-11.0.0_r1 ดู Git Branching - สรุปสาขา สำหรับข้อมูลเพิ่มเติม
สาขา Git - ท้องถิ่น
สาขาชั่วคราวในไคลเอนต์ Repo ปัจจุบันเพื่อทำการเปลี่ยนแปลงรหัส เริ่มต้นด้วย repo start branch-name . สั่งการ. สายการพัฒนาที่กระตือรือร้น การคอมมิตครั้งล่าสุดในสาขาหนึ่งเรียกว่าส่วนปลายของสาขานั้น
พื้นที่เก็บข้อมูล Git
บางครั้งเรียกว่าโปรเจ็กต์ นี่คือส่วนหนึ่งของโค้ดเบสที่แสดงถึงส่วนประกอบหรือประเภทอุปกรณ์เฉพาะ เช่น frameworks/base หรือ platform/packages/apps/Car/Media
ไฟล์ Manifest
ไฟล์ XML ที่อธิบายการจัดกลุ่มที่เก็บ Git ต่อสาขา การแก้ไข Git ที่ใช้ในการตรวจสอบที่เก็บเหล่านั้น และเค้าโครงบนระบบไฟล์ ไฟล์ XML นี้ ซึ่งโดยทั่วไปจะชื่อว่า default.xml เชื่อมโยงกับสาขา Repo และอธิบายที่เก็บ Git และสาขา Git ที่เช็คเอาท์เมื่อคุณเริ่มต้นและซิงค์สาขา Repo ไฟล์นี้กำหนดที่เก็บ Git ต่างๆ ที่เครื่องมือ Repo ควรดึงข้อมูลไปยังการชำระเงินไคลเอ็นต์ Repo เพื่อสร้างผลิตภัณฑ์ (เช่น Android Automotive OS) ดูรายการทั้งหมดที่ android.googlesource.com/platform/manifest/+refs ดูรายการเริ่มต้นที่รวมอยู่ในไฟล์ AndroidManifest เพื่อดึงไฟล์แพลตฟอร์ม Android (AOSP) ได้ที่ android.googlesource.com/platform/manifest/+/refs/heads/main/default.xml ดู ไฟล์ AndroidManifest.xml สำหรับข้อมูลแอปและ รูปแบบ Repo Manifest สำหรับการพัฒนาแพลตฟอร์ม
การอัปเดตแบบ Over-the-air (OTA)
อุปกรณ์ Android ในภาคสนามสามารถรับและติดตั้งการอัปเดตแบบ over-the-air (OTA) ให้กับระบบ ซอฟต์แวร์แอปพลิเคชัน และกฎของโซนเวลาได้ ดู การอัปเดต OTA สำหรับข้อมูลเพิ่มเติม
ซื้อซ้ำ
wrapper รอบ Git เพื่อให้ดำเนินการกับที่เก็บ Git หลายแห่งได้ง่ายขึ้น โดยจะรวบรวมและจัดการที่เก็บ Git จำนวนมากในรูปแบบการชำระเงินแบบเอกพจน์หรือโค้ดเบส ดู เครื่องมือควบคุมแหล่งที่มา > Repo สำหรับข้อมูลเพิ่มเติม
สาขารีโป
คอลเลกชันของที่เก็บ Git ที่บันทึกในไฟล์ AndroidManifest ที่แสดงถึงเวอร์ชัน (บิลด์) ของโค้ดเบส Android เช่น android11-gsi หรือ aosp-android-games-sdk ดาวน์โหลดผ่านคำสั่ง repo init และ repo sync ดูคำอธิบาย ไฟล์ Manifest สำหรับลิงก์ไปยังไฟล์ Manifest ทั้งหมด และใช้ https://cs.android.com/ เพื่อค้นหาบิลด์
เพิ่มขึ้น
โดยทั่วไป uprev จะอัพเดตโปรเจ็กต์ย่อยที่เป็นส่วนประกอบของโปรเจ็กต์ที่ใหญ่กว่าให้เป็นเวอร์ชันที่ใหม่กว่า การอัพเดตจะเปลี่ยนระดับการแก้ไขเป็นเวอร์ชันที่เพิ่มขึ้นถัดไปหรือเป็นเวอร์ชันล่าสุดที่มีอยู่ ในกรณีของแพ็คเกจ HIDL เพื่อรักษา ความสามารถในการขยายความเข้ากันได้แบบย้อนหลังระดับแพ็คเกจ การอัพเดตเวอร์ชันรองจะอัปเดตแพ็คเกจใหม่เป็นเวอร์ชันรองที่สูงกว่าในขณะที่ยังคงชื่อและเวอร์ชันหลักเดียวกันกับแพ็คเกจเก่า ในกรณีของ การกำหนดค่า Bootloader การ อัพเดต uprev จะอัพเดตเวอร์ชันส่วนหัวการบูตที่รองรับเป็นเวอร์ชันล่าสุด

กราฟิก

ผ้าใบ
พื้นผิวรูปวาดที่จัดการการผสมบิตจริงกับบิตแมปหรือวัตถุ พื้นผิว มีวิธีการสำหรับการวาดภาพบิตแมป เส้น วงกลม สี่เหลี่ยม ข้อความ และอื่นๆ โดยใช้คอมพิวเตอร์มาตรฐาน และเชื่อมโยงกับบิตแมปหรือพื้นผิว Canvas เป็นวิธีที่ง่ายที่สุดและง่ายที่สุดในการวาดวัตถุ 2 มิติบนหน้าจอ คลาสพื้นฐานคือ Canvas

ที่เกี่ยวข้อง: Drawable , OpenGL ES , Surface .

วาดได้
ทรัพยากรภาพที่รวบรวมซึ่งสามารถใช้เป็นพื้นหลัง ชื่อเรื่อง หรือส่วนอื่น ๆ ของหน้าจอ โดยทั่วไปแล้ว Drawable จะถูกโหลดลงในองค์ประกอบ UI อื่น เช่น เป็นภาพพื้นหลัง Drawable ไม่สามารถรับเหตุการณ์ได้ แต่จะกำหนดคุณสมบัติอื่นๆ มากมาย เช่น "สถานะ" และการกำหนดเวลา เพื่อเปิดใช้งานคลาสย่อย เช่น ออบเจ็กต์แอนิเมชันหรือไลบรารีรูปภาพ วัตถุที่วาดได้จำนวนมากถูกโหลดจากไฟล์ทรัพยากรที่วาดได้ - ไฟล์ xml หรือบิตแมปที่อธิบายรูปภาพ ทรัพยากรที่ดึงออกมาได้จะถูกคอมไพล์เป็นคลาสย่อยของ android.graphics.drawable สำหรับข้อมูลเพิ่มเติมเกี่ยวกับสิ่งที่ถอนออกได้และทรัพยากรอื่นๆ โปรดดูที่ แหล่งข้อมูล

ที่เกี่ยวข้อง: ทรัพยากร , Canvas

ทรัพยากรเค้าโครง
ไฟล์ XML ที่อธิบายเค้าโครงของหน้าจอกิจกรรม

ที่เกี่ยวข้อง: ทรัพยากร

รูปภาพ Nine-patch / 9-patch / Ninepatch
ทรัพยากรบิตแมปที่ปรับขนาดได้ซึ่งสามารถใช้สำหรับพื้นหลังหรือรูปภาพอื่นๆ บนอุปกรณ์ ดู รูปภาพที่ยืดได้ Nine-Patch สำหรับข้อมูลเพิ่มเติม

ที่เกี่ยวข้อง: ทรัพยากร .

OpenGL ES
Android มีไลบรารี OpenGL ES สำหรับการเรนเดอร์ 3 มิติที่เร่งด้วยฮาร์ดแวร์ สำหรับการเรนเดอร์ 2D Canvas เป็นตัวเลือกที่ง่ายกว่า" OpenGL ES มีอยู่ใน Android Native Development Kit (NDK) เพื่อความสะดวกในการใช้งาน แพ็คเกจ android.opengl และ javax.microedition.khronos.opengles เปิดเผยฟังก์ชันการทำงานของ OpenGL ES

ที่เกี่ยวข้อง: ผ้าใบ , พื้นผิว

พื้นผิว
วัตถุประเภท Surface แทนบล็อกหน่วยความจำที่ถูกประกอบเข้ากับหน้าจอ Surface เก็บวัตถุ Canvas สำหรับการวาดภาพ และมีวิธีช่วยเหลือที่หลากหลายในการวาดเลเยอร์และปรับขนาดพื้นผิว คุณไม่ควรใช้คลาสนี้โดยตรง ใช้ SurfaceView แทน

ที่เกี่ยวข้อง: ผ้าใบ

SurfaceView
วัตถุมุมมองที่ล้อมรอบ Surface สำหรับการวาดภาพ และเปิดเผยวิธีการเพื่อระบุขนาดและรูปแบบแบบไดนามิก SurfaceView มอบวิธีการวาดโดยไม่ขึ้นอยู่กับเธรด UI สำหรับการดำเนินการที่ต้องใช้ทรัพยากรมาก (เช่น เกมหรือการแสดงตัวอย่างกล้อง) แต่ส่งผลให้ใช้หน่วยความจำเพิ่มเติม SurfaceView รองรับทั้งกราฟิก Canvas และ OpenGL ES คลาสพื้นฐานคือ SurfaceView

ที่เกี่ยวข้อง: พื้นผิว

ธีม
ชุดคุณสมบัติ (ขนาดข้อความ สีพื้นหลัง และอื่นๆ) รวมเข้าด้วยกันเพื่อกำหนดการตั้งค่าการแสดงผลเริ่มต้นต่างๆ Android มีธีมมาตรฐานอยู่สองสามธีม ซึ่งแสดงอยู่ใน R.style (เริ่มต้นด้วย "Theme_")
ดู
วัตถุที่วาดไปยังพื้นที่สี่เหลี่ยมบนหน้าจอ และจัดการการคลิก การกดแป้นพิมพ์ และเหตุการณ์การโต้ตอบอื่นๆ มุมมองเป็นคลาสพื้นฐานสำหรับองค์ประกอบโครงร่างส่วนใหญ่ของหน้าจอกิจกรรมหรือกล่องโต้ตอบ (กล่องข้อความ หน้าต่าง และอื่นๆ) มันรับสายจากวัตถุแม่ (ดู ViewGroup ) เพื่อวาดตัวเอง และแจ้งให้วัตถุแม่ทราบว่ามันต้องการใหญ่แค่ไหนและที่ไหน (ซึ่งอาจได้รับการเคารพจากผู้ปกครองหรือไม่ก็ได้) สำหรับข้อมูลเพิ่มเติม โปรดดู View

ที่เกี่ยวข้อง: ดูลำดับชั้น , ViewGroup , Widget

ดูลำดับชั้น
การจัดเรียงออบเจ็กต์ View และ ViewGroup ที่กำหนดอินเทอร์เฟซผู้ใช้สำหรับแต่ละองค์ประกอบของแอป ลำดับชั้นประกอบด้วยกลุ่มมุมมองที่มีมุมมองย่อยหรือกลุ่มมุมมองตั้งแต่หนึ่งรายการขึ้นไป คุณสามารถรับภาพการแสดงลำดับชั้นของมุมมองสำหรับการดีบักและการปรับให้เหมาะสมได้โดยใช้ โปรแกรมดูลำดับชั้น ที่มาพร้อมกับ Android SDK

ที่เกี่ยวข้อง: ดู , ViewGroup

วิวกรุ๊ป
วัตถุคอนเทนเนอร์ที่จัดกลุ่มชุดของมุมมองลูก กลุ่มมุมมองมีหน้าที่รับผิดชอบในการตัดสินใจว่าจะจัดวางมุมมองของเด็กไว้ที่ใดและจะใหญ่แค่ไหน รวมถึงการเรียกร้องให้แต่ละมุมมองดึงตัวเองออกมาเมื่อเหมาะสม กลุ่มมุมมองบางกลุ่มจะมองไม่เห็นและมีไว้สำหรับเค้าโครงเท่านั้น ในขณะที่กลุ่มอื่นๆ มี UI ภายใน (เช่น กล่องรายการแบบเลื่อน) กลุ่มมุมมองทั้งหมดอยู่ในแพ็คเกจ widget แต่ขยาย ViewGroup

ที่เกี่ยวข้อง: ดู , ดูลำดับชั้น

วิดเจ็ต
หนึ่งในชุดของคลาสย่อย View ที่ใช้งานเต็มรูปแบบซึ่งแสดงองค์ประกอบแบบฟอร์มและส่วนประกอบ UI อื่นๆ เช่น กล่องข้อความหรือเมนูป๊อปอัป เนื่องจากวิดเจ็ตได้รับการติดตั้งใช้งานอย่างสมบูรณ์ จึงสามารถจัดการการวัดและการวาดตัวเอง และการตอบสนองต่อเหตุการณ์บนหน้าจอ วิดเจ็ตทั้งหมดอยู่ในแพ็คเกจ android.widget
หน้าต่าง
ในแอปพลิเคชัน Android หมายถึงออบเจ็กต์ที่ได้มาจาก Window คลาสนามธรรมที่ระบุองค์ประกอบของหน้าต่างทั่วไป เช่น รูปลักษณ์ (ข้อความในแถบชื่อเรื่อง ตำแหน่งและเนื้อหาของเมนู เป็นต้น) กล่องโต้ตอบและกิจกรรมใช้การดำเนินการของคลาสนี้เพื่อแสดงหน้าต่าง คุณไม่จำเป็นต้องใช้คลาสนี้หรือใช้ windows ในแอปพลิเคชันของคุณ

แพลตฟอร์ม

รันไทม์ Android (ART) และ Dalvik
รันไทม์ของ Android (ART) คือรันไทม์ที่มีการจัดการซึ่งใช้โดยแอปพลิเคชันและบริการระบบบางอย่างบน Android รันไทม์ของ Android (ART) คือรันไทม์เริ่มต้นสำหรับอุปกรณ์ที่ใช้ Android 5.0 (API ระดับ 21) ขึ้นไป ART และ Dalvik รุ่นก่อนนั้นถูกสร้างขึ้นโดยเฉพาะสำหรับโครงการ Android Open Source ART เป็นรันไทม์ดำเนินการรูปแบบ Dalvik Executable และข้อกำหนด Dex bytecode ART และ Dalvik เป็นรันไทม์ที่เข้ากันได้ซึ่งใช้ Dex bytecode ดังนั้นแอปที่พัฒนาขึ้นสำหรับ Dalvik ควรทำงานได้เมื่อใช้งานด้วย ART
โคเดไลน์
โคเดไลน์ประกอบด้วยการเปิดตัวผลิตภัณฑ์ซอฟต์แวร์ ประกอบด้วยหนึ่งสาขาขึ้นไปจากที่เก็บข้อมูลหนึ่งแห่งขึ้นไป ซึ่งทั้งหมดมักจะอยู่ภายใต้การพัฒนาอย่างแข็งขันในคราวเดียว โคเดไลน์เป็นจุดรวมและเป้าหมายสำหรับการเปิดตัว สำหรับข้อมูลเพิ่มเติมเกี่ยวกับโค้ดไลน์ โปรดดูที่ การจัดการซอฟต์แวร์ Android
ไฟล์ .dex
ไฟล์โค้ดแอปพลิเคชัน Android ที่คอมไพล์แล้ว

โปรแกรม Android จะถูกรวบรวมเป็นไฟล์ .dex (Dalvik Executable) ซึ่งจะบีบอัดเป็นไฟล์ .apk ไฟล์เดียวบนอุปกรณ์ ไฟล์ .dex สามารถสร้างได้โดยการแปลแอปพลิเคชันที่คอมไพล์แล้วที่เขียนด้วยภาษาโปรแกรม Java โดยอัตโนมัติ

ทดสอบ

สิ่งประดิษฐ์
อาร์ติแฟกต์เป็นบันทึกที่เกี่ยวข้องกับบิวด์ที่ทำให้สามารถแก้ไขปัญหาในเครื่องได้ บันทึกเหล่านี้สามารถเข้าถึงได้โดยตรงจาก Gerrit เมื่อดูรายการการเปลี่ยนแปลงของคุณ เลื่อนลงไปที่ สถานะส่งล่วงหน้า แล้วคลิกลิงก์ สร้าง สีแดงเพื่อดูหรือดาวน์โหลดไฟล์ build_error.log ที่เกี่ยวข้อง คุณยังสามารถรับสิ่งประดิษฐ์เหล่านี้ได้จากเซิร์ฟเวอร์การรวมอย่างต่อเนื่องของ Android ส่วนกลางที่ ci.android.com/ โดยการคลิกไอคอนดาวน์โหลด (ลูกศรลง) สำหรับเป้าหมายและบิลด์ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีค้นหาอาร์ติแฟกต์ โปรดดูที่ การผสานรวมอย่างต่อเนื่องของ Android
ซีดีดี
เอกสารคำจำกัดความความเข้ากันได้ของ Android (CDD) ระบุข้อกำหนดที่ต้องปฏิบัติตามเพื่อให้อุปกรณ์ของคุณเข้ากันได้กับ Android เวอร์ชันล่าสุด เพื่อให้ถือว่าเข้ากันได้กับ Android การใช้งานอุปกรณ์จะต้องเป็นไปตามข้อกำหนดที่แสดงในคำจำกัดความความเข้ากันได้นี้ รวมถึงเอกสารใด ๆ ที่รวมไว้โดยการอ้างอิง สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ CDD โปรดดู เอกสารข้อกำหนดความเข้ากันได้ของ Android
ซีทีเอส
ชุดทดสอบความเข้ากันได้ (CTS) เป็นชุดทดสอบสำหรับรับรองความถูกต้องของ API และข้อกำหนดเฉพาะที่วางอยู่ใน CDD มีให้ใช้งานในรูปแบบซอร์สภายใน AOSP และสำหรับการดาวน์โหลดในรูปแบบไบนารี สำหรับข้อมูลเพิ่มเติม โปรดดูที่ ชุดทดสอบความเข้ากันได้
เครื่องตรวจสอบ CTS
ตัวตรวจสอบชุดทดสอบความเข้ากันได้ (CTS Verifier) ​​เป็นส่วนเสริมของ CTS CTS Verifier มีการทดสอบ API และฟังก์ชันที่ไม่สามารถทดสอบบนอุปกรณ์ที่อยู่กับที่โดยไม่มีการป้อนข้อมูลด้วยตนเอง (เช่น คุณภาพเสียง มาตรวัดความเร่ง ฯลฯ) สำหรับข้อมูลเพิ่มเติม โปรดดูที่ การใช้ CTS Verifier
การดีบัก
การแก้ไขข้อบกพร่องจำเป็นต้องค้นหาและแก้ไขข้อผิดพลาดในโค้ดแพลตฟอร์ม Android ไม่ว่าจะในฟีเจอร์หรือการทดสอบ สำหรับข้อมูลเพิ่มเติม โปรดดู การดีบักโค้ดแพลตฟอร์ม Android แบบเนทีฟ
GoogleTest (จีเทส)
Gtest คือเฟรมเวิร์กการทดสอบและการเยาะเย้ย C++ ของ Google โดยทั่วไปแล้วไบนารีของ Gtest จะเข้าถึงเลเยอร์นามธรรมระดับล่างหรือดำเนินการ IPC แบบดิบกับบริการของระบบต่างๆ ด้วยเหตุนี้ วิธีการทดสอบสำหรับ Gtest มักจะควบคู่ไปกับบริการที่กำลังทดสอบอย่างแน่นหนา ค้นหารหัสได้ที่ github.com/google/googletest และเอกสารประกอบที่ google.github.io/googletest
การทดสอบเครื่องมือวัด
การทดสอบเครื่องมือวัดจัดเตรียมสภาพแวดล้อมการดำเนินการทดสอบพิเศษตามที่เรียกใช้โดยคำสั่ง am instrument โดยที่กระบวนการแอปพลิเคชันเป้าหมายจะถูกรีสตาร์ทและเริ่มต้นด้วยบริบทแอปพลิเคชันพื้นฐาน และเธรดเครื่องมือวัดจะเริ่มต้นภายในเครื่องเสมือนกระบวนการแอปพลิเคชัน สำหรับข้อมูลเพิ่มเติม โปรดดูที่ การทดสอบเครื่องมือวัด
ล็อกแคท
Logcat เป็นเครื่องมือบรรทัดคำสั่งที่ทิ้งบันทึกข้อความระบบ รวมถึงการติดตามสแต็กเมื่ออุปกรณ์ส่งข้อผิดพลาดและข้อความที่คุณเขียนจากแอปของคุณด้วยคลาส Log สำหรับข้อมูลเพิ่มเติม โปรดดู เครื่องมือบรรทัดคำสั่ง Logcat
การบันทึก
การเข้าสู่ระบบ Android มีความซับซ้อนเนื่องจากมีการผสมผสานมาตรฐานที่รวมอยู่ใน logcat สำหรับรายละเอียดเกี่ยวกับมาตรฐานหลักที่ใช้ โปรดดู การทำความเข้าใจการบันทึก
ผสานความขัดแย้ง
ข้อขัดแย้งในการผสานเกิดขึ้นเมื่อไฟล์เดียวกันตั้งแต่สองเวอร์ชันขึ้นไปไม่สามารถรวมเข้าด้วยกันโดยอัตโนมัติโดยเซิร์ฟเวอร์บิลด์ของ Android โดยปกติแล้วจะต้องมีการแก้ไขไฟล์ด้วยตนเองเพื่อแก้ไขการอัปเดตที่ขัดแย้งกันทั้งหมด
การทดสอบก่อนส่งและหลังส่ง
การทดสอบก่อนส่งจะใช้เพื่อป้องกันไม่ให้เกิดความล้มเหลวในเคอร์เนลทั่วไป ผลลัพธ์ยังไม่เปิดเผยต่อสาธารณะในขณะนี้

การทดสอบภายหลังการส่งของ Android จะดำเนินการเมื่อมีการส่งแพตช์ใหม่ให้กับสาขาเคอร์เนลทั่วไป เมื่อป้อน aosp_kernel เป็นชื่อสาขาบางส่วน คุณจะสามารถดูรายการสาขาเคอร์เนลพร้อมผลลัพธ์ได้ ตัวอย่างเช่น ผลลัพธ์สำหรับ `android-mainline` สามารถพบได้ ที่นี่
ซื้อขายแล้ว
ชุดทดสอบของสหพันธ์การค้า (Tradefed หรือเรียกสั้น ๆ ว่า TF) เป็นกรอบการทดสอบต่อเนื่องที่ออกแบบมาสำหรับการรันการทดสอบบนอุปกรณ์ Android ตัวอย่างเช่น Tradefed ใช้เพื่อเรียกใช้ CTS และ VTS สำหรับข้อมูลเพิ่มเติม โปรดดู ภาพรวมของสหพันธ์การค้า
วีทีเอส
ชุดทดสอบผู้จำหน่าย Android (VTS) มีฟังก์ชันการทำงานที่ครอบคลุมสำหรับการทดสอบ Android ส่งเสริมกระบวนการพัฒนาที่ขับเคลื่อนด้วยการทดสอบ และทำให้การทดสอบเคอร์เนล HAL และ OS เป็นแบบอัตโนมัติ สำหรับข้อมูลเพิ่มเติม โปรดดู Vendor Test Suite (VTS) และ Infrastructure