نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی پرتال اطلاعاتی
  • خانه
  • در تماس با
  • api چیست. در اینجا لیست کوچکی از DLL های استاندارد ویندوز آمده است

api چیست. در اینجا لیست کوچکی از DLL های استاندارد ویندوز آمده است

جعبه شنی

مرد قوینوامبر 26, 2012 در 01:59 ب.ظ

API چیست

  • اتاق الوار *

با درود!
در این مقاله به این خواهیم پرداخت که API چیست، کجا، چگونه و برای چه مواردی استفاده می شود. همچنین بررسی خواهیم کرد که چگونه API می تواند در توسعه وب شما اعمال شود و چگونه می تواند زندگی یک برنامه نویس وب را ساده کند.

پس بیایید با تعریف شروع کنیم. API (Application Programming Interface) یک رابط برنامه نویسی است، یک رابط برای ایجاد برنامه های کاربردی. به زبانی قابل فهم تر، API یک کد آماده برای ساده کردن زندگی یک برنامه نویس است. API ایجاد شد تا یک برنامه نویس بتواند با استفاده از کدهای آماده (مثلاً توابع) کار نوشتن یک برنامه را تسهیل کند. جی کوئری معروف که با جاوا اسکریپت نوشته شده است نیز نوعی API است. اگر این مثال خاص را در نظر بگیریم، jQuery نوشتن کد را بسیار آسان‌تر می‌کند. کاری که می توان در 30 خط با ابزارهای معمولی جاوا اسکریپت انجام داد، از طریق jQuery در 5-6 نوشته شده است. اگر به طور کلی به API نگاه کنیم، می توانید خدمات زیادی را پیدا کنید که نشان دهنده راه حل هایی برای توسعه هستند. امروزه معروف ترین سرویس code.google.com است که حدود پنجاه API مختلف را ارائه می دهد! این یک رابط برای ایجاد برنامه های اندروید و API های مختلف برای کار با AJAX و API های برنامه های مختلف است که می توانید به راحتی آن ها را مطابق میل خود شخصی سازی کنید.

از این گذشته ، آیا نوشتن کد با دستان خود منطقی است؟ چرا روی چیزی که قبلا ایجاد شده است کار کنید؟ آیا صرف نظر از راه حل های رایگان (و در واقع کمک رایگان) در توسعه وب منطقی است؟ اگر به همه این سؤالات «نه» پاسخ دادید، فرض کنید که ماهیت API را درک کرده‌اید.

اما من هم می خواهم رزرو کنم. توسعه دهندگان مبتدی نباید از راه حل های نیمه تمام استفاده کنند، زیرا در آینده با کار واقعی کنار نمی آیند. بنابراین، اگر شما یک برنامه نویس وب مبتدی هستید، پس از محصولات نیمه تمام استفاده نکنید! یاد بگیرید که با ذهن خود فکر کنید، الگوریتم های مختلفی برای درک ماهیت برنامه نویسی بسازید. من همچنین می گویم که قبلاً همه را خطاب قرار داده ام که API یک راه حل آماده نیست، یک محیط است، یک رابط برای ایجاد پروژه های شما. شما همبرگرهای یخ زده از فروشگاه نمی خورید، نه؟ اول سرخشون میکنی درسته؟ این قیاس در مورد ماهیت API بسیار واضح است.

به طور کلی، من به شما گفتم API چیست، کجا و چگونه استفاده می شود، مهمترین چیز برای چه چیزی است. برای شما آرزوی مطالعه دلپذیر برنامه نویسی وب و درک اعماق هر چه بیشتر آن را دارم!

برچسب‌ها: api

این مقاله قابل اظهار نظر نیست، زیرا نویسنده آن هنوز عضو کامل جامعه نیست. فقط پس از دریافت نویسنده می توانید با او تماس بگیرید

طبق تعریف ویکی‌پدیا، API مجموعه‌ای از کلاس‌ها، رویه‌ها، توابع، ساختارها و ثابت‌های آماده است که توسط یک برنامه کاربردی (کتابخانه، سرویس) برای استفاده در محصولات نرم‌افزاری خارجی ارائه می‌شود. توسط برنامه نویسان برای نوشتن انواع برنامه ها استفاده می شود.

