معماری پلتفرم,معماری پلتفرم,معماری پلتفرم,معماری پلتفرم

اندروید یک پشته نرم افزاری منبع باز مبتنی بر لینوکس است که برای طیف وسیعی از دستگاه ها و عوامل شکل ایجاد شده است. شکل 1 اجزای اصلی پلتفرم اندروید را نشان می دهد.

پشته نرم افزار اندروید

شکل 1. پشته نرم افزار اندروید.

هسته لینوکس

اساس پلتفرم اندروید، هسته لینوکس است. به عنوان مثال، Android Runtime (ART) برای عملکردهای زیربنایی مانند Threading و مدیریت حافظه سطح پایین به هسته لینوکس متکی است.

استفاده از هسته لینوکس به اندروید اجازه می‌دهد از ویژگی‌های امنیتی کلیدی استفاده کند و به سازندگان دستگاه اجازه می‌دهد درایورهای سخت‌افزاری را برای یک هسته معروف توسعه دهند.

لایه انتزاعی سخت افزاری (HAL)

لایه انتزاعی سخت افزار (HAL) رابط های استانداردی را فراهم می کند که قابلیت های سخت افزاری دستگاه را در چارچوب سطح بالاتر Java API نشان می دهد. HAL از چندین ماژول کتابخانه تشکیل شده است که هر کدام یک رابط را برای نوع خاصی از اجزای سخت افزاری مانند دوربین یا ماژول بلوتوث پیاده سازی می کنند. هنگامی که یک چارچوب API برای دسترسی به سخت افزار دستگاه تماس برقرار می کند، سیستم Android ماژول کتابخانه را برای آن جزء سخت افزاری بارگیری می کند.

زمان اجرا اندروید

برای دستگاه‌هایی که Android نسخه 5.0 (سطح API 21) یا بالاتر دارند، هر برنامه در فرآیند خاص خود و با نمونه‌ای از Android Runtime (ART) اجرا می‌شود. ART برای اجرای چندین ماشین مجازی بر روی دستگاه‌های با حافظه کم با اجرای فایل‌های فرمت اجرایی Dalvik (DEX) نوشته شده است، یک فرمت بایت کد که به طور خاص برای اندروید طراحی شده و برای حداقل حافظه بهینه‌سازی شده است. ابزارهای ساخت، مانند d8 ، منابع جاوا را در بایت کد DEX که می تواند بر روی پلتفرم اندروید اجرا شود، کامپایل می کند.

برخی از ویژگی های اصلی ART شامل موارد زیر است:

  • تدوین پیش از زمان (AOT) و به موقع (JIT).
  • جمع آوری زباله بهینه شده (GC)
  • در Android 9 (سطح API 28) و بالاتر، تبدیل فایل‌های DEX بسته برنامه به کد ماشین فشرده‌تر
  • پشتیبانی از اشکال‌زدایی بهتر، از جمله یک نمایه‌گر نمونه‌گیری اختصاصی، استثناهای تشخیصی دقیق و گزارش‌گیری خرابی، و توانایی تنظیم نقاط نظارت برای نظارت بر فیلدهای خاص

قبل از اندروید نسخه 5.0 (سطح API 21)، Dalvik زمان اجرای اندروید بود. اگر برنامه شما روی ART به خوبی اجرا می‌شود، می‌تواند روی Dalvik نیز کار کند، اما ممکن است عکس آن درست نباشد .

Android همچنین شامل مجموعه‌ای از کتابخانه‌های زمان اجرا اصلی است که بیشتر قابلیت‌های زبان برنامه‌نویسی جاوا، از جمله برخی از ویژگی‌های زبان جاوا 8 را که چارچوب Java API استفاده می‌کند، ارائه می‌کند.

کتابخانه های C/C++ بومی

بسیاری از مؤلفه ها و سرویس های اصلی سیستم اندروید، مانند ART و HAL، از کدهای بومی ساخته شده اند که به کتابخانه های بومی نوشته شده در C و C++ نیاز دارند. پلتفرم اندروید APIهای چارچوب جاوا را برای نمایش عملکرد برخی از این کتابخانه‌های بومی در اختیار برنامه‌ها قرار می‌دهد. برای مثال، می‌توانید از طریق Java OpenGL API چارچوب Android به OpenGL ES دسترسی پیدا کنید تا از ترسیم و دستکاری گرافیک‌های دو بعدی و سه بعدی در برنامه خود پشتیبانی کنید.

