سلام . امروز میخوایم درمورد API (Application Programming Interface) صحبت کنیم . تاحالا فکر کردین بخواین کاری رو انجام بدین ولی سمت سرور باشه ؟
مثلا بخواین از وضعیت آب و هوا توی اپلیکیشنتون استفاده کنید
قطعا شما به عنوان برنامه نویس اندروید نمیتونید توی جاوا یا کاتلین کدی بنویسید که وضعیت هوای فردارو بهتون بده . این وظیفه API هاست.
اما این API یه کدی سمت سرورِ معمولا با زبان های php,ASP , ... نوشته میشن. که در نهایت یه end pint به شما میدن که با فراخوانی اون میتونید به سرویس دسترسی داشته باشین
مثلا آدرس A که با فراخوانی اون بهتون میگه تاریخی که به عنوان متغیر ارسال کردید بهش وضعیت هواش چطوره (آفتابی، بارانی و ... ) بعد شما توی کدهای اندرویدتون بدون اینکه درگیر پیچیدگی پیاده سازی سرویس A بشید میتونین با چند خط کد ساده اونو فراخوانی کنید و ازش استفاده کنید
برای فراخوانی API توی اندروید میتونید از لایبرری Volley استفاده کنید البته اگر میخواین یکم جذاب تر کار کنید از کتابخانه Retrofit استفاده کنین.
راستی یادم رفت بگم خروجی API ها هم معمولا از نوع JSON یا XML که بعد از اینکه اون API رو فراخوانی کردین باید خروجی مثل json رو تبدیل به objectمورد نظر کنید که اون هم با کلاس هایی مثل Gson استفاده کنید
ای پی آی ها در حقیقت یک واسط نرم افزاری هستن .