اما از آنجایی که بسیاری از افراد در ویکی‌پدیا برای درک در دسترس نیستند، سعی می‌کنم با انگشتان توضیح دهم که APIها چیست و معمولاً برای چه مواردی استفاده می‌شوند و چگونه استفاده می‌شوند.

API ها کاملاً متفاوت هستند، اما به عنوان مثال، موقعیتی را انتخاب کردم که در آن ما یک فروشگاه زنجیره ای و تنها یک پایگاه داده مشترک داریم. تصور کنید که صاحب یک برنامه وابسته هستید. برنامه وابسته طبق اصل زیر کار می کند: شخصی در برنامه وابسته ثبت نام می کند و موتور فروشگاه را دریافت می کند. سپس می تواند این فروشگاه را روی هاست خود قرار دهد و شروع به کار کند. اما تمام داده های این فروشگاه از پایگاه داده ما گرفته شده است، یعنی باید به هر شریک اجازه دسترسی به پایگاه داده ارزشمند خود را بدهیم. می توانید تصور کنید چقدر خطرناک است؟ پس از همه، ما باید دسترسی به پایگاه داده را از خارج باز کنیم تا همه فروشگاه های شریک بتوانند با آن کار کنند. اگر داده های دسترسی به دست مهاجمان بیفتد چه اتفاقی می افتد؟

اینجاست که API به ما کمک خواهد کرد. به جای دسترسی به پایگاه داده، ما به سادگی یک API ایجاد می کنیم که از طریق آن فروشگاه های شریک اطلاعات را دریافت می کنند. بنابراین، فقط اسکریپت API ما با پایگاه داده کار می کند و فروشگاه ها با این اسکریپت کار می کنند.

چگونه کار می کند؟
به عنوان مثال، یک فروشگاه درخواستی را به API ما ارسال می کند
http://ourapi.com/get_books?limit=20
و API ما می‌داند که باید فهرستی از کتاب‌ها را شامل 20 نسخه برگرداند، زیرا ما از پارامتر محدود برابر با 20 عبور کرده‌ایم. اسکریپت ما (API) درخواستی به پایگاه داده می‌دهد، فهرستی از کتاب‌ها را دریافت می‌کند و آنها را به فروشگاه (در واقع، فقط نمایش می دهد) در یک قالب خاص. قالبی که در آن API اطلاعات را برمی گرداند می تواند کاملاً هر گونه باشد، نکته اصلی این است که فروشگاه های ما آن را درک کنند. این می تواند JSON، آرایه سریالی یا XML باشد. دیگر مهم نیست، مهم این است که شما اصل را درک کنید.

شما مجموعه ای از دستورات را تعریف می کنید که API آنها را درک می کند. به عنوان مثال، در مورد ما، اینها می توانند دستوراتی مانند دریافت لیست کتاب ها، دریافت لیست دسته ها، دریافت کتاب های محبوب، دریافت کتاب های جدید و غیره باشند. بنابراین، حتی اگر مهاجم این فرصت را پیدا کند که به API ما دسترسی پیدا کند، تنها کاری که می تواند انجام دهد این است که لیستی از کتاب ها را دریافت کند، و این هیچ تهدیدی برای پایگاه داده ما ایجاد نمی کند.

امیدوارم توانسته باشم با یک مثال ساده توضیح دهم که API چیست. اگر سوالی دارید، آن را در نظرات یا در انجمن بپرسید و ما خوشحال خواهیم شد که در حل آنها به شما کمک کنیم.

بیایید با اصول اولیه شروع کنیم: API چیست؟ مخفف عبارت Application Programming Interface یا Application Programming Interface می باشد. به نظر می رسد این نام برای خود صحبت می کند، اما بهتر است توضیح دقیق تری در نظر بگیرید.

همانطور که قبلا ذکر شد، یک API، اول از همه، یک رابط است. رابطی که به توسعه دهندگان این امکان را می دهد تا از بلوک های آماده برای ساخت اپلیکیشن استفاده کنند. در مورد توسعه برنامه های کاربردی تلفن همراه، یک کتابخانه برای کار با "خانه هوشمند" می تواند به عنوان یک API عمل کند - تمام تفاوت های ظریف در کتابخانه پیاده سازی شده است و شما فقط به این API در کد خود مراجعه می کنید.