اگر در حال توسعه برنامه‌ای هستید که به کد C یا C++ نیاز دارد، می‌توانید از Android NDK برای دسترسی مستقیم به برخی از این کتابخانه‌های پلتفرم بومی به طور مستقیم از کد اصلی خود استفاده کنید.

چارچوب Java API

کل مجموعه ویژگی های سیستم عامل اندروید از طریق APIهای نوشته شده به زبان جاوا در دسترس شما است. این APIها بلوک‌های ساختمانی را تشکیل می‌دهند که برای ایجاد برنامه‌های Android با ساده‌سازی استفاده مجدد از مؤلفه‌ها و سرویس‌های اصلی، ماژولار، که شامل موارد زیر می‌شود:

  • یک سیستم نمای غنی و توسعه‌پذیر که می‌توانید از آن برای ایجاد رابط کاربری برنامه‌ها، شامل فهرست‌ها، شبکه‌ها، جعبه‌های متن، دکمه‌ها و حتی یک مرورگر وب قابل جاسازی استفاده کنید.
  • یک مدیر منبع که دسترسی به منابع غیر کد مانند رشته های بومی سازی شده، گرافیک ها و فایل های طرح بندی را فراهم می کند.
  • یک مدیر اعلان که همه برنامه ها را قادر می سازد تا هشدارهای سفارشی را در نوار وضعیت نمایش دهند
  • یک مدیر فعالیت که چرخه عمر برنامه ها را مدیریت می کند و یک پشته ناوبری مشترک را ارائه می دهد
  • ارائه‌دهندگان محتوا که به برنامه‌ها امکان دسترسی به داده‌های سایر برنامه‌ها، مانند برنامه مخاطبین، یا اشتراک‌گذاری داده‌های خود را می‌دهند.

توسعه دهندگان به همان چارچوب APIهایی که برنامه های سیستم اندروید استفاده می کنند، دسترسی کامل دارند.

برنامه های سیستمی

اندروید دارای مجموعه ای از برنامه های اصلی برای ایمیل، پیام کوتاه، تقویم، مرور اینترنت، مخاطبین و موارد دیگر است. برنامه های ارائه شده با این پلتفرم در بین برنامه هایی که کاربر برای نصب انتخاب می کند، وضعیت خاصی ندارند. بنابراین، یک برنامه شخص ثالث می تواند به مرورگر وب، پیام رسان پیام کوتاه یا حتی صفحه کلید پیش فرض کاربر تبدیل شود. برخی استثناها اعمال می شود، مانند برنامه تنظیمات سیستم.

برنامه های سیستم هم به عنوان برنامه برای کاربران عمل می کنند و هم قابلیت های کلیدی را ارائه می دهند که توسعه دهندگان می توانند از برنامه خودشان به آنها دسترسی داشته باشند. به عنوان مثال، اگر می‌خواهید برنامه شما پیامک ارسال کند، نیازی نیست خودتان این قابلیت را بسازید. درعوض می‌توانید از برنامه‌های پیامکی که قبلاً نصب شده است، برای ارسال پیام به گیرنده‌ای که مشخص کرده‌اید استفاده کنید.

،

اندروید یک پشته نرم افزاری منبع باز مبتنی بر لینوکس است که برای طیف وسیعی از دستگاه ها و عوامل شکل ایجاد شده است. شکل 1 اجزای اصلی پلتفرم اندروید را نشان می دهد.

پشته نرم افزار اندروید

شکل 1. پشته نرم افزار اندروید.

هسته لینوکس

اساس پلتفرم اندروید، هسته لینوکس است. به عنوان مثال، Android Runtime (ART) برای عملکردهای زیربنایی مانند Threading و مدیریت حافظه سطح پایین به هسته لینوکس متکی است.

استفاده از هسته لینوکس به اندروید اجازه می‌دهد از ویژگی‌های امنیتی کلیدی استفاده کند و به سازندگان دستگاه اجازه می‌دهد درایورهای سخت‌افزاری را برای یک هسته معروف توسعه دهند.

لایه انتزاعی سخت افزاری (HAL)

