API های اندروید 2.3.4

سطح API: 10

Android 2.3.4 ( GINGERBREAD_MR1 ) یک نسخه تعمیر و نگهداری است که چندین رفع اشکال و وصله به پلتفرم Android 2.3 اضافه می کند، بدون اینکه API تغییری نسبت به Android 2.3.3 داشته باشد. علاوه بر این، Android 2.3.4 از طریق Open Accessory Library اختیاری، از Open Accessory API برای دستگاه های تلفن همراه پشتیبانی می کند.

برای توسعه دهندگان، پلتفرم Android 2.3.4 به عنوان یک جزء قابل دانلود برای Android SDK در دسترس است. پلتفرم قابل دانلود شامل کتابخانه اندروید و تصویر سیستم، و همچنین مجموعه ای از پوسته های شبیه ساز و موارد دیگر است. برای شروع توسعه یا آزمایش با Android 2.3.4، از Android SDK Manager برای دانلود پلتفرم در SDK خود استفاده کنید.

نمای کلی API

Android 2.3.4 همان چارچوب API را برای برنامه ها ارائه می دهد که Android 2.3.3 (سطح API 10). برای خلاصه‌ای از API، به یادداشت‌های نسخه Android 2.3.3 مراجعه کنید.

کتابخانه لوازم جانبی را باز کنید

Open Accessory یک قابلیت جدید برای ادغام تجهیزات جانبی متصل با برنامه های در حال اجرا بر روی پلت فرم است. این قابلیت مبتنی بر پشته USB (گذرگاه سریال جهانی) است که در پلتفرم تعبیه شده و یک API در معرض برنامه‌ها قرار دارد. لوازم جانبی که به عنوان لوازم جانبی به دستگاه های مجهز به Android متصل می شوند، به عنوان میزبان USB متصل می شوند.

Open Accessory در Android 3.1 (سطح API 12) معرفی شده است، اما برای دستگاه‌های دارای Android 2.3.4 با استفاده از یک کتابخانه خارجی اختیاری، Open Accessory Library، در دسترس است. این کتابخانه یک چارچوب API را نشان می‌دهد که به برنامه‌ها اجازه می‌دهد انواع دستگاه‌های متصل شده از طریق USB را کشف کنند، با آنها ارتباط برقرار کنند و مدیریت کنند. همچنین اجرای API را در برابر بخش‌هایی از پلتفرم اندروید که مستقیماً در معرض برنامه‌های اندروید 2.3.4 قرار ندارند، ارائه می‌کند.

کتابخانه لوازم جانبی باز در هر دستگاه داده شده اختیاری است. سازندگان دستگاه ممکن است انتخاب کنند که آیا کتابخانه لوازم جانبی باز را در محصولات خود قرار دهند یا آن را حذف کنند. این کتابخانه با Android 3.1 سازگار است، بنابراین برنامه‌های توسعه‌یافته با Android 2.3.4 به درستی روی دستگاه‌های دارای Android 3.1 اجرا می‌شوند، اگر آن دستگاه‌ها از لوازم جانبی USB پشتیبانی کنند.

API ارائه شده توسط Open Accessory Library مبتنی بر Open Accessory API ارائه شده در Android 3.1 است. در بیشتر مناطق، می توانید از تکنیک ها و API های مشابه استفاده کنید. با این حال، توسعه برای Open Accessory Library در Android 2.3.4 از این جهات با استاندارد USB API متفاوت است:

  • به دست آوردن یک شی UsbManager — برای به دست آوردن یک شی UsbManager هنگام استفاده از کتابخانه افزونه، به جای getSystemService() getInstance() () استفاده کنید.

    کاتلین

    val manager = UsbManager.getInstance(this)

    جاوا

    UsbManager manager = UsbManager.getInstance(this);
  • به دست آوردن UsbAccessory از یک هدف فیلتر شده — هنگامی که یک دستگاه یا لوازم جانبی متصل را با فیلتر قصد فیلتر می کنید، شی UsbAccessory در داخل intent قرار می گیرد که به برنامه شما ارسال می شود. اگر از کتابخانه افزونه استفاده می کنید، می توانید شی UsbAccessory را به روش زیر دریافت کنید:

    کاتلین

    val accessory = UsbManager.getAccessory(intent)

    جاوا

    UsbAccessory accessory = UsbManager.getAccessory(intent)
  • بدون پشتیبانی از میزبان USB - Android 2.3.4 و Open Accessory Library از حالت میزبان USB (مثلاً از طریق UsbDevice ) پشتیبانی نمی‌کنند، اگرچه حالت میزبان USB در Android 3.1 پشتیبانی می‌شود. دستگاهی که دارای Android نسخه 2.3.4 است نمی تواند به عنوان میزبان USB عمل کند. این کتابخانه، دستگاه مجهز به Android را قادر می‌سازد تا فقط به عنوان یک دستگاه جانبی عمل کند و لوازم جانبی متصل به عنوان میزبان USB (از طریق UsbAccessory ) عمل کند.

برای توسعه برنامه‌ها با استفاده از Open Accessory Library، به موارد زیر نیاز دارید:

  • آخرین نسخه ابزار Android SDK
  • آخرین نسخه افزونه Google APIs که شامل خود کتابخانه است (برای پیوند)
  • یک دستگاه سخت‌افزار واقعی با Android 2.3.4 (یا Android 3.1) با پشتیبانی از لوازم جانبی USB، برای تست زمان اجرا در برابر دستگاه‌های متصل

برای بحث کامل در مورد نحوه توسعه برنامه‌هایی که با لوازم جانبی USB تعامل دارند، لطفاً به مستندات توسعه‌دهنده مرتبط مراجعه کنید.

علاوه بر این، توسعه‌دهندگان می‌توانند در Google Play درخواست فیلتر کنند، به طوری که برنامه‌هایشان برای کاربرانی که دستگاه‌هایشان پشتیبانی لوازم جانبی مناسب را ارائه نمی‌کنند، در دسترس نباشد. برای درخواست فیلتر، عنصر زیر را به مانیفست برنامه اضافه کنید:

<uses-feature
  android:name="android.hardware.usb.accessory"
  android:required="true">

سطح API

پلت فرم Android 2.3.4 سطح API را افزایش نمی دهد - از همان سطح API Android 2.3.3، API سطح 10 استفاده می کند.

برای استفاده از API های معرفی شده در سطح API 10 در برنامه خود، باید برنامه را در برابر کتابخانه Android که در آخرین نسخه افزونه Google APIs ارائه شده است، کامپایل کنید، که شامل Open Accessory نیز می شود.

بسته به نیازتان، ممکن است لازم باشد یک ویژگی android:minSdkVersion="10" نیز به عنصر <uses-sdk> در مانیفست برنامه اضافه کنید. اگر برنامه شما فقط برای اجرا بر روی اندروید 2.3.3 و بالاتر طراحی شده است، اعلام ویژگی از نصب برنامه در نسخه های قبلی پلتفرم جلوگیری می کند.

برای اطلاعات بیشتر، سطح API چیست؟