در مورد برنامه‌های کاربردی وب، API می‌تواند داده‌ها را در قالبی غیر از HTML استاندارد ارسال کند، که استفاده از آن را هنگام نوشتن برنامه‌های خود راحت می‌کند. APIهای عمومی شخص ثالث معمولاً داده ها را در یکی از دو قالب ارائه می دهند: XML یا JSON. اگر تصمیم به ایجاد یک API برای برنامه خود دارید، به یاد داشته باشید که JSON بسیار مختصرتر و راحت‌تر از XML خوانده می‌شود، و سرویس‌هایی که دسترسی به داده‌ها را در قالب XML فراهم می‌کنند به تدریج این دومی را حذف می‌کنند.

API در برنامه های کاربردی وب با مثال

یک برنامه - برای مثال Github - دارای API خاص خود است که توسعه دهندگان دیگر می توانند از آن استفاده کنند. نحوه استفاده از آن بستگی به قابلیت‌هایی دارد که API ارائه می‌کند و به میزان عملکرد تخیل توسعه‌دهندگان بستگی دارد. به عنوان مثال، GitHub API اجازه می دهد تا اطلاعاتی در مورد یک کاربر، آواتار او، خوانندگان، مخازن و بسیاری از اطلاعات مفید و جالب دیگر به دست آورد.

به طور مشابه، شما می توانید درخواست را به هر زبانی از جمله Ruby ارسال کنید. پاسخ به درخواست تقریباً اطلاعات زیر خواهد بود:

("login": "Freika"، "id": 3738638، "avatar_url": "https://avatars.githubusercontent.com/u/3738638?v=3", "gravatar_id": ""، "url": "https://api.github.com/users/Freika", "html_url": "https://github.com/Freika"، "followers_url": "https://api.github.com/users/Freika/followers"، "following_url": "https://api.github.com/users/Freika/following(/other_user)"، "gists_url": "https://api.github.com/users/Freika/gists(/gist_id)"، "starred_url": "https://api.github.com/users/Freika/starred(/owner)(/repo)"، "subscriptions_url": "https://api.github.com/users/Freika/subscriptions"، "organizations_url": "https://api.github.com/users/Freika/orgs"، "repos_url": "https://api.github.com/users/Freika/repos"، "events_url": "https://api.github.com/users/Freika/events(/privacy)"، "received_events_url": "https://api.github.com/users/Freika/received_events"، "نوع": "کاربر"، "site_admin": نادرست، "نام": "Evgeniy"، "شرکت": ""، "وبلاگ": "http://frey.su/"، "مکان": " Barnaul "," email ":" "," hireable ": true," bio ": null," public_repos ": 39," public_gists ": 13," followers ": 15," followers ": 21," create_at ": "2013-03-01T13: 48: 52Z"، "updated_at": "2014-12-15T13: 55: 03Z")

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

API به تنهایی کافی نیست

ساختن یک API کامل برای برنامه شما تنها نیمی از کار است. چگونه قصد دسترسی به API را دارید؟ کاربران شما چگونه به آن مراجعه خواهند کرد؟

اولین چیزی که به ذهن می رسد، یک سری درخواست های معمول HTTP برای به دست آوردن اطلاعات مورد نظر شما است و این پاسخ اشتباه است. واضح ترین راه در این مورد راحت ترین و ساده ترین راه نیست. ایجاد یک کتابخانه ویژه برای کار با اینترفیس بسیار منطقی تر خواهد بود، که تمام راه های لازم برای دریافت و ارسال اطلاعات با استفاده از API را شرح می دهد.

بیایید دوباره از Github برای مثال استفاده کنیم: برای کار با API این سرویس عالی (و رابط آن گسترده ترین قابلیت ها را ارائه می دهد)، چندین کتابخانه به زبان های مختلف ایجاد شده است، به عنوان مثال، Octokit gem. در مستندات چنین کتابخانه‌هایی (و گوهر نشان داده شده به عنوان مثال)، هر توسعه‌دهنده علاقه‌مندی می‌تواند تمام راه‌های لازم برای دریافت اطلاعات از GitHub و ارسال آن را از طریق API سرویس پیدا کند.