لایه انتزاعی سخت افزار (HAL) رابط های استانداردی را فراهم می کند که قابلیت های سخت افزاری دستگاه را در چارچوب سطح بالاتر Java API نشان می دهد. HAL از چندین ماژول کتابخانه تشکیل شده است که هر کدام یک رابط را برای نوع خاصی از اجزای سخت افزاری مانند دوربین یا ماژول بلوتوث پیاده سازی می کنند. هنگامی که یک چارچوب API برای دسترسی به سخت افزار دستگاه تماس برقرار می کند، سیستم Android ماژول کتابخانه را برای آن جزء سخت افزاری بارگیری می کند.

زمان اجرا اندروید

برای دستگاه‌هایی که Android نسخه 5.0 (سطح API 21) یا بالاتر دارند، هر برنامه در فرآیند خاص خود و با نمونه‌ای از Android Runtime (ART) اجرا می‌شود. ART برای اجرای چندین ماشین مجازی بر روی دستگاه‌های با حافظه کم با اجرای فایل‌های فرمت اجرایی Dalvik (DEX) نوشته شده است، یک فرمت بایت کد که به طور خاص برای اندروید طراحی شده و برای حداقل حافظه بهینه‌سازی شده است. ابزارهای ساخت، مانند d8 ، منابع جاوا را در بایت کد DEX که می تواند بر روی پلتفرم اندروید اجرا شود، کامپایل می کند.

برخی از ویژگی های اصلی ART شامل موارد زیر است:

  • تدوین پیش از زمان (AOT) و به موقع (JIT).
  • جمع آوری زباله بهینه شده (GC)
  • در Android 9 (سطح API 28) و بالاتر، تبدیل فایل‌های DEX بسته برنامه به کد ماشین فشرده‌تر
  • پشتیبانی از اشکال‌زدایی بهتر، از جمله یک نمایه‌گر نمونه‌گیری اختصاصی، استثناهای تشخیصی دقیق و گزارش‌گیری خرابی، و توانایی تنظیم نقاط نظارت برای نظارت بر فیلدهای خاص

قبل از اندروید نسخه 5.0 (سطح API 21)، Dalvik زمان اجرای اندروید بود. اگر برنامه شما روی ART به خوبی اجرا می‌شود، می‌تواند روی Dalvik نیز کار کند، اما ممکن است عکس آن درست نباشد .

Android همچنین شامل مجموعه‌ای از کتابخانه‌های زمان اجرا اصلی است که بیشتر قابلیت‌های زبان برنامه‌نویسی جاوا، از جمله برخی از ویژگی‌های زبان جاوا 8 را که چارچوب Java API استفاده می‌کند، ارائه می‌کند.

کتابخانه های C/C++ بومی

بسیاری از مؤلفه ها و سرویس های اصلی سیستم اندروید، مانند ART و HAL، از کدهای بومی ساخته شده اند که به کتابخانه های بومی نوشته شده در C و C++ نیاز دارند. پلتفرم اندروید APIهای چارچوب جاوا را برای نمایش عملکرد برخی از این کتابخانه‌های بومی در اختیار برنامه‌ها قرار می‌دهد. برای مثال، می‌توانید از طریق Java OpenGL API چارچوب Android به OpenGL ES دسترسی پیدا کنید تا از ترسیم و دستکاری گرافیک‌های دو بعدی و سه بعدی در برنامه خود پشتیبانی کنید.

اگر در حال توسعه برنامه‌ای هستید که به کد C یا C++ نیاز دارد، می‌توانید از Android NDK برای دسترسی مستقیم به برخی از این کتابخانه‌های پلتفرم بومی به طور مستقیم از کد اصلی خود استفاده کنید.

چارچوب Java API

