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

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

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

แอป

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

เกี่ยวข้อง: แอป

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

บิลด์

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

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

รหัสเฉพาะของบิวด์
สตริงที่มนุษย์อ่านได้ซึ่งไม่ซ้ำกันและมีข้อมูลผู้ผลิตที่ออกให้สำหรับบิวด์แต่ละรายการ ดูข้อมูลเพิ่มเติมได้ที่สร้างแพ็กเกจ OTA
สาขา Git - Canonical
เวอร์ชันที่แตกต่างกันสำหรับที่เก็บ Git แต่ละรายการ เช่น android-11.0.0_r1 ซึ่งอยู่ที่ cs.android.com/android/platform/superproject/+/android-11.0.0_r1 ดูข้อมูลเพิ่มเติมได้ที่ Git การแยกสาขา - สาขาโดยย่อ
สาขา Git - Local
สาขาชั่วคราวในไคลเอ็นต์ Repo ปัจจุบันเพื่อทำการเปลี่ยนแปลงโค้ด โดยเริ่มต้นด้วย repo start branch-name . คำสั่ง ซึ่งเป็นบรรทัดการพัฒนาที่ใช้งานอยู่ คอมมิตล่าสุดในสาขาเรียกว่า Tip ของสาขานั้น
ที่เก็บ 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/android17-release/default.xml ดูข้อมูลแอปได้ที่ ภาพรวม Manifest ของแอป และดูการพัฒนาแพลตฟอร์มได้ที่ รูปแบบ Manifest ของ Repo
การอัปเดตผ่านอากาศ (OTA)
อุปกรณ์ Android ที่ใช้งานจริงสามารถรับและติดตั้งการอัปเดตระบบปฏิบัติการผ่านอากาศ (OTA) สำหรับ ระบบ ซอฟต์แวร์แอป และกฎเขตเวลา ดูข้อมูลเพิ่มเติมได้ที่ การอัปเดต OTA
สาขา Repo
คอลเล็กชันที่เก็บ Git ที่บันทึกไว้ในไฟล์ Manifest ซึ่งแสดงถึงเวอร์ชัน (บิวด์) ของฐานของโค้ด Android เช่น android11-gsi หรือ aosp-android-games-sdk ซึ่งดาวน์โหลดด้วยคำสั่ง repo init และ repo sync ดูลิงก์ไปยังไฟล์ Manifest ทั้งหมดได้ที่คำอธิบายไฟล์ Manifest และใช้การค้นหาโค้ด Android เพื่อค้นหาบิวด์ของไฟล์เหล่านั้น
uprev
โดยทั่วไปแล้ว uprev จะอัปเดตโปรเจ็กต์ย่อยที่เป็นส่วนประกอบของโปรเจ็กต์ขนาดใหญ่ให้เป็นเวอร์ชันใหม่กว่า uprev จะเปลี่ยนระดับการแก้ไขเป็นเวอร์ชันที่เพิ่มขึ้นถัดไปหรือเป็นเวอร์ชันล่าสุดที่พร้อมใช้งาน ในกรณีของแพ็กเกจ HIDL เพื่อรักษาความสามารถในการขยายที่เข้ากันได้แบบย้อนหลังในระดับแพ็กเกจ การอัปเดตเวอร์ชันย่อยจะอัปเดตแพ็กเกจใหม่เป็นเวอร์ชันย่อยที่สูงขึ้น โดยยังคงชื่อและเวอร์ชันหลักเหมือนกับแพ็กเกจเก่า ในกรณีของการ Bootloader การกำหนดค่า, การอัปเดตเวอร์ชันย่อยจะอัปเดตการรองรับเวอร์ชันส่วนหัวของ Boot เป็นเวอร์ชันล่าสุด

แพลตฟอร์ม

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