معماری اندروید چیست؟
در جواب بهاین پرسش که معماری اندروید چیست می بایست بگیم که معماری اندروید (Android architecture) تیم ای از یک سری جزء قابل انعطاف افزاری (software components) میباشد که از یک سری لایه ساخته شده میباشد و هر لایه از لایه زیرین خویش به کار گیری می نماید. همواره لایه ای بودن معماری ها برای این میباشد تا فعالیت یوزرها آخری و برنامه نویس ها کاربردی شل خیس گردد و آنان را سرگرم جزئیات دشوار افزاری و ابهام های سیستم ادله نمی نماید. ولی در صورتیکه میخواهید یک نرمافزار نویس سیستمی برای اندروید گردید بایدکار با طراحی اپلیکیشن در مشهد این لایه ها را خاطر بگیرید.
کامپوننت های مهم معماری اندرویدی از پنج لایه تشکیلشده اند که عبارتند از:
اپ های کاربردی (Applications)
کادر ورک اندروید (Applications Framework)
مجال اجرای اندروید (Android Runtime)
کتابخانه های بستر های قابل انعطاف افزاری (Platform Libraries)
هسته لینوکس (Linux Kernel)
درین کامپوننت ها، هسته لینوکس مهم ترین کامپوننت اندرویدی میباشد و کوشش سیستم برهان تلفن همراه را در دست گرفتن می نماید تا تلفن همراه و ماشین مجازی دالویک (Dalvik Virtual Machine (DVM پاسخگوی اجرای نرم افزار تلفن همراه باشند.
لایه نخستین معماری های اندروید : نرم افزار های کاربردی (Applications)
اولین لایه یا این که همان بالاترین لایه ی معماری اندروید نرم افزار های کاربردی (Applications) میباشند. دربرگیرنده تمامی نرمافزار های نصب گردیده در دستگاه مانند: نرمافزار های مخاطبین، اپ های آدرس اینترنتی، نرم افزار های موسیقی، اپلیکیشن های آلبوم، نرمافزار های ساعت، بازی ها و غیره…. خلاصه هر آنچه را که بسازیم صرفا درین لایه نصب میگردد.
لایه Applications با استعمال از کلاس ها و خدماتی که در چارچوب اپ جان دار میباشد، در زمان مجال اجرای اندروید (ران تایم) جاری ساختن میشود.
لایه دوم معماری اندروید : کادر ورک اندروید (Applications Framework)
کادر ورک اندروید (Applications Framework)، کلاسهای آیتم به کار گیری برای ساختوساز نرم افزار های کاربردی اندروید را آماده می نماید. همینطور یک انتزاع همگانی برای دسترسی به hardware را مهیا می نماید و رابط کاربری و منابع نرمافزار را رئیس می نماید. اصولا خدماتی را ارائه میدهد که از روش آن ها میتوانیم کلاس خاصی ساخت و ساز کنیم و آن کلاس را برای ساختوساز نرم افزار کاربردی بکار ببریم.
قاب ورک اندروید مشمول خدماتی مانند خدمت تلفن، سرویس ها شرایط مکانی، مدیریت آگهی، خدمت NFC، سیستم مشاهده و غیره میباشد که ما مبنی بر با نیازهای خویش میتوانیم برای توسعه و گسترش نرم افزار از آن ها به کارگیری کنیم.
لایه سوم معماری اندروید : مجال اجرای اندروید (Android Runtime)
ران تایم اندروید (Android Runtime) که به آن (ART) هم گفته میگردد، برنامه جدیدی میباشد که به طور آزمایشی در کتابت ۴٫۴ سیستمدلیل اندروید بوسیله کمپانی گوگل عرضه شده است و وظیفهٔ اجرای قابل انعطافافزارهای سیستمبرهان اندروید را برعهده میگیرد.
اطراف Android Runtime قسمت مهمی از اندروید میباشد و مشمول اجزایی مانند کتابخانه های هسته (core libraries) و ماشین مجازی دالویک (Dalvik virtual machine) میباشد. ران تایم موتور محرکه نرمافزار های ما به یاور کتابخانه ها میباشد و مبنا و شالوده کادر ورک را تشکیل میدهد.
ماشین مجازی دالویک (Dalvik virtual machine) چیست؟ یک ماشین مجازی مبنی بر نام نویسی مانند ماشین مجازی جاوا (JVM) میباشد. این نرمافزار فقط برای هسته اندروید پیاده سازی و باصرفه گردیده است و وظیفه ی پردازش تک تک اندروید را دارااست و مثل مغز آدم برای اندروید است تا اعتقاد نتایج گردد که یک دستگاه میتواند یکسری مثال را به صورت کارآمد جاری ساختن نماید. این نرمافزار برای هسته بندی و مدیر یاد سطح ذیل به هسته لینوکس متکی میباشد.
کتابخانه های هسته (core libraries) در طول اجراي اندرويد، مارا قوی مي سازد تا نرم افزار هاي اندرويد را با استعمال از لهجه اپ ريزي JAVA استاندارد جاری ساختن كنيم.
لایه چهارم معماری اندروید : کتابخانه های بستر های قابل انعطاف افزاری (Platform Libraries)
کتابخانه اندروید یا این که Platform Libraries مشمول کتابخانه های مهم C / C ++ و کتابخانه های مطابق جاوا مانند SSL ، libc ، Graphics ، SQLite ، Webkit ، Media ، Surface Manger ، OpenGL و غیره میباشد تا از گسترش اندروید جانبداری نماید.
فراگیری فعالیت با کتابخانه های فراهم کد اندروید Android Libraries
کتابخانه رسانه ای برای پخش و ضبط پوسته های صوتی و تصویری
کتابخانه مدیریت سطح برای ارائه یک رئیس نمایشگر
کتابخانه SGL و OpenGL Graphics برای گرافیک ۲D و ۳D
SQLite برای مدد مقر داده و FreeType برای پناه از فونت
Web-Kit برای مدد از مرورگر اینترنت و SSL برای امنیت وب
کتابخانه کدهای مهیا منحصر به فرد سیستم دلیل اندروید کدام ها میباشند؟
هر کتابخانه مهیا مبنی بر جاوا که برای ساختوساز و بسط اپ اندروید میباشد درین لیست جایدارد.
لیستی از مهمترین کتابخانه های مهیا اندروید:
کتابخانه android.app : این کتابخانه قابلیت و امکان دسترسی به سبک اپ (application model) را قابلیت پذیر می سازد و شالوده و محور همه اپ ها اندروید میباشد.
کتابخانه android.countent : این کتابخانه دسترسی به محتوای نرمافزار را ریلکس می نماید و این قابلیت و امکان را مهیا می نماید تا پیام و داده ها در میان نرمافزار و اجزای نرم افزار تبادل خواهد شد.
کتابخانه android.database : این کتابخانه قابلیت و امکان دسترسی به داده ها ساخت گردیده بوسیله آماده کننده های محتوی اپ را ساخته و مشمول تمامی کلاس های رئیس مقر داده SQLite میگردد.
کتابخانه android.opengl : این کتابخانه یک رایط کاربری مبنی بر جاوا میباشد که سبب جاری ساختن و رندر شدن انواع گرافیکی سه آتی اپ به وسیله OpenGL میگردد.
کتابخانه android.Operating System : این کتابخانه قابلیت و امکان دسترسی نرمافزار های به خدمت های استاندارد سیستم ادله مثل پیام دهی و تبادل داده ها، خدمت های سیستمی و رابط در بین اجزای درونی نرمافزار را مهیا می نماید.
کتابخانه android.text : این کتابخانه برای رندرکردن و ویرایش متن (text) در برگه اکران دستکاه اندروید به عمل می رود.
کتابخانه android.view : این کتابخانه مشتمل بر کلاس ها و کدهای مهم و مهم جهت ساخت رابط کاربری نرمافزار میباشد.
کتابخانه android.widget : این کتابخانه مشتمل بر تیم ای بی نقص از اجزای اپلیکیشن مثل دکمه ها (buttons، lables، لیست list views، مدیر کننده لایه ها layout manager، دکمه های رادیویی radio buttons و …) میباشد.
کتابخانه android.webkit : این کتابخانه دربردارنده کلاس هایی میباشد که قابلیت و امکان های مرور اینترنت (web browsing) را به اپلیکیشن اندروید اضافه می نماید.
معماری اندروید چیست؟
در جواب بهاین پرسش که معماری اندروید چیست می بایست بگیم که معماری اندروید (Android architecture) تیم ای از یک سری جزء قابل انعطاف افزاری (software components) میباشد که از یک سری لایه ساخته شده میباشد و هر لایه از لایه زیرین خویش به کار گیری می نماید. همواره لایه ای بودن معماری ها برای این میباشد تا فعالیت یوزرها آخری و برنامه نویس ها کاربردی شل خیس گردد و آنان را سرگرم جزئیات دشوار افزاری و ابهام های سیستم ادله نمی نماید. ولی در صورتیکه میخواهید یک نرمافزار نویس سیستمی برای اندروید گردید بایدکار با طراحی اپلیکیشن در مشهد این لایه ها را خاطر بگیرید.
کامپوننت های مهم معماری اندرویدی از پنج لایه تشکیلشده اند که عبارتند از:
اپ های کاربردی (Applications)
کادر ورک اندروید (Applications Framework)
مجال اجرای اندروید (Android Runtime)
کتابخانه های بستر های قابل انعطاف افزاری (Platform Libraries)
هسته لینوکس (Linux Kernel)
درین کامپوننت ها، هسته لینوکس مهم ترین کامپوننت اندرویدی میباشد و کوشش سیستم برهان تلفن همراه را در دست گرفتن می نماید تا تلفن همراه و ماشین مجازی دالویک (Dalvik Virtual Machine (DVM پاسخگوی اجرای نرم افزار تلفن همراه باشند.
لایه نخستین معماری های اندروید : نرم افزار های کاربردی (Applications)
اولین لایه یا این که همان بالاترین لایه ی معماری اندروید نرم افزار های کاربردی (Applications) میباشند. دربرگیرنده تمامی نرمافزار های نصب گردیده در دستگاه مانند: نرمافزار های مخاطبین، اپ های آدرس اینترنتی، نرم افزار های موسیقی، اپلیکیشن های آلبوم، نرمافزار های ساعت، بازی ها و غیره…. خلاصه هر آنچه را که بسازیم صرفا درین لایه نصب میگردد.
لایه Applications با استعمال از کلاس ها و خدماتی که در چارچوب اپ جان دار میباشد، در زمان مجال اجرای اندروید (ران تایم) جاری ساختن میشود.
لایه دوم معماری اندروید : کادر ورک اندروید (Applications Framework)
کادر ورک اندروید (Applications Framework)، کلاسهای آیتم به کار گیری برای ساختوساز نرم افزار های کاربردی اندروید را آماده می نماید. همینطور یک انتزاع همگانی برای دسترسی به hardware را مهیا می نماید و رابط کاربری و منابع نرمافزار را رئیس می نماید. اصولا خدماتی را ارائه میدهد که از روش آن ها میتوانیم کلاس خاصی ساخت و ساز کنیم و آن کلاس را برای ساختوساز نرم افزار کاربردی بکار ببریم.
قاب ورک اندروید مشمول خدماتی مانند خدمت تلفن، سرویس ها شرایط مکانی، مدیریت آگهی، خدمت NFC، سیستم مشاهده و غیره میباشد که ما مبنی بر با نیازهای خویش میتوانیم برای توسعه و گسترش نرم افزار از آن ها به کارگیری کنیم.
لایه سوم معماری اندروید : مجال اجرای اندروید (Android Runtime)
ران تایم اندروید (Android Runtime) که به آن (ART) هم گفته میگردد، برنامه جدیدی میباشد که به طور آزمایشی در کتابت ۴٫۴ سیستمدلیل اندروید بوسیله کمپانی گوگل عرضه شده است و وظیفهٔ اجرای قابل انعطافافزارهای سیستمبرهان اندروید را برعهده میگیرد.
اطراف Android Runtime قسمت مهمی از اندروید میباشد و مشمول اجزایی مانند کتابخانه های هسته (core libraries) و ماشین مجازی دالویک (Dalvik virtual machine) میباشد. ران تایم موتور محرکه نرمافزار های ما به یاور کتابخانه ها میباشد و مبنا و شالوده کادر ورک را تشکیل میدهد.
ماشین مجازی دالویک (Dalvik virtual machine) چیست؟ یک ماشین مجازی مبنی بر نام نویسی مانند ماشین مجازی جاوا (JVM) میباشد. این نرمافزار فقط برای هسته اندروید پیاده سازی و باصرفه گردیده است و وظیفه ی پردازش تک تک اندروید را دارااست و مثل مغز آدم برای اندروید است تا اعتقاد نتایج گردد که یک دستگاه میتواند یکسری مثال را به صورت کارآمد جاری ساختن نماید. این نرمافزار برای هسته بندی و مدیر یاد سطح ذیل به هسته لینوکس متکی میباشد.
کتابخانه های هسته (core libraries) در طول اجراي اندرويد، مارا قوی مي سازد تا نرم افزار هاي اندرويد را با استعمال از لهجه اپ ريزي JAVA استاندارد جاری ساختن كنيم.
لایه چهارم معماری اندروید : کتابخانه های بستر های قابل انعطاف افزاری (Platform Libraries)
کتابخانه اندروید یا این که Platform Libraries مشمول کتابخانه های مهم C / C ++ و کتابخانه های مطابق جاوا مانند SSL ، libc ، Graphics ، SQLite ، Webkit ، Media ، Surface Manger ، OpenGL و غیره میباشد تا از گسترش اندروید جانبداری نماید.
فراگیری فعالیت با کتابخانه های فراهم کد اندروید Android Libraries
کتابخانه رسانه ای برای پخش و ضبط پوسته های صوتی و تصویری
کتابخانه مدیریت سطح برای ارائه یک رئیس نمایشگر
کتابخانه SGL و OpenGL Graphics برای گرافیک ۲D و ۳D
SQLite برای مدد مقر داده و FreeType برای پناه از فونت
Web-Kit برای مدد از مرورگر اینترنت و SSL برای امنیت وب
کتابخانه کدهای مهیا منحصر به فرد سیستم دلیل اندروید کدام ها میباشند؟
هر کتابخانه مهیا مبنی بر جاوا که برای ساختوساز و بسط اپ اندروید میباشد درین لیست جایدارد.
لیستی از مهمترین کتابخانه های مهیا اندروید:
کتابخانه android.app : این کتابخانه قابلیت و امکان دسترسی به سبک اپ (application model) را قابلیت پذیر می سازد و شالوده و محور همه اپ ها اندروید میباشد.
کتابخانه android.countent : این کتابخانه دسترسی به محتوای نرمافزار را ریلکس می نماید و این قابلیت و امکان را مهیا می نماید تا پیام و داده ها در میان نرمافزار و اجزای نرم افزار تبادل خواهد شد.
کتابخانه android.database : این کتابخانه قابلیت و امکان دسترسی به داده ها ساخت گردیده بوسیله آماده کننده های محتوی اپ را ساخته و مشمول تمامی کلاس های رئیس مقر داده SQLite میگردد.
کتابخانه android.opengl : این کتابخانه یک رایط کاربری مبنی بر جاوا میباشد که سبب جاری ساختن و رندر شدن انواع گرافیکی سه آتی اپ به وسیله OpenGL میگردد.
کتابخانه android.Operating System : این کتابخانه قابلیت و امکان دسترسی نرمافزار های به خدمت های استاندارد سیستم ادله مثل پیام دهی و تبادل داده ها، خدمت های سیستمی و رابط در بین اجزای درونی نرمافزار را مهیا می نماید.
کتابخانه android.text : این کتابخانه برای رندرکردن و ویرایش متن (text) در برگه اکران دستکاه اندروید به عمل می رود.
کتابخانه android.view : این کتابخانه مشتمل بر کلاس ها و کدهای مهم و مهم جهت ساخت رابط کاربری نرمافزار میباشد.
کتابخانه android.widget : این کتابخانه مشتمل بر تیم ای بی نقص از اجزای اپلیکیشن مثل دکمه ها (buttons، lables، لیست list views، مدیر کننده لایه ها layout manager، دکمه های رادیویی radio buttons و …) میباشد.
کتابخانه android.webkit : این کتابخانه دربردارنده کلاس هایی میباشد که قابلیت و امکان های مرور اینترنت (web browsing) را به اپلیکیشن اندروید اضافه می نماید.