کل مجموعه ویژگی های سیستم عامل اندروید از طریق APIهای نوشته شده به زبان جاوا در دسترس شما است. این APIها بلوک‌های ساختمانی را تشکیل می‌دهند که برای ایجاد برنامه‌های Android با ساده‌سازی استفاده مجدد از مؤلفه‌ها و سرویس‌های اصلی، ماژولار، که شامل موارد زیر می‌شود:

  • یک سیستم نمای غنی و توسعه‌پذیر که می‌توانید از آن برای ایجاد رابط کاربری برنامه‌ها، شامل فهرست‌ها، شبکه‌ها، جعبه‌های متن، دکمه‌ها و حتی یک مرورگر وب قابل جاسازی استفاده کنید.
  • یک مدیر منبع که دسترسی به منابع غیر کد مانند رشته های بومی سازی شده، گرافیک ها و فایل های طرح بندی را فراهم می کند.
  • یک مدیر اعلان که همه برنامه ها را قادر می سازد تا هشدارهای سفارشی را در نوار وضعیت نمایش دهند
  • یک مدیر فعالیت که چرخه عمر برنامه ها را مدیریت می کند و یک پشته ناوبری مشترک را ارائه می دهد
  • ارائه‌دهندگان محتوا که به برنامه‌ها امکان دسترسی به داده‌های سایر برنامه‌ها، مانند برنامه مخاطبین، یا اشتراک‌گذاری داده‌های خود را می‌دهند.

توسعه دهندگان به همان چارچوب APIهایی که برنامه های سیستم اندروید استفاده می کنند، دسترسی کامل دارند.

برنامه های سیستمی

اندروید دارای مجموعه ای از برنامه های اصلی برای ایمیل، پیام کوتاه، تقویم، مرور اینترنت، مخاطبین و موارد دیگر است. برنامه های ارائه شده با این پلتفرم در بین برنامه هایی که کاربر برای نصب انتخاب می کند، وضعیت خاصی ندارند. بنابراین، یک برنامه شخص ثالث می تواند به مرورگر وب، پیام رسان پیام کوتاه یا حتی صفحه کلید پیش فرض کاربر تبدیل شود. برخی استثناها اعمال می شود، مانند برنامه تنظیمات سیستم.

برنامه های سیستم هم به عنوان برنامه برای کاربران عمل می کنند و هم قابلیت های کلیدی را ارائه می دهند که توسعه دهندگان می توانند از برنامه خودشان به آنها دسترسی داشته باشند. به عنوان مثال، اگر می‌خواهید برنامه شما پیامک ارسال کند، نیازی نیست خودتان این قابلیت را بسازید. درعوض می‌توانید از برنامه‌های پیامکی که قبلاً نصب شده است، برای ارسال پیام به گیرنده‌ای که مشخص کرده‌اید استفاده کنید.

،

اندروید یک پشته نرم افزاری منبع باز مبتنی بر لینوکس است که برای طیف وسیعی از دستگاه ها و عوامل شکل ایجاد شده است. شکل 1 اجزای اصلی پلتفرم اندروید را نشان می دهد.

پشته نرم افزار اندروید

شکل 1. پشته نرم افزار اندروید.

هسته لینوکس

اساس پلتفرم اندروید، هسته لینوکس است. به عنوان مثال، Android Runtime (ART) برای عملکردهای زیربنایی مانند Threading و مدیریت حافظه سطح پایین به هسته لینوکس متکی است.

استفاده از هسته لینوکس به اندروید اجازه می‌دهد از ویژگی‌های امنیتی کلیدی استفاده کند و به سازندگان دستگاه اجازه می‌دهد درایورهای سخت‌افزاری را برای یک هسته معروف توسعه دهند.

لایه انتزاعی سخت افزاری (HAL)

لایه انتزاعی سخت افزار (HAL) رابط های استانداردی را فراهم می کند که قابلیت های سخت افزاری دستگاه را در چارچوب سطح بالاتر Java API نشان می دهد. HAL از چندین ماژول کتابخانه تشکیل شده است که هر کدام یک رابط را برای نوع خاصی از اجزای سخت افزاری مانند دوربین یا ماژول بلوتوث پیاده سازی می کنند. هنگامی که یک چارچوب API برای دسترسی به سخت افزار دستگاه تماس برقرار می کند، سیستم Android ماژول کتابخانه را برای آن جزء سخت افزاری بارگیری می کند.

زمان اجرا اندروید

برای دستگاه‌هایی که Android نسخه 5.0 (سطح API 21) یا بالاتر دارند، هر برنامه در فرآیند خاص خود و با نمونه‌ای از Android Runtime (ART) اجرا می‌شود. ART برای اجرای چندین ماشین مجازی بر روی دستگاه‌های با حافظه کم با اجرای فایل‌های فرمت اجرایی Dalvik (DEX) نوشته شده است، یک فرمت بایت کد که به طور خاص برای اندروید طراحی شده و برای حداقل حافظه بهینه‌سازی شده است. ابزارهای ساخت، مانند d8 ، منابع جاوا را در بایت کد DEX که می تواند بر روی پلتفرم اندروید اجرا شود، کامپایل می کند.