بنابراین، اگر در حال ایجاد API خود هستید، فکر کنید، شاید ارزش آن را داشته باشد که به ایجاد کتابخانه‌های مشابه برای کار با آن در رایج‌ترین زبان‌ها توجه کنید. و آماده باشید که در سطح معینی از تقاضا برای برنامه شما، شخص دیگری می تواند کتابخانه خود را برای کار با API شما ایجاد کند. این خوبه.

لینک های مفید

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

وقت آن است که در مورد چنین مفهومی صحبت کنیم توابع API در ویژوال بیسیک... چرا این توابع در ویژوال بیسیک مهم هستند؟ بیایید بفهمیم، اولاً، وقتی برنامه نویسی را در ویژوال بیسیک شروع می کنید، بلافاصله متوجه می شوید که با استفاده از این توابع می توانید برنامه های بسیار جدی بنویسید، و ثانیاً، بدون استفاده از توابع API نمی توان کارهای زیادی انجام داد، به عنوان مثال، تقریباً همه چیزهای مرتبط. با استفاده از سیستم عامل ویندوز ( به عنوان مثال: پیدا کردن نام کاربری، فضای هارد دیسک و غیره).

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

تئوری عملکرد API ویژوال بیسیک

APIمخفف Application Programming Interface ( رابط برنامه نویسی کاربردی). به عبارت دیگر، API مجموعه ای از توابع است که خود سیستم عامل به برنامه نویس می دهد تا در برنامه های خود از آنها استفاده کند. با استفاده از API، برنامه نویسان به راحتی می توانند ایده های خود را عملی کنند.

توابع API را می توان از ویژوال بیسیک برای انجام کارهایی که کد برنامه نویسی استاندارد ویژوال بیسیک برای آنها کافی نیست فراخوانی کرد. به عنوان مثال، ابزارهای استاندارد ویژوال بیسیک به شما اجازه نمی دهند رایانه خود را خاموش یا راه اندازی مجدد کنید. با این حال، همه اینها را می توان به راحتی با فراخوانی تابع API مناسب انجام داد.

تقریباً تمام توابعی که در ویندوز قرار دارند در داخل DLL قرار دارند ( کتابخانه پیوند پویا). تمامی فایل های dll در پوشه سیستم ویندوز قرار دارند. بیش از 1000 عملکرد API وجود دارد که تقریباً به چهار دسته اصلی تقسیم می شوند.

  • کار با برنامه ها - شروع و بستن برنامه ها، پردازش دستورات منو، جابجایی و تغییر اندازه پنجره ها.
  • گرافیک - ایجاد تصاویر.
  • اطلاعات سیستم - تعریف دیسک فعلی، اندازه حافظه، نام کاربر فعلی و غیره.
  • کار با رجیستری - دستکاری رجیستری ویندوز.

استفاده از توابع API در عمل

حالا بیایید مستقیماً به استفاده از این توابع در عمل بپردازیم. ابتدا توابع API فراخوانی شده در ویژوال بیسیک باید اعلام شوند. اعلان نام DLL و تابع و همچنین اطلاعاتی در مورد تعداد و نوع آرگومان ها را مشخص می کند.

رویه‌های DLL با دستور Declare در بخش General Declarations یک ماژول فرم یا ماژول استاندارد اعلام می‌شوند:

اعلام نام تابع Lib "library" [([_ متغیر [, ByVal,] متغیر] ...])] به عنوان نوع

رویه‌های DLL موجود در ماژول‌های استاندارد به‌طور پیش‌فرض باز هستند و می‌توانند از هر جایی در برنامه فراخوانی شوند. رویه های اعلام شده در یک ماژول فرم خصوصی هستند و باید قبل از آنها کلمه کلیدی Private قرار گیرد.

بخش Lib به شما می گوید کجا باید فایل DLL را که حاوی تابع است جستجو کنید. هنگام مراجعه به کتابخانه های اصلی ویندوز (user32.dll، kernel32.dll، gdi.dll)، نیازی به افزودن پسوند نیست.

اگر مسیر فایل مشخص نشده باشد، مرور دایرکتوری به ترتیب زیر آغاز می شود

  1. دایرکتوری حاوی فایل EXE برنامه؛
  2. پوشه کنونی؛
  3. دایرکتوری سیستم ویندوز؛
  4. دایرکتوری ویندوز؛
  5. مسیر متغیر محیطی

