آموزش اندروید
آموزش اندروید

آشنایی با API های اندروید

آموزش سوم
اهداف آموزشی این قسمت عبارتند از:
۱٫ آشنایی با تفاوت مابین Platform Level و API Level
API Level و Platform Level تطبیقی جدول معرفی .۲
۳٫ آشنایی با دیگر API های به کار گرفته شده در دستگاه های اندرویدی
۴٫ معرفی امنیت در سیستم عامل اندروید
۵٫ آشنایی با Sandbox اندروید
۶٫ معرفی Permission ها یا صدور مجوز ها در اپلیکیشن های اندرویدی
۷٫ آشنایی با رویکرد آموزشی به کار گرفته شده در سری آموزش های اندروید
API Level و Platform Level با آشنایی
به طور کلی Platform level شماره ای است که در کنار هر یک از نام دسرها در نسخه های مختلف
اندروید مورد استفاده قرار می گیرد و API level عددی است مربوط به API مورد استفاده قرار گرفته
در هر یک از نسخه های اندروید به طوریکه شماره API level هر چه باالتر رود این بدان معنا است
که ما به قابلیت های بیشتری در توسعه اندروید دسترسی خواهیم داشت چرا که تیم برنامه نویسان گوگل
بیشتر روی توسعه SDK کار کرده و ویژگی های بیشتری را از آن طریق در اختیار توسعه دهندگان قرار
داده اند.
به طول مثال نحوه به کار گیری بلوتوث، شتاب سنج و غیره برخی از قابلیت هایی هستند که در API
های موجود در SDK اندروید ذخیره شده اند که برخی از این قابلیت ها در نسخه های اولیه اندروید یا
وجود نداشته اند و اگر هم وجود داشته اند به صورت ابتدایی بوده اند اما این قابلیت ها در نسخه های
بعدی ارتقاء پیدا کرده و بسیاری ویژگی دیگر نیز به این لیست افزوده شده است.
نکته ای که در این رابطه می بایست همواره مد نظر قرار داده شود این است که هر چه سطح API باالتر
رود تلفن های همراه و تبلت های کمتری را به عنوان گروه هدف خود مد نظر قرار خواهیم داد چرا که
معموالً زمانی به طول خواهد انجامید تا تعداد کاربران یک نسخه جدید اندروید به حد قابل توجهی برسند.
API Level و Platform Level تطبیقی جدول