برخی از ویژگی های اصلی ART شامل موارد زیر است:

  • تدوین پیش از زمان (AOT) و به موقع (JIT).
  • جمع آوری زباله بهینه شده (GC)
  • در Android 9 (سطح API 28) و بالاتر، تبدیل فایل‌های DEX بسته برنامه به کد ماشین فشرده‌تر
  • پشتیبانی از اشکال‌زدایی بهتر، از جمله یک نمایه‌گر نمونه‌گیری اختصاصی، استثناهای تشخیصی دقیق و گزارش‌گیری خرابی، و توانایی تنظیم نقاط نظارت برای نظارت بر فیلدهای خاص

قبل از اندروید نسخه 5.0 (سطح API 21)، Dalvik زمان اجرای اندروید بود. اگر برنامه شما روی ART به خوبی اجرا می‌شود، می‌تواند روی Dalvik نیز کار کند، اما ممکن است عکس آن درست نباشد .

Android همچنین شامل مجموعه‌ای از کتابخانه‌های زمان اجرا اصلی است که بیشتر قابلیت‌های زبان برنامه‌نویسی جاوا، از جمله برخی از ویژگی‌های زبان جاوا 8 را که چارچوب Java API استفاده می‌کند، ارائه می‌کند.

کتابخانه های C/C++ بومی

بسیاری از مؤلفه ها و سرویس های اصلی سیستم اندروید، مانند ART و HAL، از کدهای بومی ساخته شده اند که به کتابخانه های بومی نوشته شده در C و C++ نیاز دارند. پلتفرم اندروید APIهای چارچوب جاوا را برای نمایش عملکرد برخی از این کتابخانه‌های بومی در اختیار برنامه‌ها قرار می‌دهد. برای مثال، می‌توانید از طریق Java OpenGL API چارچوب Android به OpenGL ES دسترسی پیدا کنید تا از ترسیم و دستکاری گرافیک‌های دو بعدی و سه بعدی در برنامه خود پشتیبانی کنید.

اگر در حال توسعه برنامه‌ای هستید که به کد C یا C++ نیاز دارد، می‌توانید از Android NDK برای دسترسی مستقیم به برخی از این کتابخانه‌های پلتفرم بومی به طور مستقیم از کد اصلی خود استفاده کنید.

چارچوب Java API

کل مجموعه ویژگی های سیستم عامل اندروید از طریق APIهای نوشته شده به زبان جاوا در دسترس شما است. این APIها بلوک‌های ساختمانی را تشکیل می‌دهند که برای ایجاد برنامه‌های Android با ساده‌سازی استفاده مجدد از مؤلفه‌ها و سرویس‌های اصلی، ماژولار، که شامل موارد زیر می‌شود:

  • یک سیستم نمای غنی و توسعه‌پذیر که می‌توانید از آن برای ایجاد رابط کاربری برنامه‌ها، شامل فهرست‌ها، شبکه‌ها، جعبه‌های متن، دکمه‌ها و حتی یک مرورگر وب قابل جاسازی استفاده کنید.
  • یک مدیر منبع که دسترسی به منابع غیر کد مانند رشته های بومی سازی شده، گرافیک ها و فایل های طرح بندی را فراهم می کند.
  • یک مدیر اعلان که همه برنامه ها را قادر می سازد تا هشدارهای سفارشی را در نوار وضعیت نمایش دهند
  • یک مدیر فعالیت که چرخه عمر برنامه ها را مدیریت می کند و یک پشته ناوبری مشترک را ارائه می دهد
  • ارائه‌دهندگان محتوا که به برنامه‌ها امکان دسترسی به داده‌های سایر برنامه‌ها، مانند برنامه مخاطبین، یا اشتراک‌گذاری داده‌های خود را می‌دهند.

توسعه دهندگان به همان چارچوب APIهایی که برنامه های سیستم اندروید استفاده می کنند، دسترسی کامل دارند.

برنامه های سیستمی

