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

ดูรายการด้านล่างเพื่อเรียนรู้คำศัพท์พื้นฐานของโครงการโอเพนซอร์ส Android (AOSP) แหล่งข้อมูลอื่นๆ สำหรับคำจำกัดความของคำศัพท์สำคัญมีดังนี้

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

แอป

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

เกี่ยวข้อง: app

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

เกี่ยวข้อง: intent

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

เกี่ยวข้อง: ไฟล์ APK (.apk), กิจกรรม

Broadcast Receiver
ออบเจ็กต์ที่อิงตามคลาส BroadcastReceiver ซึ่งรอรับ Intent ที่ออกอากาศ แทนที่จะส่งไปยังแอปหรือกิจกรรมเป้าหมายเดียว ระบบ จะส่ง Intent การออกอากาศไปยังเครื่องรับการออกอากาศทั้งหมดที่สนใจ ซึ่ง จะจัดการ Intent ตามลำดับ

ที่เกี่ยวข้อง: intent, intent filter

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

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

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

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

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

ที่เกี่ยวข้อง: ตัวกรอง Intent, Broadcast Receiver

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

ที่เกี่ยวข้อง: Intent, Broadcast Receiver

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

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

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

สร้าง

adb
Android Debug Bridge ซึ่งเป็นแอปแก้ไขข้อบกพร่องบรรทัดคำสั่งที่รวมอยู่ใน SDK adb มีเครื่องมือสำหรับเรียกดูอุปกรณ์ คัดลอกเครื่องมือในอุปกรณ์ และ ส่งต่อพอร์ตเพื่อแก้ไขข้อบกพร่อง หากคุณพัฒนาแอปใน Android Studio adb จะผสานรวมอยู่ในสภาพแวดล้อมในการพัฒนา ตัวย่อจะเขียนเป็นตัวพิมพ์เล็กทั้งหมด ในข้อความธรรมดา เมื่ออ้างอิงถึงคำสั่งโดยเฉพาะ จะเขียนเป็น adb ดูข้อมูลเพิ่มเติมได้ที่ยืนยันว่าคุณมี fastboot และ adb
โปรเจ็กต์ Android
ที่เก็บ Git ในโฮสต์ Gerrit ของ Android ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงานของ Git ได้ที่ โปรแกรมแก้ไขแหล่งที่มาของ Git

เกี่ยวข้อง: ที่เก็บ Git

รหัสเฉพาะของบิวด์
สตริงที่ไม่ซ้ำกันซึ่งมนุษย์อ่านได้ซึ่งมีข้อมูลผู้ผลิตที่ออกให้แต่ละบิลด์ ดูข้อมูลเพิ่มเติมได้ที่สร้างแพ็กเกจ OTA
Git branch - canonical
เวอร์ชันที่แตกต่างกันสำหรับที่เก็บ Git แต่ละรายการ เช่น android-11.0.0_r1 ซึ่งอยู่ที่ cs.android.com/android/platform/superproject/+/android-11.0.0_r1 ดูข้อมูลเพิ่มเติมได้ที่ Git Branching - Branches in a Nutshell
Git branch - local
สาขาชั่วคราวในไคลเอ็นต์ Repo ปัจจุบันเพื่อทำการเปลี่ยนแปลงโค้ด โดยเริ่มต้นด้วยคำสั่ง repo start branch-name . ซึ่งเป็นแนวทางการพัฒนาที่ใช้งานอยู่ คอมมิตล่าสุดในสาขาเรียกว่าทิปของสาขานั้น
ที่เก็บ Git
บางครั้งเรียกว่าโปรเจ็กต์ ซึ่งเป็นส่วนหนึ่งของโค้ดเบสที่แสดงถึงคอมโพเนนต์หรือประเภทอุปกรณ์หนึ่งๆ เช่น frameworks/base หรือ platform/packages/apps/Car/Media

ที่เกี่ยวข้อง: โปรเจ็กต์ Android

ไฟล์ Manifest
ไฟล์ XML ที่อธิบายการจัดกลุ่มที่เก็บ Git ต่อสาขา, การแก้ไข Git ที่ จะเช็คเอาต์ที่เก็บเหล่านั้น และเลย์เอาต์ของที่เก็บในระบบไฟล์ ไฟล์ XML นี้ ซึ่งโดยปกติจะมีชื่อว่า default.xml จะเชื่อมโยงกับสาขา Repo และอธิบาย ที่เก็บ Git และสาขา Git ที่เช็คเอาต์เมื่อคุณเริ่มต้นและซิงค์สาขา Repo ไฟล์นี้กำหนดที่เก็บ Git ต่างๆ ที่เครื่องมือ Repo ควรดึงข้อมูลลงในไคลเอ็นต์ Repo เพื่อสร้างผลิตภัณฑ์ (เช่น Android Automotive OS) ดูไฟล์ Manifest ทั้งหมดได้ที่ android.googlesource.com/platform/manifest/+refs ดู Manifest เริ่มต้น ที่รวมอยู่ในไฟล์ Manifest เพื่อดึงไฟล์แพลตฟอร์ม Android (AOSP) ที่ android.googlesource.com/platform/manifest/+/refs/heads/android16-release/default.xml ดูข้อมูลแอปได้ที่ ภาพรวมของ ไฟล์ Manifest ของแอป และดูการพัฒนาแพลตฟอร์มได้ที่ รูปแบบไฟล์ Manifest ของที่เก็บ
การอัปเดตผ่านอากาศ (OTA)
อุปกรณ์ Android ในภาคสนามจะรับและติดตั้งการอัปเดตผ่านอากาศ (OTA) ใน ระบบ ซอฟต์แวร์แอป และกฎเขตเวลาได้ ดูข้อมูลเพิ่มเติมได้ที่ การอัปเดต OTA
สาขาของที่เก็บ
คอลเล็กชันของที่เก็บ Git ที่บันทึกไว้ในไฟล์ manifest ซึ่งแสดงถึงเวอร์ชัน (บิลด์) ของโค้ดเบส Android เช่น android11-gsi หรือ aosp-android-games-sdk ที่ดาวน์โหลดด้วยคำสั่ง repo init และ repo sync ดูคำอธิบายไฟล์ Manifest สำหรับลิงก์ไปยังไฟล์ Manifest ทั้งหมด และใช้การค้นหารหัส Android เพื่อค้นหา บิลด์
uprev
โดยทั่วไปแล้ว uprev จะอัปเดตโปรเจ็กต์ย่อยที่เป็นส่วนประกอบของโปรเจ็กต์ขนาดใหญ่ให้เป็นเวอร์ชันใหม่กว่า การอัปเดตจะเปลี่ยนระดับการแก้ไขเป็นเวอร์ชันที่เพิ่มขึ้นถัดไปหรือเป็นเวอร์ชันล่าสุด ที่พร้อมใช้งาน ในกรณีของแพ็กเกจ HIDL การอัปเดตเวอร์ชันย่อยจะอัปเดตแพ็กเกจใหม่เป็นเวอร์ชันย่อยที่สูงขึ้นในขณะที่ยังคงใช้ชื่อและเวอร์ชันหลักเดียวกันกับแพ็กเกจเก่า เพื่อรักษาความสามารถในการขยายระดับแพ็กเกจที่เข้ากันได้แบบย้อนหลัง ในกรณีของ Bootloader configuration การอัปเดตจะอัปเดตการรองรับเวอร์ชันส่วนหัวของ Boot เป็นเวอร์ชันล่าสุด

แพลตฟอร์ม

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