Android SDK Architecture – Community Dev

برنامه های Android با استفاده از یک سیستم لایه ای ساخته می شوند ، جایی که هر لایه کار خاصی دارد. این لایه ها در بالای یکدیگر جمع شده اند و با هم کار می کنند تا به توسعه دهندگان کمک کنند تا برنامه ها را راحت تر بسازند.
-
لایه های برتر به شما کمک می کنند تا ظاهر و رفتار برنامه را طراحی کنید – مانند دکمه ها ، صفحه ها و نحوه تعامل کاربران با آن.
-
لایه های میانی به برنامه شما کمک می کند تا با داده ها کار کند ، منطق کسب و کار را اجرا کنید و ویژگی هایی مانند اینترنت یا پایگاه داده را دسترسی پیدا کنید.
-
لایه های پایین قطعات فنی را کنترل می کنند – مانند صحبت با سخت افزار تلفن ، مدیریت حافظه ، باتری یا اتصال به دوربین و سنسورها.
این تنظیم همه چیز را سازمان یافته نگه می دارد و به توسعه دهندگان این امکان را می دهد تا بدون نیاز به نگرانی در مورد چگونگی عملکرد همه چیز در پشت صحنه ، روی ویژگی های ساختمان تمرکز کنند.
لایه های کلیدی در معماری اندرویدی
1. لایه چارچوب برنامه ریزی
هدف: این لایه بلوک های ساختمانی اساسی را که توسعه دهندگان برای ایجاد برنامه های Android استفاده می کنند ، فراهم می کند. این دسترسی به ویژگی های برنامه اصلی را می دهد و تعامل بین سیستم و برنامه شما را کنترل می کند.
اجزای کلیدی:
مدیر فعالیت: چرخه عمر هر صفحه (فعالیت) را در برنامه شما کنترل می کند – EG ، هنگامی که شروع می شود ، متوقف می شود یا از سر می گیرد.
Window Manager: نحوه نمایش ویندوز و گفتگوها را بر روی صفحه نمایش می دهد.
ارائه دهندگان محتوا: به برنامه ها کمک می کند تا داده ها را به طور ایمن (مانند اطلاعات تماس ، پرونده های رسانه ای) با سایر برنامه ها به اشتراک بگذارند.
View System: شامل تمام عناصر UI مانند دکمه ها ، جعبه های متن و کشویی است که کاربران با آنها در تعامل هستند.
مدیر اعلان: بیایید برنامه ها اعلان ها را به کاربر ارسال کنند.
مدیر بسته: برنامه ها و مجوزهای نصب شده را مدیریت می کند.
این لایه به شما امکان می دهد بدون نگرانی در مورد نحوه برخورد لایه های پایین جزئیات ، روی آنچه برنامه باید انجام دهد تمرکز کنید.
2. Android Runtime (ART) و کتابخانه های اصلی
هدف: محیط اجرای برنامه های Android.
اجزای کلیدی:
Art (Android Runtime) – جایگزین Dalvik ، از AOT و JIT استفاده می کند
کتابخانه های اصلی – API های جاوا (مجموعه ها ، IO ، موضوعات و غیره) را فراهم می کند
3. کتابخانه های بومی (C/C ++)
هدف: قابلیت های اصلی را از طریق کد بومی بهینه فراهم می کند.
کتابخانه های کلیدی:
OpenGL ES – ارائه گرافیک
WebKit – موتور مرورگر وب
SQLITE – پایگاه داده رابطه ای سبک وزن
SSL ، LIBC ، کد های رسانه ای
4. لایه انتزاع سخت افزار (HAL)
هدف: به عنوان پلی بین سیستم اندرویدی و سخت افزار عمل می کند.
مثال: Audio Hal ، Camera HAL ، سنسورها HAL
5. هسته لینوکس
هدف: هسته اصلی سیستم عامل Android ، مدیریت منابع سخت افزار و سیستم.
مسئولیت ها:
مدیریت حافظه و فرآیند
شبکه
درایورهای دستگاه (دوربین ، صوتی ، سنسورها)
مدیریت برق
امنیت (Selinux)
جریان داده – دکمه ضربه بزنید
جریان داده گام به گام:
1. USER روی دکمه UI ضربه بزنید
کاربر یک دکمه را شیر می دهد.
بسته به اجرای برنامه ، شیر آب می تواند باشد:
دکمه XML – UI سنتی Android.
دکمه آهنگسازی – UI اعلامی با آهنگسازی.
2.UI رویداد شیر را تشخیص می دهد
دکمه XML:
TAP توسط سیستم View تشخیص داده می شود.
این رویداد به OnClickListener View در Code یا XML ارسال شده است.
شنونده روش مرتبط را صدا می کند (به عنوان مثال ، OnButtonClicked ()).
دکمه آهنگسازی:
TAP Event توسط اصلاح کننده Compose و Lambda ، به عنوان مثال ، onclick = {} انجام می شود.
آهنگسازی عملکرد کنترل کننده رویداد مربوطه را فراخوانی می کند.
3. کنترل کننده ViewModel / Event Handler
هر دو روش UI رویداد را به ViewModel منتقل می کنند.
ViewModel شامل منطق تجاری برنامه است.
این رویداد را به عنوان مثال پردازش می کند:
یک حالت UI را به روز کنید.
داده ها را به روز کنید یا به روز کنید.
ناوبری یا اقدامات دیگر را تحریک کنید.
4.ViewModel با مخزن تعامل دارد
ViewModel لایه مخزن را صدا می کند.
مخزن عملیات داده ها را انجام می دهد:
از پایگاه داده محلی (به عنوان مثال ، اتاق) پرس و جو کنید.
درخواست های شبکه را ایجاد می کند.
داده های ذخیره شده را به روز می کند.
5. مخازن داده ها را برمی گرداند
مخزن با داده های درخواستی یا نتیجه عملکرد پاسخ می دهد.
ViewModel وضعیت برنامه را بر این اساس به روز می کند.
6. UI واکنش به تغییر دولت واکنش نشان می دهد
XML UI:
به روزرسانی های ViewModel Livedata یا داده های قابل مشاهده.
اجزای UI تغییرات را مشاهده می کنند و صفحه را به روز می کنند.
UI را آهنگسازی کنید:
ViewModel به روزرسانی های حالت یا mutablestateflow.
به طور خودکار UI را بر اساس حالت به روز شده استفاده می کند.
7. سیستم هرگونه عملیات سطح پایین را انجام می دهد
تداوم داده ها ، شبکه یا سایر کارهای سطح سیستم عامل توسط سیستم Android انجام می شود.
این شامل مدیریت موضوعات ، امنیت و سخت افزار دستگاه در صورت لزوم است.
چگونه XML و آهنگسازی در این جریان متفاوت هستند
پایان
معماری Android SDK همه چیز مورد نیاز برای ساخت برنامه های با کیفیت بالا ، از مدیریت حافظه و سخت افزار گرفته تا ایجاد رابط های کاربر مدرن را فراهم می کند.
لایه های پایین (هسته ، HAL) با کارهای سطح سیستم سر و کار دارند.
لایه های میانی (کتابخانه های بومی ، زمان اجرا) منطق برنامه خود را به وجود می آورند.
لایه بالا (چارچوب برنامه) جایی است که توسعه دهندگان صفحه نمایش ، منطق و تعامل ایجاد می کنند.
با استفاده از JetPack ، Android اکنون از یک روش کاملاً اعلامی برای ساخت UI پشتیبانی می کند و توسعه را در مقایسه با XML سنتی سریعتر و حفظ می کند.
معماری iOS SDK توضیح داده شده است