در اینجا لیست کوچکی از DLL های استاندارد ویندوز آمده است:

  • advapi.dll - حفاظت NT، رجیستری و سایر خدمات پیشرفته؛
  • comdlg.dll - کادرهای محاوره ای استاندارد؛
  • gdi.dll - رابط دستگاه گرافیکی؛
  • kernel32.dll - حافظه، دیسک ها، فرآیندها، منابع؛
  • mpr.dll - شبکه ها؛
  • netapi32.dll - کتابخانه API شبکه؛
  • shell32.dll - پوسته ویندوز، کشیدن و رها کردن، انتخاب نمادها.
  • user32.dll - رابط کاربری-ویندوزها، منوها، رشته ها، پیام ها؛
  • version.dll - کنترل نسخه.
  • winmm.dll - چند رسانه ای، صدا، جوی استیک، تایمر؛
  • winspoll.dll - مدیر چاپ.

اکثر رویه های DLL با استفاده از نماد زبان برنامه نویسی C و C ++ مستند می شوند. برای تبدیل موفقیت آمیز یک تابع API به دستور Declare، باید مکانیسم ارسال آرگومان را درک کنید. معمولاً آرگومان ها با مقدار ارسال می شوند. در این حالت کلمه کلیدی ByVal در مقابل نام آرگومان قرار می گیرد. اگر آرگومان با مرجع ارسال شود، ByRef تنظیم می شود.

