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

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

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

แอป

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

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

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

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

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

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

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

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

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

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

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

ที่เกี่ยวข้อง: activity

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

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

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

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

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

ที่เกี่ยวข้อง: activity

URI ใน Android
Android ใช้สตริงตัวระบุแหล่งข้อมูลแบบรวม (URI) เป็นพื้นฐานในการขอข้อมูลในผู้ให้บริการเนื้อหา (เช่น เพื่อดึงข้อมูลรายชื่อติดต่อ) และเพื่อขอการดำเนินการใน 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 การแยกสาขา - ข้อมูลสรุปเกี่ยวกับสาขา
สาขา Git - ในพื้นที่
สาขาชั่วคราวในไคลเอ็นต์ที่เก็บปัจจุบันสำหรับเปลี่ยนแปลงโค้ด โดยเริ่มต้นด้วยคำสั่ง 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) ดูไฟล์ Manifest ทั้งหมดได้ที่ android.googlesource.com/platform/manifest/+refs ดูไฟล์ Manifest เริ่มต้นที่รวมอยู่ในไฟล์ Manifest เพื่อดึงไฟล์แพลตฟอร์ม Android (AOSP) ที่ android.googlesource.com/platform/manifest/+/refs/heads/main/default.xml ดูภาพรวมของไฟล์ Manifest สําหรับข้อมูลแอป และรูปแบบไฟล์ Manifest สําหรับการพัฒนาแพลตฟอร์ม
การอัปเดตผ่านอากาศ (OTA)
อุปกรณ์ Android ที่ใช้อยู่สามารถรับและติดตั้งการอัปเดตระบบ ซอฟต์แวร์แอป และกฎเขตเวลาผ่านอากาศ (OTA) ดูข้อมูลเพิ่มเติมได้ในการอัปเดต OTA
Branch ของ repo
คอลเล็กชันของที่เก็บ Git ที่บันทึกไว้ในไฟล์ไฟล์ Manifest ที่แสดงถึงเวอร์ชัน (บิลด์) ของ Codebase ของ Android เช่น android11-gsi หรือ aosp-android-games-sdk ที่ดาวน์โหลดด้วยคำสั่ง repo init และ repo sync ดูคำอธิบายไฟล์ Manifest สำหรับลิงก์ไปยังไฟล์ Manifest ทั้งหมดและใช้ Android Code Search เพื่อค้นหาบิลด์
uprev
โดยทั่วไปแล้ว uprev จะอัปเดตโปรเจ็กต์ย่อยที่เป็นส่วนประกอบของโปรเจ็กต์ขนาดใหญ่เป็นเวอร์ชันใหม่ การอัปเกรดจะเปลี่ยนระดับการแก้ไขเป็นเวอร์ชันที่เพิ่มขึ้นถัดไปหรือเวอร์ชันล่าสุดที่มี ในกรณีของแพ็กเกจ HIDL เพื่อคงความสามารถในการขยายการใช้งานที่เข้ากันแบบย้อนหลังได้ระดับแพ็กเกจ Uprev เวอร์ชันย่อยจะอัปเดตแพ็กเกจใหม่เป็นเวอร์ชันย่อยที่สูงขึ้นโดยยังคงใช้ชื่อและเวอร์ชันหลักเดิมเหมือนแพ็กเกจเก่า ในกรณีของการกำหนดค่าบูตโหลดเดอร์ uprev จะอัปเดตการรองรับเวอร์ชันส่วนหัวของบูตเป็นเวอร์ชันล่าสุด

แพลตฟอร์ม

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