خانه / مقالات اموزشی / اموزش برنامه نویسی اندروید (جاوا) / آشنایی با ساختار سیستم عامل اندروید
آموزش اندروید
آموزش اندروید

آشنایی با ساختار سیستم عامل اندروید

آموزش دوم
اهداف آموزشی این قسمت عبارتند از:
۱٫ آشنایی با ماشین مجازی، موتور جستجو، پردازنده عکس و بانک اطالعاتی در اندروید
۲٫ معرفی Activity ها در اندروید
۳٫ معرفی Service ها در اندروید
۴٫ معرفی Content Provider ها در اندروید
۵٫ معرفی Broadcast Receiver ها در اندروید
۶٫ آشنایی با فایل Manifest مهم ترین فایل در توسعه اپلیکیشن اندروید
پس از آشنایی با تاریخچه سیستم عامل اندروید در آموزش اول، در این قسمت از آموزش قصد داریم تا
ساختار و اجزای تشکیل دهنده این سیستم عامل محبوب را مورد بررسی قرار دهیم.
اجزای تشکیل دهندۀ سیستم عامل اندروید
سیستم عامل اندروید بر پایه سیستم عامل لینوکس طرح ریزی شده است و ماشینی مجازی در این سیستم
عامل تحت عنوان Dalvik تعبیه شده است که برای دستگاه های موبایل بهینه سازی شده است. به
طور خالصه می توان گفت که این ماشین مجازی دارای وظایف متعددی از جمله مدیریت حافظه، سهولت
در استفاده از Sandbox در تولید اپلیکیشن، فشرده سازی بیشتر اپلیکیشن و سازگاری با CPU های
مختلف در انواع مختلف دستگاه ها بدون نیاز به بازنویسی اپلیکیشن برای هر CPU خاص می باشد)در
آموزش سوم با مفهوم Sandbox بیشتر آشنا خواهیم شد(.
برای جستجو در اینترنت، سیستم عامل اندروید از موتور جستجوی Open Source یی تحت عنوان
WebKit استفاده می کند. به منظور پردازش عکس های دو بعدی و سه بعدی، سیستم عامل اندروید
از OpenGL ES استفاده می کند و برای ذخیره سازی اطالعات از SQLite استفاده می کند.
همانطور که در آموزش اول اشاره شده، زبان برنامه نویسی اصلی سیستم عامل اندروید جاوا است. در واقع
پس تکمیل یک اپلیکیشن اندروید، این اپلیکیشن در قالب یک فایل با پسوند apk که مخفف Android
Package است Compile می شود که این فایل را می توان در بازارهای مختلفی همچون Google
Play و غیره در اختیار عالقمندان قرار داد تا بتوانند با نصب آن از اپلیکیشن ها استفاده نمایند.
به طور خالصه یک اپلیکیشن اندروید از Component های مختلفی که در ادامه این آموزش به چهار
مورد از اصلی ترین ها اشاره می شود، یک فایل Manifest و Resource های متفاوتی تشکیل می
شود. در ادامه هر یک از این اجزا را مورد بررسی قرار خواهیم داد.
برای ساخت یک اپلیکیشن اندروید چهار Component اصلی وجود دارد که عبارتند از: Activity و
.Broadcast Receiver و Content Provider و Service
معرفی Activity ها در اندروید
در صورتیکه بخواهیم معنای یک Activity را در سیستم عامل اندروید به خوبی متوجه شویم، می توان
آن را به منزله یک صفحه از اپلیکیشن تصور کرد. برای روشن شدن این مسئله مثالی ذکر می کنیم.
فرض کنیم که یک اپلیکیشن را اجرا می کنیم. این اپلیکیشن پس از اجرا وارد صفحه اصلی برنامه می
شود. این صفحه اصلی یک Activity است. حال می بینیم که چندین دکمه در این صفحه اصلی برای
رفتن به بخش های مختلف برنامه تعبیه شده به طور مثال یک دکمه جهت صفحه راهنما، یک دکمه
جهت ارتباط با طراح اپلیکیشن، یک دکمه جهت وارد شدن به موتور جستجو در اینترنت و غیره. زمانیکه
ما پس از زدن دکمه راهنما وارد صفحه راهنما می شویم در واقع وارد یک Activity دیگر شده ایم.
اکنون این Activity جدید Activity قبلی که مربوط به صفحه اصلی برنامه بود را پس زده و جای
آن را می گیرد. در این حین اگر دکمه Back تلفن همراه خود را فشار دهیم، Activity قبلی مجدد
باال آمده و Activity مربوط به صفحه راهنما را پس می زند.
اکنون ببینیم که یک Activity را به چه نحوی می توان ساخت. در حقیقت دو راه برای ساخت
Activity ها در سیستم عامل اندروید وجود دارد: راه اول که به صورت دینامیک و پویا است با استفاده
از برنامه نویسی جاوا می باشد و راه دوم با استفاده از XML است. روشی که در این سری از آموزش ها
بیشتر مورد استفاده قرار خواهد گرفت، طراحی Activity ها با استفاده از XML است چرا که نه تنها
این کار آسان تر است بلکه با پیروی از چنین رویکردی می توان کد های مربوط به GUI یا محیط
گرافیکی را از کد های مربوط به نحوه عملکرد عناصر داخل این محیط گرافیکی که در زبان جاوا نوشته
می شوند را از یکدیگر مجزا ساخت و این در حالی است که با اتخاذ چنین رویکردی Debug کردن
اپلیکیشن ما هم به مراتب آسان تر خواهد شد.
معرفی Service ها در اندروید
دومین Component که از میان دیگر Component های از اهمیت بسزایی برخوردار است
Service است. در حقیقت در پروسه طراحی اپلیکیشن اندروید Service به اجرای عملیاتی اطالق می شود که خارج از دید کاربر رخ می دهند که ممکن است این دسته از عملیات خواه برای مدت زمان کوتاهی
صورت پذیرند و خواه برای مدت زمان طوالنی تری اجرا گردند. نکته ای که در مورد Service ها جالب
است این است که این دسته از Component ها دارای هیچ گونه GUI یی نمی باشند و در
Background برنامه اجرا می شوند. برای روشن شدن مطلب مثالی ذکر می کنیم. فرض کنیم که در
حین اس ام اس دادن به یکی از دوستان خود تمایل داریم تا به آهنگ مورد عالقه مان نیز گوش فرا
دهیم. در حقیقت زمانیکه موسیقی در حال پخش شدن است و ما اقدام به اس ام اس دادن می کنیم ما
هیچ اثری به جزء صدای آهنگ نخواهیم دید و این همان خاصیت Service ها است که گفته می شود
در پس زمینه اپلیکیشن یا Background اتفاق می افتند. نکته دیگری که در مورد Service ها می
بایست مد نظر قرار دهیم این است که Service ها مجزا از Activity هایی که آن ها را اجرا می
کنند می توانند به کار خود ادامه دهند. فرض کنیم که یک Activity داریم که دارای یک دکمه Play
است. با زدن این دکمه پخش موسیقی آغاز خواهد شد و این در حالی است که اگر این Activity را
ببندیم و یا یک Activity دیگر جای این Activity را بگیرد، Service یی که وظیفه داشت پخش
موسیقی را اجرا کند می تواند به کار خود ادامه دهد.
معرفی Content Provider ها در اندروید
جایگاه سوم در میان Component ها را Content Provider ها به خود اختصاص داده اند. وظیفه
ای که بر عهده این گروه از Component ها گذاشته شده است، ذخیره سازی اطالعات و قرار دادن
اطالعات ذخیره شده در اختیار دیگر اپلیکیشن ها می باشد. به طور خالصه تنها راه به اشتراک گذاری داده
ها میان اپلیکیشن های مختلف به کارگیری Content Provider ها می باشد. چنانچه ما داده هایی
داشته باشیم و بخواهیم این داده ها را در دسترس دیگر بخش های اپلیکیشن خود قرار دهیم، به سادگی
می توانیم یک Content Provider ایجاد کرده و مابین بخش هایی که می خواهند از آن استفاده
کنند ارتباطی برقرار سازیم. تعدادی از این Content Provider ها از پیش در سیستم عامل اندروید
تعبیه شده اند که از آن جمله می توان به Contact و Media اشاره کرد. به طور مثال اگر بخواهیم
در اپلیکیشنی به لیست شماره های تلفن همراه خود دسترسی پیدا کنیم، صرفاً نیاز است تا ارتباطی مابین
اپلیکیشن خود و Content Provider مرتبط با Contact سیستم عامل اندروید برقرار سازیم.
معرفی Broadcast Receiver ها در اندروید
آخرین Component تحت عنوان Broadcast Receiver این وظیفه را دارا است تا به
هشدارهایی که در سطح کل سیستم بوجود می آیند پاسخ دهد. همانند Service ها Broadcast Receiver ها نیز دارای هیچ گونه GUI یی نمی باشند)عبارت GUI مخفف واژگان Graphical
User Interface به معنی رابط گرافیکی کاربر می باشد(. برای روشن شدن وظیفه Broadcast
Receiver ها به مثالی اکتفا می کنیم. فرض کنیم می خواهیم برنامه ای بنویسیم که زمانیکه انرژی
باطری تلفن همراه ما به ۳۳ درصد رسید به ما هشدار دهد. این هشداری که به محض رسیدن انرژی تلفن
همراه به ۳۳ درصد روی صفحه تلفن مشاهده می شود یک نوع Broadcast Receiver می باشد.
آشنایی با فایل Manifest اندروید
پس از آشنایی با چهار Component اصلی سیستم عامل اندروید، اکنون به بررسی یکی از مهم ترین
فایل ها در ساخت یک اپلیکیشن اندرویدی که همان فایل Manifest است می پردازیم. هر اپلیکیشن
و یا بازی اندرویدی می بایست دارای فایلی تحت عنوان AndroidManifest.xml در دایرکتوری
اصلی خود که همان Root Directory است باشد)به حروف کوچک و بزرگ در نام این فایل توجه
کنید(. کاری که این فایل انجام می دهد این است که اطالعاتی کلی پیرامون اپلیکیشن یا بازی طراحی
شده به سیستم اندروید می دهد. به عبارت دیگر، این فایل Component هایی را که ما در برنامه خود
مورد استفاده قرار داده ایم را به سیستم عامل اندروید معرفی می کند. از سوی دیگر این فایل
Permission ها یا مجوزهایی که کاربر برای نصب برنامه می بایست صادر کند را نیز در بر می
گیرد. فرض کنیم که برنامه ای طراحی کرده ایم که نیاز به دسترسی به اینترنت دارد. حال اگر کسی
بخواهد این برنامه طراحی شده توسط ما را مورد استفاده قرار دهد، در حین نصب اجازه دسترسی به اینترنت
از آن کاربر توسط اپلیکیشن گرفته خواهد شد.
همانطور که در آموزش اول توضیح داده شد، سیستم عامل اندروید دارای نسخه های مختلفی است.
چنانچه ما برنامه ای طراحی کنیم که برای مثال نسخه Gingerbread یا نسخه ۳٫۰ طراحی شده
باشد، این مسئله در فایل Manifest ذکر خواهد شد و چنانچه کاربری که سیستم عامل اندروید وی
پایین تر از نسخه ۳٫۰ باشد بخواهد برنامه طراحی شده ما را استفاده کند در حین نصب فایل Manifest
این مسئله را خواهد فهمید و از نصب برنامه جلوگیری به عمل خواهد آورد.
در قسمت یازدهم به طور مفصل به بررسی اجزای تشکلیل دهنده فایل Manifest خواهیم پرداخت.
پس از مطالعه این آموزش انتظار می رود بتوانیم به سؤاالت زیر پاسخ بدهیم:
۱٫ سیستم عامل اندروید از کدام Component های اصلی تشکیل شده است آنها را نام برده و وظیفه
هر کدام را توضیح دهید؟

۲٫ مهم ترین فایل یک اپلیکیشن اندرویدی چه نام دارد و این فایل چه وظیفه ای بر عهده دارد؟
در قسمت آموزشی سوم با تفاوت مابین Platform Level و API Level و همچنین امنیت در
سیستم عامل اندروید آشنا خواهیم شد.
منبع : سکان اکادمی

درباره آموزشگاه نوین آی تی

همچنین ببینید

آموزش برنامه نویسی جاوا

نحوه نام گذاری متغییر های جاوا

مطلب جدیدی که در این آموزش قرار است فرا بگیریم نحوه صحیح نامگذاری متغیر ها ...

2 دیدگاه ها

  1. سلام دوست عزیز
    وبلاگت حرف نداره مطالبش بیسته
    منم یه وبلاگ دارم لطفا بیا یه سری بهش بزن تا اگه خوشت اومد تبادل لینک کنیم
    موفق باشی

  2. ممنون اطلاعات خوبی بود

دیدگاهتان را بنویسید

علی طاهری آموزشگاه طراحی سایت نوین آی تی 021-88283800 info(@)novin-it.net