در اینجا کوچکترین لیستی از توابع استفاده شده در ویژوال بیسیک آمده است:

  • BitBlt - یک تصویر را از یک hDC به دیگری کپی می کند.
  • FindWindow - دسته پنجره را با عنوان مشخص شده پیدا می کند.
  • GetCursorPos - موقعیت فعلی مکان نما ماوس (به صورت جهانی) را برمی گرداند.
  • GetDriveType - نوع درایو را برمی گرداند.
  • GetForegroundWindow - دسته پنجره فعال را برمی گرداند.
  • SetCursorPos - موقعیت جدید نشانگر ماوس را تنظیم می کند.
  • SetVolumeLabel - برچسب دیسک را تغییر می دهد.
  • SetWindowPos - موقعیت پنجره را با یک دسته خاص تنظیم می کند (شما همچنین می توانید از این تابع برای ایجاد پنجره OVER all استفاده کنید.
  • ShellExecute - برنامه مرتبط با پسوندی که فایل مشخص شده را دارد راه اندازی می کند (همچنین می تواند به سادگی برنامه مشخص شده را راه اندازی کند).
  • ShowCursor - نشانگر ماوس را روی صفحه پنهان یا نشان می دهد.

نمونه هایی از کار با رجیستری

همچنین هنگام برنامه نویسی در ویژوال بیسیک و زبان های دیگر، زمانی که نیاز به استفاده از رجیستری ویندوز دارید مشکلی وجود دارد، اما با استفاده از توابع api انجام این کار آسان است، به عنوان مثال:

برای خواندن پارامتر رشته از تابع GetRegString استفاده کنید

مثال:

تست کم نور به عنوان تست رشته = GetRegString (HKEY_LOCAL_MACHINE، _ "Software \ Microsoft \ DirectX"، "Version") Form1.Caption = تست

برای خواندن پارامتر DWORD GetRegDWord

مثال:

تست کم نور به مدت طولانی = GetRegDWord (HKEY_LOCAL_MACHINE، _ "نرم افزار \ Microsoft \ Internet Explorer \ AboutURLs"، "Home") Form1.Caption = تست

SetRegString برای نوشتن پارامتر رشته استفاده می شود

مثال:

SetRegString HKEY_LOCAL_MACHINE، _ "Software \ test"، "MyProgram"، "Options"

اگر کلید یا پارامتر ایجاد نشده باشد، آنها ایجاد می شوند، اگر کلید یا پارامتر از قبل وجود داشته باشد، مقادیر جدید روی مقادیر قدیمی نوشته می شود.

برای نوشتن پارامتری از نوع DWORD، از SetRegDWord استفاده کنید

مثال:

SetRegDWord HKEY_LOCAL_MACHINE، _ "Software \ test"، "MyProgram"، "555"

برای حذف یک کلید از رجیستری، از تابع DeleteRegKey استفاده کنید

مثال:

DeleteRegKey HKEY_LOCAL_MACHINE، "نرم افزار"، "تست"، درست است

پارامتر دوم - کلید والد
سومین پارامتر True در صورت نیاز به تایید حذف یا False در صورت عدم نیاز به تایید است.

برای حذف یک پارامتر از رجیستری، از تابع DeleteRegValue استفاده کنید

مثال:

DeleteRegValue HKEY_LOCAL_MACHINE، _ "Software \ Microsoft \ Internet Explorer \ AboutURLs"، "mozilla"، False

در واقع، امکانات توابع API در سیستم عامل ویندوز تقریبا بی پایان است. اجازه دهید این بررسی این ویژگی ویژوال بیسیک را به پایان برسانیم و در نهایت یک برنامه کوچک با استفاده از توابع API بنویسیم.

این برنامه فقط یک پیغام را روی صفحه نمایش می دهد، کد زیر را قرار دهید:

عملکرد اعلام خصوصی BeginPath Lib "gdi32" (ByVal hdc تا زمانی) تا زمانی که عملکرد خصوصی اعلام شود EndPath Lib "gdi32" (ByVal hdc تا زمانی) تا زمانی که عملکرد خصوصی اعلام شود PathToRegion Lib "gdi32" As Long Declare (ByVal hdc) تابع SetWindowRgn Lib "user32" (ByVal hWnd As Long، ByVal hRgn As Long، ByVal bRedraw As Boolean) As Long Private Sub Form_Load () Const TEXT = "شما از API استفاده کردید" Dim hRgn As Long New Roman =Time. "Font.Bold = True Font.Size = 60 Width = TextWidth (TEXT) Height = TextHeight (TEXT) BeginPath hdc Print TEXT EndPath hdc hRgn = PathToRegion (hdc) SetWindowRgn hWnd, -Fal.Width 2 , (Screen.Height - Height) / 2 End Sub

ما در اینجا از 4 تابع (BeginPath، EndPath، PathToRegion، SetWindowRgn) استفاده کردیم که در دو کتابخانه dll (gdi32، user32) قرار دارند.

فعلاً همین است!

اولین نسخه اندروید در اکتبر 2008 ظاهر شد - فقط 4 سال پیش، که برای یک سیستم عامل چندان زیاد نیست. در این مدت بیش از دوجین آپدیت منتشر شده است. بخش عمده ای از به روز رسانی ها شامل عناصر جدید است نرم افزاررابط ( API) که برنامه ها می توانند برای نیازهای خود از آن استفاده کنند. برای اینکه این یا آن نسخه از اندروید بداند که آیا می تواند درخواست های برنامه نویسی این یا آن برنامه را برآورده کند، شماره گذاری رابط های برنامه نویسی معرفی شد. شماره مشخص کننده نسخه رابط در خود برنامه تعبیه شده بود و سیستم از آن برای تعیین سازگاری این برنامه با خودش استفاده کرد. این شماره «سطح API» نام داشت. در مجموع، قبلاً 17 سطح وجود داشت که هر کدام از آنها شامل تمام عملکردهای قبلی و موارد جدید اضافه شده بود.

برای نوشتن یک برنامه، یک SDK ( بسته توسعه نرم افزار) - مجموعه ای از ابزارهای توسعه که بخش اصلی آن یک کتابخانه کلاس از سطح API مربوطه است. هر سطح API کتابخانه مخصوص به خود را دارد که از عملکردهای آن توسط برنامه استفاده می شود. اگر کتابخانه اولین سطح API را برای توسعه برنامه خود بگیریم، توابعی را که بعداً ظاهر شد، دریافت نخواهیم کرد. اگر کتابخانه ای از آخرین سطح را انتخاب کنیم، در صورتی که به طور ناگهانی از عملکردی استفاده کنیم که قبلاً پشتیبانی نمی شد، این خطر را داریم که برنامه خود را با نسخه های قدیمی اندروید ناسازگار کنیم. بنابراین چگونه می‌توانید سطح API را انتخاب کنید؟

در برنامه ما، ما باید دو سطح API را نصب کنیم (یک سطح سوم نیز وجود دارد، اما در واقع به عنوان غیر ضروری از بین رفت). اولی حداقل سطح API است که برنامه می تواند در آن اجرا شود و دومی سطح API هدف است، یعنی سطح API که برنامه در آن کامپایل شده است. هنگام انتشار یک برنامه، این سطح باید در آن زمان تا حد امکان در دسترس باشد، به طوری که در نسخه های جدید اندروید در حالت سازگاری کار نکند، بلکه از تمام ویژگی های نسخه جدید سیستم عامل (مستقل از نویسنده) استفاده کند. از خود برنامه). در زمان نوشتن یک برنامه، باید آن را به پایین ترین سطح ممکن API کامپایل کرد تا از توابع جدید استفاده نشود.

