API چیست؟
فیلم API در اندروید چیست و چه کاربردی دارد؟
متن به همراه عکس آشنایی با API در اندروید و کاربرد آن
در این مقاله می خواهیم با این آشنا شویم که api چیست؟ چه ویژگی ها و کاربردهایی دارد و چه استفاده ای در برنامه ما دارد.
فرض کنید که میخواهید به مسافرت بروید،برای این کار ابتدا مقصد را تعیین میکنید،به آژانس هواپیمایی میروید و یک بلیط تهیه میکنید.به عبارتی آژانس هواپیمایی برای شما یک جا در هواپیما رزرو میکند.در واقع نمیتوانیم به صورت مستقیم از خلبان بلیط تهیه کنیم بلکه آژانس هواپیمایی این کار را انجام میدهد.
در برنامه نویسی منظور از API دقیقا کاری است که آژانس برای ما انجام می دهد. یعنی به وسیله API (آژانس) سفارش خودمان را به نرم افزار یا سرویس دهنده (هواپیما) میفرستیم و درخواستمان را تحویل میگیریم. (یک جا داخل هواپیما)
تعریف کلمه API
APIمخفف کلمه ( Applacation Programming Interface) به معنی رابط برنامهنویسی است که در واقع رابط بین نرم افزار های مختلف با هم می باشد.
یک مثال دیگر
وقتی شما بخواهید وارد ایمیل خود شوید،ابتدا باید وارد سایت mail.google.com شوید،نام کاربری و رمز عبورتان را وارد کرده تا عملیات احراز هویت صورت گیرد.(اتصال به سایت دیتابیس گوگل و بررسی درستی نام کاربری و رمز عبور ) در صورت صحیح بودن اطلاعات وارد gmail خودمان می شویم. پس سایت mail.google.com یک رابط مجازی برای برقراری ارتباط با دیتابیس گوگل و چک کردن اطلاعات ما جهت درست بودن نام کاربری و رمز عبور و در نهایت وارد شدن به حساب کاربریمان است.
سوال؟؟
آیا راهی هست که بدون رفتن به سایت gmail بتوانیم نام کاربری و رمز عبور را جهت احراز هویت بفرستیم؟ و در صورت صحیح بودن مشخصاتم، اطلاعات مورد نظر را دریافت کنیم؟
API ها دقیقا همین کار را برای ما انجام می دهند. برای این کار باید از API که تیم برنامه نویسی گوگل برایمان تهیه کرده، استفاده کنیم و با دادن اطلاعاتی که از ما می خواهد پاسخ مناسب را دریافت کنیم.
به عنوان مثال فرض کنید که شما بخواهید در یک اپلیکیشن عضو بشوید برای این کار دو راه وجود دارد راه اول اینکه نام کاربری و رمز عبور خود را وارد نمایید تا احراز هویت شوید و راه دوم ازAPI که گوگل در اختیار برنامهنویس آن نرم افزار قرار داده،استفاده کنید و با زدن یک دکمه به وسیله اطلاعات مربوط به gmail ثبتنام تان را تکمیل نمایید.
APIدر اندروید
API نسخه های مختلف از سیستم عامل اندروید است که در آن کتابخانهها و کدها هستند که توسط google دراختیار ما قرار داده شده است. این به آن معنا هست که هر زمان که google نسخه جدیدی از اندروید را معرفی میکند،درواقع یک API جدید با کتابخانهها و ویژگیهای جدید ارائه میکند که میتوانیم در کد نویسی از آن استفاده کنیم.
یکی از قسمت ها و ابزار های مهمSDK های اندرویدAPI ها هستند. فرض کنید که شما میخواهید اپلیکیشنی بنویسید که از نقشه استفاده کند،برای این کار چگونه باید به نقشه گوگل دسترسی پیدا کنیم؟ بوسیله Api مربوط به نقشه گوگل میتوانیم به این قسمت دسترسی پیدا کنیم و داخل اپلیکیشن استفاده کنیم.
مثال1 :
در اندروید6 حسگر اثر انگشت جزء هسته اصلی اندروید شد. در واقع در اندروید پایین تر ازAPI23 (اندروید 6) حسگر اثر انگشت وجود نداشت و بعد از API 23 این امکان در SDK جدید قرار گرفت و به برنامهنویسان معرفی شد. برنامهنویسان نیز با استفاده از API 23 امکان برقراری ارتباط با اثر انگشت در برنامه خود را پیدا کردند تا از اثر انگشت در کدنویسی اپلیکیشن خود میتوانند استفاده کنند.
مثال2 :
فرض کنید اپلکیشنی نوشتید که میخواهید در آن از دوربین گوشی استفاده کنید برای اینکار از API مربوط به دوربین که داخل SDK وجود داره استفاده می کنیم.
هر چه به سمت نسخههای جدیدتر اندروید پیش میرویم،گوگل امکانات بیشتری برای کدنویسی ،در اختیار برنامهنویسان قرار میدهد که این امکانات به وسیله سطح های مختلف API ها در اختیارمان قرار میگیرد.
برای نشان دادن نسخههای مختلف اندروید،به جای اشاره به نسخه اندروید ( مثلا اندروید9) از سطحهای مختلفAPI ها (API 28 ) استفاده میکنیم.
گوگل در کنار هر نسخه از اندرویدی که معرفی میکند،نام یک شیرینی را هم به آن نسبت میدهد که با این کار،جذابیت و حس دوستانهتری را ایجاد کند.مثلاً نسخهی هفتم از اندروید که با API24 مشخص شده است،،به اسم اندروید نوقا نیز میشناسند که یک نوع شیرینی اصیل تبریزی است.( البته اندروید 10 بدون نام شیرینی است حالا چرا نمی دانیم؟!)
تمامیAPI های مورد نیاز در برنامه نویسی اندروید داخل SDK وجود ندارد بلکه بعضی از آنها در خود دستگاه ها وجود دارند،مانند ارتباط با لوکیشن دستگاه یا ارتباط با سرویس مکالمه و تماس در اندروید.
مقایسهی نسخههای مختلف API با دنیای واقعی:
هر فرد در طول دوره تحصیل خود(دوره ابتدایی،راهنمایی،دبیرستان و مقاطع بالاتر)،در هر سال مطالبی را یاد میگیرد.
API نیز به همین صورت است.از نسخه اول تا آخرین نسخه ، ویژگیهایی به آن اضافه شده،باگ های موجود در نسخه های قبل رفع شده و با شماره جدید ونام جدید(برای جذابیت از نام شیرینی استفاده میشود)توسط google ارائه میشود.
از API ها در کجا استفاده میکنیم و چه ویژگیهایی در اختیار ما قرار میدهد؟
فرض کنید در پروژه خود از اندروید 5.0 استفاده میکنید وحداقل سیستمی که پشتیبانی میکند،همان اندروید 5.0 باشد،در این صورت اگر شخصی که از اپلیکیشن شما میخواهد استفاده کنددستگاه اندرویدیاش نسخه های پایین تر مثلا 4.0 باشدبه مشکل بر میخورد ونمیتواند از اپ شما استفاده کند.
دلیل آن این است که:
شما امکانات جدیدی اضافه کردید که در نسخههای قدیمی قابل استفاده نیست.
برای حل این مشکل باید از نسخه ای به عنوان حداقلSDK استفاده کنیم که بیشترین دستگاههای اندرویدی از آن استفاده میکنند.
مثلا اندروید 6.0 (Marshmallow) که دارای API 23 است ،29.7% از دستگاه های اندرویدی از آن استفاده میکنند.
اگر بخواهیم برای نسخه های قبل از 6.0 از حسگر اثر انگشت یا هر ویژگی دیگری که در نسخه های قدیمی نیست استفاده کنیم،باید وقت بیشتری بگذاریم و کد نویسی آن را انجام دهیم تا دستگاه های اندرویدی نسخه های پایین تر نیز بتوانند از آن ویژگی استفاده کنند.
تفاوت های نسخه های API: کاربر بیشتر یا امکانات بیشتر؟
در هنگامی که یک پروژه جدید در اندروید استودیو میسازیم،در مراحل ساخت پروژه،کمترین API که پروژهمان در آن قابل اجرا خواهد بود را از ما میخواهد.
اگر ما کمترینAPI را نسخه 21 در نظر بگیریم یعنی پروژه ما برای اندروید های 5و بالاتر، قابل اجرا خواهد بود،اما در اندروید های پایین تر ، مثلا اندروید 4 اجرا نخواهد شد.
هرچه اپلیکیشنمان را برای نسخههای بالاتر اجرا کنیم، امکانات بیشتری برای ساخت اپلکیشن در اختیار داریم. اما از طرفی گوشیهایی که با نسخههای اندروید بالاتر اجرا میشوند،کمتر خواهند بود.
در عکس زیر جدیدترین توزیع نسخه های اندروید را میتوانید مشاهده کنید.
درحال حاضر اندروید 10دارای 29API میباشد.
ماخودمان هم میتوانیم API بسازیم؟
بله،یکی از کار هایی که ما در برنامه نویسی میتوانیم انجام دهیم،این است که API از اپلیکیشن خودمان بنویسیم تا دیگران آن را در اپلیکیشنهای دیگر اجرا کنند و بتوانند از خدمات آن استفاده کنند.به عنوان مثال حتما اپلیکیشنهایی را که اجازهی دانلود عکسهای اینستاگرام را میدهند دیده اید.این اپلیکیشن ها ازAPI یی که خود شرکت اینستاگرام در اختیار برنامهنویسان قرار داده است استفاده میکنند.
پس میتوانیم هم از API اپلیکیشنهای دیگر استفاده کنیم و هم API برای اپلیکیشن خودمان بنویسیم تا در اپ های دیگر مورد استفاده قرار بگیرد.
برای مشاهده لینک دانلود لطفا وارد حساب کاربری خود شوید!
وارد شویدپسورد فایل : گزارش خرابی لینک
مطالب زیر را حتما بخوانید
-
نحوهی کار با ویدئوپلیر (Video Player) از طریق پوشهی raw
7.41k بازدید
-
آلرت دیالوگ (AlertDialog) چیست و نحوهی کار با آن چگونه است؟
7.01k بازدید
-
اسنکبار (Snackbar) در اندروید
4.56k بازدید
-
ّFloating action Button (فلوتینگ اکشن باتن) در اندروید
4.39k بازدید
-
نحوهی کار با فریم لیوت (FrameLayout)
4.82k بازدید
-
یک روش برای تمرکز در برنامهنویسی
3.27k بازدید
8 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
سلام.وقت بخیر
ممنونم از راهنمایی شما💐
ولی من خیلی تجربه ندارم و نمیدونم باید از کجا موضوع برای اپلیکیشن پیدا کنم.
خیلی چیزها هست که هنوز بلد نیستم. شاید کار توی یه گروه بتونه کمکم کنه.
شما خودتون چطوری شروع کردید و ادامه دادید؟
سلام و درود
بنده راه های مختلفی رو تست کردم اما برای اینکه دید خوبی پیدا کنید پیشنهاد می کنم سمینار رایگان کسب در امد از برنامه نویسی اندروید را حتما مشاهده بفرمایید
لینک سمینار:
https://kazemieh.com/product/%d8%b3%d9%85%db%8c%d9%86%d8%a7%d8%b1-%da%a9%d8%b3%d8%a8-%d8%af%d8%b1%d8%a2%d9%85%d8%af-%d8%a7%d8%b2-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87%e2%80%8c%d9%86%d9%88%db%8c%d8%b3%db%8c-%d8%a7%d9%86%d8%af%d8%b1/
سلام.وقت بخیر
من چند ماهی میشم اندروید کار میکنم و میخوام چند ماهی کارآموزی کنم یا پروژه بگیرم. شما میتونید راهنماییم کنید؟
سلام و درود
تبریک می گم که برنامه نویسی اندروید رو شروع کردید
برای کار آموزی می تونید به سایت های کاریابی مراجعه کنید اما پیشنهاد می کنم که روی نوشتن اپلیکیشن های شخصی و انتشار در بازار تمرکز کنید
سلام استاد عکس پست ها باز نمیشوند
سلام و درود
ممنون از توجه شما، مشکل به زودی برطرف خواهد شد
ممنون عالی بود
خواهش می کنم:)