آموزش رایگان اندروید (Android)- جلسه دوم

به نام خدا

آموزش دوم

اهداف آموزشی این قسمت عبارتند از:

۱ .آشنایی با ماشین مجازی، موتور جستجو، پردازنده عکس و بانک اطلاعاتی در اندروید

۲ .معرفی Activity ها در اندروید

۳ .معرفی Service ها در اندروید

۴ .معرفی Provider Content ها در اندروید

۵ .معرفی Receiver Broadcast ها در اندروید

۶ .آشنایی با فایل Manifest مهم ترین فایل در توسعه اپلیکیشن اندروید

پس از آشنایی با تاریخچه سیستم عامل اندروید در آموزش اول، در این قسمت از آموزش قصد داریم تا ساختار و اجزای تشکیل دهنده این سیستم عامل محبوب را مورد بررسی قرار دهیم.

اجزای تشکیل دهندۀ سیستم عامل اندروید

سیستم عامل اندروید بر پایه سیستم عامل لینوکس طرح ریزی شده است و ماشینی مجازی در این سیستم عامل تحت عنوان Dalvik تعبیه شده است که برای دستگاه های موبایل بهینه سازی شده است. به طور خالصه می توان گفت که این ماشین مجازی دارای وظایف متعددی از جمله مدیریت حافظه، سهولت در استفاده از Sandbox در تولید اپلیکیشن، فشرده سازی بیشتر اپلیکیشن و سازگاری با CPU های مختلف در انواع مختلف دستگاه ها بدون نیاز به بازنویسی اپلیکیشن برای هر CPU خاص می باشد(در آموزش سوم با مفهوم Sandbox بیشتر آشنا خواهیم شد).

برای جستجو در اینترنت، سیستم عامل اندروید از موتور جستجوی Source Open یی تحت عنوان WebKit استفاده می کند. به منظور پردازش عکس های دو بعدی و سه بعدی، سیستم عامل اندروید از ES OpenGL استفاده می کند و برای ذخیره سازی اطالعات از 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 یی که وظیفه داشت پخش موسیقی را اجرا کند می تواند به کار خود ادامه دهد.

معرفی Provider Content ها در اندروید

جایگاه سوم در میان Component ها را Provider Content ها به خود اختصاص داده اند. وظیفه ای که بر عهده این گروه از Component ها گذاشته شده است، ذخیره سازی اطالعات و قرار دادن اطالعات ذخیره شده در اختیار دیگر اپلیکیشن ها می باشد. به طور خالصه تنها راه به اشتراک گذاری داده ها میان اپلیکیشن های مختلف به کارگیری Provider Content ها می باشد. چنانچه ما داده هایی داشته باشیم و بخواهیم این داده ها را در دسترس دیگر بخش های اپلیکیشن خود قرار دهیم، به سادگی می توانیم یک Provider Content ایجاد کرده و مابین بخش هایی که می خواهند از آن استفاده کنند ارتباطی برقرار سازیم. تعدادی از این Provider Content ها از پیش در سیستم عامل اندروید تعبیه شده اند که از آن جمله می توان به Contact و Media اشاره کرد. به طور مثال اگر بخواهیم در اپلیکیشنی به لیست شماره های تلفن همراه خود دسترسی پیدا کنیم، صرفاً نیاز است تا ارتباطی مابین اپلیکیشن خود و Provider Content مرتبط با Contact سیستم عامل اندروید برقرار سازیم.

معرفی Receiver Broadcast ها در اندروید

آخرین Component تحت عنوان Broadcast Receiver این وظیفه را دارا است تا به هشدارهایی که در سطح کل سیستم بوجود می آیند پاسخ دهد. همانند Service ها Broadcast Receiver ها نیز دارای هیچ گونه GUI یی نمی باشند(عبارت GUI مخفف واژگان Graphical Interface User به معنی رابط گرافیکی کاربر می باشد). برای روشن شدن وظیفه Broadcast Receiver ها به مثالی اکتفا می کنیم. فرض کنیم می خواهیم برنامه ای بنویسیم که زمانیکه انرژی باطری تلفن همراه ما به ۳۳ درصد رسید به ما هشدار دهد. این هشداری که به محض رسیدن انرژی تلفن همراه به ۳۳ درصد روی صفحه تلفن مشاهده می شود یک نوع Receiver Broadcast می باشد.

آشنایی با فایل Manifest اندروید

پس از آشنایی با چهار Component اصلی سیستم عامل اندروید، اکنون به بررسی یکی از مهم ترین فایل ها در ساخت یک اپلیکیشن اندرویدی که همان فایل Manifest است می پردازیم. هر اپلیکیشن و یا بازی اندرویدی می بایست دارای فایلی تحت عنوان xml.AndroidManifest در دایرکتوری اصلی خود که همان Directory Root است باشد(به حروف کوچک و بزرگ در نام این فایل توجه کنید). کاری که این فایل انجام می دهد این است که اطالعاتی کلی پیرامون اپلیکیشن یا بازی طراحی شده به سیستم اندروید می دهد. به عبارت دیگر، این فایل Component هایی را که ما در برنامه خود مورد استفاده قرار داده ایم را به سیستم عامل اندروید معرفی می کند. از سوی دیگر این فایل Permission ها یا مجوزهایی که کاربر برای نصب برنامه می بایست صادر کند را نیز در بر می گیرد. فرض کنیم که برنامه ای طراحی کرده ایم که نیاز به دسترسی به اینترنت دارد. حال اگر کسی بخواهد این برنامه طراحی شده توسط ما را مورد استفاده قرار دهد، در حین نصب اجازه دسترسی به اینترنت از آن کاربر توسط اپلیکیشن گرفته خواهد شد.

همانطور که در آموزش اول توضیح داده شد، سیستم عامل اندروید دارای نسخه های مختلفی است. چنانچه ما برنامه ای طراحی کنیم که برای مثال نسخه Gingerbread یا نسخه ۰.۳ طراحی شده باشد، این مسئله در فایل Manifest ذکر خواهد شد و چنانچه کاربری که سیستم عامل اندروید وی پایین تر از نسخه ۰.۳ باشد بخواهد برنامه طراحی شده ما را استفاده کند در حین نصب فایل Manifest این مسئله را خواهد فهمید و از نصب برنامه جلوگیری به عمل خواهد آورد.

در قسمت یازدهم به طور مفصل به بررسی اجزای تشکلیل دهنده فایل Manifest خواهیم پرداخت.

پس از مطالعه این آموزش انتظار می رود بتوانیم به سؤاالت زیر پاسخ بدهیم:

۱ .سیستم عامل اندروید از کدام Component های اصلی تشکیل شده است آنها را نام برده و وظیفه هر کدام را توضیح دهید؟

۲ .مهم ترین فایل یک اپلیکیشن اندرویدی چه نام دارد و این فایل چه وظیفه ای بر عهده دارد؟

در قسمت آموزشی سوم با تفاوت مابین Level Platform و Level API و همچنین امنیت در سیستم عامل اندروید آشنا خواهیم شد.

221

اسماعیلی هستم مدیر عصر فنون. فارغ التحصیل مقطع کارشناسی ارشد رشته مهندسی فناوری اطلاعات (IT)

پیشنهاد لحظه ای
ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

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

توسط
تومان