اندروید دارای مجموعه ای از برنامه های اصلی برای ایمیل، پیام کوتاه، تقویم، مرور اینترنت، مخاطبین و موارد دیگر است. برنامه های ارائه شده با این پلتفرم در بین برنامه هایی که کاربر برای نصب انتخاب می کند، وضعیت خاصی ندارند. بنابراین، یک برنامه شخص ثالث می تواند به مرورگر وب، پیام رسان پیام کوتاه یا حتی صفحه کلید پیش فرض کاربر تبدیل شود. برخی استثناها اعمال می شود، مانند برنامه تنظیمات سیستم.

برنامه های سیستم هم به عنوان برنامه برای کاربران عمل می کنند و هم قابلیت های کلیدی را ارائه می دهند که توسعه دهندگان می توانند از برنامه خودشان به آنها دسترسی داشته باشند. به عنوان مثال، اگر می‌خواهید برنامه شما پیامک ارسال کند، نیازی نیست خودتان این قابلیت را بسازید. درعوض می‌توانید از برنامه‌های پیامکی که قبلاً نصب شده است، برای ارسال پیام به گیرنده‌ای که مشخص کرده‌اید استفاده کنید.

،

اندروید یک پشته نرم افزاری منبع باز مبتنی بر لینوکس است که برای طیف وسیعی از دستگاه ها و عوامل شکل ایجاد شده است. شکل 1 اجزای اصلی پلتفرم اندروید را نشان می دهد.

پشته نرم افزار اندروید

شکل 1. پشته نرم افزار اندروید.

هسته لینوکس

اساس پلتفرم اندروید، هسته لینوکس است. به عنوان مثال، Android Runtime (ART) برای عملکردهای زیربنایی مانند Threading و مدیریت حافظه سطح پایین به هسته لینوکس متکی است.

استفاده از هسته لینوکس به اندروید اجازه می‌دهد از ویژگی‌های امنیتی کلیدی استفاده کند و به سازندگان دستگاه اجازه می‌دهد درایورهای سخت‌افزاری را برای یک هسته معروف توسعه دهند.

لایه انتزاعی سخت افزاری (HAL)

لایه انتزاعی سخت افزار (HAL) رابط های استانداردی را فراهم می کند که قابلیت های سخت افزاری دستگاه را در چارچوب سطح بالاتر Java API نشان می دهد. HAL از چندین ماژول کتابخانه تشکیل شده است که هر کدام یک رابط را برای نوع خاصی از اجزای سخت افزاری مانند دوربین یا ماژول بلوتوث پیاده سازی می کنند. هنگامی که یک چارچوب API برای دسترسی به سخت افزار دستگاه تماس برقرار می کند، سیستم Android ماژول کتابخانه را برای آن جزء سخت افزاری بارگیری می کند.

زمان اجرا اندروید

برای دستگاه‌هایی که Android نسخه 5.0 (سطح API 21) یا بالاتر دارند، هر برنامه در فرآیند خاص خود و با نمونه‌ای از Android Runtime (ART) اجرا می‌شود. ART برای اجرای چندین ماشین مجازی بر روی دستگاه‌های با حافظه کم با اجرای فایل‌های فرمت اجرایی Dalvik (DEX) نوشته شده است، یک فرمت بایت کد که به طور خاص برای اندروید طراحی شده و برای حداقل حافظه بهینه‌سازی شده است. ابزارهای ساخت، مانند d8 ، منابع جاوا را در بایت کد DEX که می تواند بر روی پلتفرم اندروید اجرا شود، کامپایل می کند.

برخی از ویژگی های اصلی ART شامل موارد زیر است:

  • تدوین پیش از زمان (AOT) و به موقع (JIT).
  • جمع آوری زباله بهینه شده (GC)
  • در Android 9 (سطح API 28) و بالاتر، تبدیل فایل‌های DEX بسته برنامه به کد ماشین فشرده‌تر
  • پشتیبانی از اشکال‌زدایی بهتر، از جمله یک نمایه‌گر نمونه‌گیری اختصاصی، استثناهای تشخیصی دقیق و گزارش‌گیری خرابی، و توانایی تنظیم نقاط نظارت برای نظارت بر فیلدهای خاص

قبل از اندروید نسخه 5.0 (سطح API 21)، Dalvik زمان اجرای اندروید بود. اگر برنامه شما روی ART به خوبی اجرا می‌شود، می‌تواند روی Dalvik نیز کار کند، اما ممکن است عکس آن درست نباشد .

