อภิธานศัพท์แพลตฟอร์ม 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 สำหรับข้อมูลเพิ่มเติม
สร้างลายนิ้วมือ
ลายนิ้วมือของบิลด์เป็นสตริงที่ไม่ซ้ำกันและมนุษย์สามารถอ่านได้ ซึ่งมีข้อมูลของผู้ผลิตที่ออกให้กับแต่ละบิลด์ ดู การทำความเข้าใจการสร้างลายนิ้วมือ สำหรับข้อมูลเพิ่มเติม
สาขา 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 สำหรับข้อมูลเพิ่มเติม
สาขารีโป
คอลเลกชันของที่เก็บ Git ที่บันทึกในไฟล์ AndroidManifest ที่แสดงถึงเวอร์ชัน (บิลด์) ของโค้ดเบส Android เช่น android11-gsi หรือ aosp-android-games-sdk ดาวน์โหลดผ่านคำสั่ง repo init และ repo sync ดูคำอธิบาย ไฟล์ Manifest สำหรับลิงก์ไปยังไฟล์ Manifest ทั้งหมด และใช้ https://cs.android.com/ เพื่อค้นหาบิลด์
เพิ่มขึ้น
โดยทั่วไป uprev จะอัพเดตโปรเจ็กต์ย่อยที่เป็นส่วนประกอบของโปรเจ็กต์ที่ใหญ่กว่าให้เป็นเวอร์ชันที่ใหม่กว่า การอัพเดตจะเปลี่ยนระดับการแก้ไขเป็นเวอร์ชันที่เพิ่มขึ้นถัดไปหรือเป็นเวอร์ชันล่าสุดที่มีอยู่ ในกรณีของแพ็คเกจ HIDL เพื่อรักษา ความสามารถในการขยายความเข้ากันได้แบบย้อนหลังระดับแพ็คเกจ การอัพเดตเวอร์ชันรองจะอัปเดตแพ็คเกจใหม่เป็นเวอร์ชันรองที่สูงกว่าในขณะที่ยังคงชื่อและเวอร์ชันหลักเดียวกันกับแพ็คเกจเก่า ในกรณีของ การกำหนดค่า Bootloader การ อัพเดต uprev จะอัพเดตเวอร์ชันส่วนหัวการบูตที่รองรับเป็นเวอร์ชันล่าสุด

แพลตฟอร์ม

รันไทม์ 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 โดยอัตโนมัติ