Android - สถาปัตยกรรม
ระบบปฏิบัติการ Android เป็นชุดของส่วนประกอบซอฟต์แวร์ซึ่งแบ่งออกเป็น 5 ส่วนคร่าวๆและ 4 เลเยอร์หลักดังที่แสดงด้านล่างในแผนภาพสถาปัตยกรรม
เคอร์เนลลินุกซ์
ที่ด้านล่างของเลเยอร์คือ Linux - Linux 3.6 พร้อมด้วยแพตช์ 115 ประมาณ สิ่งนี้ให้ระดับของนามธรรมระหว่างฮาร์ดแวร์ของอุปกรณ์และประกอบด้วยไดรเวอร์ฮาร์ดแวร์ที่จำเป็นทั้งหมดเช่นกล้องปุ่มกดจอแสดงผล ฯลฯ นอกจากนี้เคอร์เนลยังจัดการทุกสิ่งที่ Linux ทำได้ดีมากเช่นระบบเครือข่ายและไดรเวอร์อุปกรณ์มากมาย ซึ่งช่วยลดความเจ็บปวดจากการเชื่อมต่อกับฮาร์ดแวร์อุปกรณ์ต่อพ่วง
ห้องสมุด
ด้านบนของเคอร์เนล Linux มีชุดของไลบรารีรวมถึง WebKit เอ็นจิ้นเว็บเบราว์เซอร์แบบโอเพนซอร์ส WebKit ไลบรารีที่รู้จักกันดีฐานข้อมูล SQLite ซึ่งเป็นที่เก็บที่มีประโยชน์สำหรับการจัดเก็บและแบ่งปันข้อมูลแอปพลิเคชันไลบรารีสำหรับเล่นและบันทึกเสียงและวิดีโอ ห้องสมุดที่รับผิดชอบด้านความปลอดภัยอินเทอร์เน็ตเป็นต้น
ไลบรารี Android
หมวดหมู่นี้ครอบคลุมไลบรารีที่ใช้ Java ซึ่งเฉพาะสำหรับการพัฒนา Android ตัวอย่างของไลบรารีในหมวดหมู่นี้ ได้แก่ ไลบรารีเฟรมเวิร์กของแอปพลิเคชันนอกเหนือจากไลบรารีที่อำนวยความสะดวกในการสร้างส่วนติดต่อผู้ใช้การวาดภาพกราฟิกและการเข้าถึงฐานข้อมูล สรุปไลบรารีหลักของ Android ที่มีให้สำหรับนักพัฒนา Android มีดังนี้ -
android.app - ให้การเข้าถึงรูปแบบแอปพลิเคชันและเป็นรากฐานที่สำคัญของแอปพลิเคชัน Android ทั้งหมด
android.content - อำนวยความสะดวกในการเข้าถึงเนื้อหาการเผยแพร่และการส่งข้อความระหว่างแอปพลิเคชันและส่วนประกอบของแอปพลิเคชัน
android.database - ใช้เพื่อเข้าถึงข้อมูลที่เผยแพร่โดยผู้ให้บริการเนื้อหาและรวมถึงคลาสการจัดการฐานข้อมูล SQLite
android.opengl - อินเทอร์เฟซ Java กับ API การเรนเดอร์กราฟิก OpenGL ES 3D
android.os - จัดเตรียมแอปพลิเคชันที่สามารถเข้าถึงบริการระบบปฏิบัติการมาตรฐานรวมถึงข้อความบริการระบบและการสื่อสารระหว่างกระบวนการ
android.text - ใช้ในการแสดงผลและจัดการข้อความบนหน้าจออุปกรณ์
android.view - โครงสร้างพื้นฐานของส่วนต่อประสานผู้ใช้แอปพลิเคชัน
android.widget - ชุดส่วนประกอบอินเทอร์เฟซผู้ใช้ที่สร้างไว้ล่วงหน้ามากมายเช่นปุ่มป้ายกำกับมุมมองรายการตัวจัดการเค้าโครงปุ่มตัวเลือก ฯลฯ
android.webkit - ชุดชั้นเรียนที่มีจุดมุ่งหมายเพื่อให้สามารถสร้างความสามารถในการท่องเว็บในแอปพลิเคชัน
เมื่อครอบคลุมไลบรารีหลักที่ใช้ Java ในรันไทม์ของ Android แล้วตอนนี้ถึงเวลาที่เราจะหันมาสนใจไลบรารีที่ใช้ C / C ++ ที่อยู่ในเลเยอร์ของซอฟต์แวร์ Android นี้
รันไทม์ของ Android
นี่คือส่วนที่สามของสถาปัตยกรรมและมีอยู่ในเลเยอร์ที่สองจากด้านล่าง ส่วนนี้มีส่วนประกอบหลักที่เรียกว่าDalvik Virtual Machine ซึ่งเป็น Java Virtual Machine ชนิดหนึ่งที่ออกแบบและปรับแต่งมาสำหรับ Android โดยเฉพาะ
Dalvik VM ใช้ประโยชน์จากคุณสมบัติหลักของ Linux เช่นการจัดการหน่วยความจำและมัลติเธรดซึ่งเป็นภาษา Java Dalvik VM ช่วยให้แอปพลิเคชัน Android ทุกตัวทำงานในกระบวนการของตัวเองด้วยอินสแตนซ์ของเครื่องเสมือน Dalvik
รันไทม์ของ Android ยังมีชุดของไลบรารีหลักซึ่งช่วยให้นักพัฒนาแอปพลิเคชัน Android สามารถเขียนแอปพลิเคชัน Android โดยใช้ภาษาโปรแกรม Java มาตรฐาน
กรอบการใช้งาน
เลเยอร์ Application Framework ให้บริการระดับสูงขึ้นมากมายสำหรับแอ็พพลิเคชันในรูปแบบของคลาส Java นักพัฒนาแอปพลิเคชันได้รับอนุญาตให้ใช้บริการเหล่านี้ในแอปพลิเคชันของตน
เฟรมเวิร์กของ Android ประกอบด้วยบริการหลักดังต่อไปนี้ -
Activity Manager - ควบคุมทุกด้านของวงจรชีวิตของแอปพลิเคชันและกองกิจกรรม
Content Providers - อนุญาตให้แอปพลิเคชันเผยแพร่และแบ่งปันข้อมูลกับแอปพลิเคชันอื่น ๆ
Resource Manager - ให้การเข้าถึงทรัพยากรที่ไม่ได้ฝังโค้ดเช่นสตริงการตั้งค่าสีและรูปแบบส่วนต่อประสานผู้ใช้
Notifications Manager - อนุญาตให้แอปพลิเคชันแสดงการแจ้งเตือนและการแจ้งเตือนแก่ผู้ใช้
View System - ชุดมุมมองที่ขยายได้ที่ใช้ในการสร้างส่วนต่อประสานผู้ใช้ของแอปพลิเคชัน
การใช้งาน
คุณจะพบแอปพลิเคชัน Android ทั้งหมดที่ชั้นบนสุด คุณจะเขียนแอปพลิเคชันของคุณเพื่อติดตั้งบนเลเยอร์นี้เท่านั้น ตัวอย่างแอปพลิเคชันดังกล่าว ได้แก่ สมุดติดต่อเบราว์เซอร์เกมเป็นต้น