در جدول زیر کلیه اطالعات مرتبط با نام نسخه و شماره های مرتبط با Platform level و API
level آمده است:
اصطالحی در توسعه اپلیکیشن های اندروید وجود دارد تحت عنوان Backward Compatibility
به معنی سازگاری رو به عقب. به عبارت دیگر یک دستگاه تلفن همراه که دارای مثالً سیستم عامل
اندروید نسخه ۲٫۰ یا Éclair باشد، اپلیکیشن های با نسخه اندروید ۲٫۰ و یا پایین تر از آن را اجرا
خواهد کرد. به نظر می رسد در حین توسعه اندروید انتخاب نسخه ۲٫۰ یا ۲٫۱ تحت عنوان Éclair به
معنی نان خامه ای بخش عمده از کاربرانی که از تلفن های همراه را در بر خواهد گرفت.
دیگر API های به کار گرفته شده تلفن های اندرویدی
علاوه بر API هایی که گوگل برای هر نسخه از سیستم عامل اندروید در نظر می گیرد، گروهی دیگر از
API ها هستند که در خود تلفن همراه یا تبلت گنجانده شده و جدای از API های معرفی شده در هر
نسخه از اندروید می باشند.
یکی از این API هایی گنجانده شده در خود تلفن همراه یا تبلت اندرویدی Location Services
است:
همانطور که در تصویر فوق مالحظه می شود منظور از Location Services قابلیت هایی همچون
GPS و یا دیگر عملکرد های Wireless است.
از دیگر API های گنجانده شده در تلفن همراه و یا تبلت می توان به Telephony Services اشاره
کرد:
در حقیقت Telephony Services در برگیرنده قابلیت هایی است که این امکان را به ما می دهند
تا بتوانیم با استفاده از تلفن همراه اندرویدی خود شماره گرفته، تماس برقرار سازیم، به تماسی پاسخ دهیم
و …
از دیگر API هایی که در این دسته قرار می گیرند می توان به Audio and Video اشاره کرد:
در حقیقت API های مرتبط با Audio and Video این امکان را به کاربران اندروید می دهند تا
فایل های صوتی و تصویری را با فرمتهای بسیار متنوعی من جمله MP3 را پخش نمایند.
API ی دیگری که نیاز به معرفی دارد API ی مرتبط به Web Browser است:
شاید بتوان گفت که یکی از جذابیت های اندروید برخورداری از قابلیت سرچ در اینترنت است که این کار
با استفاده از API مرتبط با Web Browser در اختیار کاربران قرار داده شده است.
به عنوان آخرین API از نمونه API های گنجانده شده در دستگاه های اندرویدی می توان به API
ی مرتبط با Google Maps اشاره کرد:
در حقیقت این API به منزله یکی از API های معروف تلفن ها و تبلت های اندرویدی است به طوریکه
این امکان را به کاربران می دهد تا بتوانند از قابلیت های بسیار گسترده Google Maps من جمله
مسیریابی استفاده کنند.
امنیت در سیستم عامل اندروید
یکی از برگ های برندۀ سیستم عامل اندروید میزان امنیت باال در این سیستم عامل است)البته به این
موضوع خیلی هم نمی توان افتخار کرد چرا که آمار و ارقام حاکی از آنند که این سیستم عامل محبوب
هدف اول هکرها است(. در واقع از آنجا که اپلیکیشن های اندروید بدون اجازه کاربر و یا توسعه دهندۀ
اپلیکیشن نمی توانند به دیگر اپلیکیشن ها دسترسی پیدا کنند، این مسئله موجب گردیده تا امنیت این
سیستم عامل به مراتب ارتقاء یابد. برای درک بهتر این مسئله نیاز است تا با Sandbox آشنا شویم.
معنی لغوی این واژه “گودال ماسه بازی” است. در حقیقت طراحان اندروید از این مفهوم استفاده کرده
تا بتوانند هر اپلیکیشن اندروید را از دیگر اپلیکیشن ها مجزا سازند. به عبارت دیگر به طور پیش فرض هر
اپلیکیشن اندروید در یک Sandbox جدای از دیگر Sandbox ها قرار دارد. حال اگر اپلیکیشن ما
بخواهد به چیزهای خارج از Sandbox خود دسترسی پیدا کند، می بایست از کاربر Permission یا
اجازه بگیرد.
کسب اجازه توسط یک اپلیکیشن برای دسترسی به چیزهای خاصی که خارج از دسترس آن اپلیکیشن می
باشند داخل فایل Manifest صورت می گیرد)برای آشنایی بیشتر با این فایل به آموزش قسمت دوم
مراجعه نمایید و برای کسب اطالعات تکمیلی منتظر آموزش سیزدهم بمانید(. در واقع زمانیکه کاربر قصد
دارد تا یک اپلیکیشن جدید را روی تلفن یا تبلت خود نصب کند، پیش از نصب کلیه این Permission
ها از کاربر گرفته خواهد شد. حال اگر کاربر چنین اجازه ای را صادر نکند، اپلیکیشن از نصب شدن روی
دستگاه وی سر باز خواهد زد. به طول مثال چنانچه اپلیکیشن خاصی نیاز به دسترسی به اینترنت و یا
استفاده از دوربین داشته باشد، اجازه اتصال به اینترنت و به کارگیری دوربین تلفن همراه حتماً می بایست
در فایل Manifest صادر شود.
رویکرد آموزشی
در بحث آموزش از یک دید کلی می توان دو رویکرد متفاوت را اتخاذ نمود که یک رویکرد Deductive
و دیگری رویکرد Inductive است که به ترتیب رویکرد ” از کل به جزء” و رویکرد ” از جزء به
کل” ترجمه می شوند.
در رویکرد از کل به جزء مثالً در بحث آموزش اندروید مدرس دوره بدون توجه به جزئیات اقدام به کلی
گویی کرده، نوشتن یک اپلیکیشن را آغاز می نماید و توضیحاتی کلی پیرامون بخش های مختلف
اپلیکیشن خواهد داد. مثالً اینکه Service در سیستم عامل اندروید به چه معنا است خیلی از دید مدرس
برای مخاطبین مهم نیست چرا که مثالً در جلسه سی ام دوره به خوبی خواهند فهمید که یک Service
چه کاری را در یک اپلیکیشن انجام خواهد داد. از سوی دیگر مدرس بیشتر ترجیح می دهد که مخاطبین
وی به کشف روابط مابین مطالب تدریس شده بپردازند و گاهاً مدرس یکسری مسائل را به صورت پیش
فرض تلقی می کند و حدس می زند که مخاطبین وی آن مسائل را می دانند و چنانچه فردی مسئله ای
را متوجه نشد آن مسئله را برای وی توضیح خواهد داد.
در رویکرد از جزء به کل که دقیقاً در نقطه مقابل رویکرد اول قرار دارد، مدرس فرض را بر این می
گذارد که مخاطبین وی در زمینه مثالً اندروید هیچ گونه پیشینه ای ندارند و چنانچه نکته ای از قلم بیافتد
ممکن است موجبات سردرگمی مخاطبین وی را فراهم آورد. در این رویکرد اول جزئیات مو به مو گفته
شده ، سپس در جلسات آموزشی بعد به مطالب پیشین که مدرس اطمینان حاصل کرده همه مخاطبین آن
مطلب را به خوبی درک کرده اند رجوع کرده و اقدام به توسعه یک اپلیکیشن خواهند کرد.
تجربه نشان داده است که افراد بزرگسال نسبت به افرادی کم سن و سال از Tolerance of
Ambiguity به مراتب کم تری برخوردارند. واژه Tolerance به معنی “تحمل” است و واژه
Ambiguity به معنی “ابهام” می باشد. به طور کلی می توان گفت که افراد بزرگسال چنانچه در
شرایطی قرار بگیرند که مسئله ای برای ایشان مبهم باشد خیلی سریع تر از خردساالن انگیزه خود را از
دست می دهند و این بی انگیزگی ممکن است به ترک کردن کاری در ایشان منتهی شود. اما کودکان بر
خالف بزرگساالن خود دارای Tolerance of Ambiguity بیشتری بوده و در صورتیکه در شرایطی
قرار گیرند که مطلبی برای ایشان مبهم باشد و یا بر سر دوراهی قرار گیرند، به آن مطلب به شکل یک
معما یا بازی نگاه کرده و سعی خواهند کرد آن را کشف کنند.
حال با این توضیحات می توان گفت که رویکرد از کل به جزء برای کودکان مناسب تر بوده چرا که با
روحیات ایشان سازگارتر است و این در حالی است که بزرگساالن با اتخاذ رویکردی از جزء به کل به
مراتب بیشتر پیشرفت خواهند کرد)البته این یک قانون کلی نیست(.
از میان مخاطبین این دوره آموزشی ممکن است کسانی باشد که پیش از این به مطالعه مطالب آموزشی
دوره زبان برنامه نویسی جاوا در سایت نردبان پرداخته باشند و مسلماً درک کرده اند که رویکرد اتخاذ شده
در دوره جاوا رویکردی کامالً از جزء به کل بوده است. به عبارت دیگر سعی گردیده تا حد ممکن از
سردرگمی عالقمندان جلوگیری به عمل آید)عالقمندان به توسعه اندروید می بایست پیش از شروع این
دوره، به درک کامل مطالب آموزشی دوره زبان برنامه نویسی جاوا بپردازند چرا که زبان برنامه نویسی
اندروید جاوا است(.
در این سری از آموزش ها نیز رویکردی کامالً از جزء به کل اتخاذ شده به طوریکه به جای شروع
آموزش با ایجاد یک پروژه در اکلیپس، آموزش ها از تاریخچه این سیستم عامل محبوب آغاز گردیده
سپس گام به گام آموزش ها از پیش نیازها شروع شده تا به مطالب اصلی توسعه اپلیکیشن برسیم. تنها
نکته ای که در ارتباط با رویکرد از جزء به کل می بایست روشن تر شود این است که ممکن است
توضیح مقدمات کمی به طول انجامد، اما این در حالی است که در مراحل متوسطه و پیشرفته آموزش با
سرعت به مراتب بیشتری پیش خواهیم رفت.
در مجموع از آنجا که احتمال می رود اکثر مخاطبین این دوره در سایت نردبان را نیز بزرگساالن تشکیل
می دهند، در آموزش ها رویکردی از جزء به کل اتخاذ شده است.
پس از مطالعه این آموزش انتظار می رود بتوانیم به سؤاالت زیر پاسخ بدهیم:
چیست؟ Platform Level و API Level مابین تفاوت .۱
۲٫ کدام API Level ها هستند که نام نسخه سیستم عامل اندروید آنها یکی است؟
۳٫ منظور از Sandbox چیست؟
۴٫ صدور اجازه برای انجام هر کاری در کدام فایل اپلیکیشن صورت می گیرد؟
۵٫ تفاوت مابین روش از کل به جزء با روش از جزء به کل چیست؟
۶٫ کدام روش برای آموزش بزرگساالن مناسب تر است و چرا؟
پیش از آشنایی با آماده سازی محیط برنامه نویسی اندروید، نیاز است تا با نحوه نامگذاری پکیج ها در
ساخت اپلیکیشن های اندرویدی آشنا شویم و این مبحثی است که در آموزش قسمت چهارم به تفصیل
مورد بررسی قرار خواهد گرفت.
منبع : سکان اکادمی

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

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

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

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

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

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

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