Android همچنین شامل مجموعه‌ای از کتابخانه‌های زمان اجرا اصلی است که بیشتر قابلیت‌های زبان برنامه‌نویسی جاوا، از جمله برخی از ویژگی‌های زبان جاوا 8 را که چارچوب Java API استفاده می‌کند، ارائه می‌کند.

کتابخانه های C/C++ بومی

بسیاری از مؤلفه ها و سرویس های اصلی سیستم اندروید، مانند ART و HAL، از کدهای بومی ساخته شده اند که به کتابخانه های بومی نوشته شده در C و C++ نیاز دارند. پلتفرم اندروید APIهای چارچوب جاوا را برای نمایش عملکرد برخی از این کتابخانه‌های بومی در اختیار برنامه‌ها قرار می‌دهد. برای مثال، می‌توانید از طریق Java OpenGL API چارچوب Android به OpenGL ES دسترسی پیدا کنید تا از ترسیم و دستکاری گرافیک‌های دو بعدی و سه بعدی در برنامه خود پشتیبانی کنید.

اگر در حال توسعه برنامه‌ای هستید که به کد C یا C++ نیاز دارد، می‌توانید از Android NDK برای دسترسی مستقیم به برخی از این کتابخانه‌های پلتفرم بومی به طور مستقیم از کد اصلی خود استفاده کنید.

چارچوب Java API

کل مجموعه ویژگی های سیستم عامل اندروید از طریق APIهای نوشته شده به زبان جاوا در دسترس شما است. این APIها بلوک‌های ساختمانی را تشکیل می‌دهند که برای ایجاد برنامه‌های Android با ساده‌سازی استفاده مجدد از مؤلفه‌ها و سرویس‌های اصلی، ماژولار، که شامل موارد زیر می‌شود:

  • یک سیستم نمای غنی و توسعه‌پذیر که می‌توانید از آن برای ایجاد رابط کاربری برنامه‌ها، شامل فهرست‌ها، شبکه‌ها، جعبه‌های متن، دکمه‌ها و حتی یک مرورگر وب قابل جاسازی استفاده کنید.
  • یک مدیر منبع که دسترسی به منابع غیر کد مانند رشته های بومی سازی شده، گرافیک ها و فایل های طرح بندی را فراهم می کند.
  • یک مدیر اعلان که همه برنامه ها را قادر می سازد تا هشدارهای سفارشی را در نوار وضعیت نمایش دهند
  • یک مدیر فعالیت که چرخه عمر برنامه ها را مدیریت می کند و یک پشته ناوبری مشترک را ارائه می دهد
  • ارائه‌دهندگان محتوا که به برنامه‌ها امکان دسترسی به داده‌های سایر برنامه‌ها، مانند برنامه مخاطبین، یا اشتراک‌گذاری داده‌های خود را می‌دهند.

توسعه دهندگان به همان چارچوب APIهایی که برنامه های سیستم اندروید استفاده می کنند، دسترسی کامل دارند.

برنامه های سیستمی

اندروید دارای مجموعه ای از برنامه های اصلی برای ایمیل، پیام کوتاه، تقویم، مرور اینترنت، مخاطبین و موارد دیگر است. برنامه های ارائه شده با این پلتفرم در بین برنامه هایی که کاربر برای نصب انتخاب می کند، وضعیت خاصی ندارند. بنابراین، یک برنامه شخص ثالث می تواند به مرورگر وب، پیام رسان پیام کوتاه یا حتی صفحه کلید پیش فرض کاربر تبدیل شود. برخی استثناها اعمال می شود، مانند برنامه تنظیمات سیستم.

برنامه های سیستم هم به عنوان برنامه برای کاربران عمل می کنند و هم قابلیت های کلیدی را ارائه می دهند که توسعه دهندگان می توانند از برنامه خودشان به آنها دسترسی داشته باشند. به عنوان مثال، اگر می‌خواهید برنامه شما پیامک ارسال کند، نیازی نیست خودتان این قابلیت را بسازید. درعوض می‌توانید از برنامه‌های پیامکی که قبلاً نصب شده است، برای ارسال پیام به گیرنده‌ای که مشخص کرده‌اید استفاده کنید.