در نتیجه، متدولوژی توسعه اپلیکیشن زیر را دریافت می کنیم:

  1. ما مخاطبان هدف را مطالعه می کنیم - کدام نسخه اندروید روی تلفن های هوشمند آنها نصب شده است. اگر برای همه می نویسیم، آشنا شدن با برنامه های به روز شده دائماً برای استفاده از یک نسخه خاص از سیستم در دستگاه های تلفن همراه مفید خواهد بود: http://developer.android.com/intl/ru/about/dashboards /index.html. امروز می بینیم که اکثریت در سطح 10 API هستند، اما قطعات نسبتاً بزرگی نیز در سطوح 7 و 8 قرار دارند. تفاوت در سطوح را می توان در اینجا (http://developer.android.com/intl/ru/) پیدا کرد. راهنمای /topics/manifest/uses-sdk-element.html) را با کلیک بر روی شماره API مربوطه در جدول.
  2. اگر نمی‌خواهیم حدود 10 درصد از مخاطبان خود را از دست بدهیم، حداقل سطح API 7 را انتخاب می‌کنیم. در غیر این صورت، می‌توانیم سطح API 10 را انتخاب کنیم که تقریباً نیمی از کاربران امروز روی آن نشسته‌اند. SDK مربوط به حداقل سطح انتخاب شده را نصب کنید.
  3. سطح هدف را برابر با حداقل قرار می دهیم، برنامه را برای آن می نویسیم و کامپایل می کنیم. ما آن را روی یک شبیه ساز تلفن هوشمند با حداقل API نصب شده راه اندازی و آزمایش می کنیم.
  4. پس از نوشتن و رفع اشکال برنامه، سطح هدف را یک بار افزایش می دهیم، برنامه را برای SDK سطح هدف جدید کامپایل می کنیم و آن را در یک شبیه ساز گوشی هوشمند جدید با سطح مربوطه تست می کنیم. در مرحله بعد، ما به افزایش سطح API هدف، کامپایل و آزمایش برنامه ادامه می دهیم تا زمانی که به بالاترین سطح API برسیم.
  5. تمام، حالا می توانید برنامه را منتشر کنید. هنگامی که یک نسخه جدید از اندروید با سطح API جدید منتشر می شود، برنامه ما در حالت سازگاری در آن قرار می گیرد و مانند قبل کار می کند. برای اینکه برنامه به طور مستقیم و نه در حالت سازگاری کار کند، پروژه خود را می گیریم، SDK جدید آخرین سطح API را دانلود می کنیم و برنامه را زیر آن کامپایل می کنیم. اکنون برنامه طبق معمول بر روی سیستم جدید شروع می شود و ممکن است طبق سنت نسخه جدید سیستم عامل کمی متفاوت به نظر برسد. در عین حال، در نسخه های قدیمی سیستم، برنامه یکسان باقی می ماند.
در نتیجه، با تأمل، برای خودم در سطح 7 API مستقر شدم. علاوه بر این، هنگام استفاده از برخی از توابع جدید که در API بسیار دیرتر ظاهر شدند (به عنوان مثال، قطعات)، خود محیط توسعه به من پیشنهاد استفاده از یک بسته سازگاری ویژه را داد. و آن را به پروژه اضافه کرد ... در نتیجه، من توانستم از برخی عملکردهای جدید از API جدید در API قدیمی استفاده کنم. با این حال، این موضوع دیگری است.

مقالات مرتبط برتر