سطح API: 10
Android 2.3.3 ( GINGERBREAD_MR1
) یک ویژگی کوچک منتشر شده است که چندین پیشرفت و API را به پلتفرم Android 2.3 اضافه می کند.
برای توسعه دهندگان، پلتفرم Android 2.3.3 به عنوان یک جزء قابل دانلود برای Android SDK در دسترس است. پلتفرم قابل دانلود شامل کتابخانه اندروید و تصویر سیستم، و همچنین مجموعه ای از پوسته های شبیه ساز و موارد دیگر است. برای شروع توسعه یا آزمایش با Android 2.3.3، از Android SDK Manager برای دانلود پلتفرم در SDK خود استفاده کنید.
نمای کلی API
بخشهای زیر یک نمای کلی فنی از چیزهای جدید برای توسعهدهندگان نسخه 2.3.3، از جمله ویژگیهای جدید و تغییرات در چارچوب API نسبت به نسخه قبلی ارائه میدهند.
ارتباطات میدان نزدیک (NFC)
Android 2.3.3 پشتیبانی بهبودیافته و گستردهای را از NFC ارائه میکند تا به برنامهها اجازه دهد تا با انواع بیشتری از برچسبها به روشهای جدید تعامل داشته باشند.
مجموعه جدید و جامعی از APIها به برنامههای کاربردی امکان دسترسی خواندن و نوشتن به طیف وسیعتری از فناوریهای برچسب استاندارد را میدهد، از جمله:
- NFC-A (ISO 14443-3A)
- NFC-B (ISO 14443-3B)
- NFC-F (JIS 6319-4)
- NFC-V (ISO 15693)
- ISO-DEP (ISO 14443-4)
- MIFARE Classic
- MIFARE فوق سبک
- برچسب های NDEF انجمن NFC
این پلتفرم همچنین یک پروتکل ارتباطی محدود به همتا و API را ارائه می دهد. فعالیتهای پیشزمینه میتوانند از API برای ثبت یک پیام NDEF استفاده کنند که هنگام اتصال به سایر دستگاههای NFC ارسال میشود.
ارسال تگ پیشرفته اکنون به برنامهها کنترل بیشتری بر نحوه و زمان راهاندازی، زمانی که یک برچسب NFC کشف میشود، میدهد. پیش از این، این پلتفرم از ارسال هدف تک مرحله ای برای اطلاع رسانی به برنامه های کاربردی علاقه مند در مورد کشف یک برچسب استفاده می کرد. این پلتفرم اکنون از یک فرآیند چهار مرحلهای استفاده میکند که به برنامه پیشزمینه امکان میدهد تا کنترل یک رویداد برچسب را قبل از اینکه به هر برنامهای دیگر منتقل شود، در دست بگیرد ( android.nfc.NfcAdapter.enableForegroundDispatch()
). فرآیند ارسال جدید همچنین به برنامهها این امکان را میدهد که به محتوای برچسب و فناوریهای برچسب خاص گوش دهند، بر اساس دو اقدام جدید - android.nfc.action.NDEF_DISCOVERED
و android.nfc.action.TECH_DISCOVERED
.
NFC API در بستههای android.nfc
و android.nfc.tech
موجود است. کلاس های کلیدی عبارتند از:
-
NfcAdapter
که نشان دهنده سخت افزار NFC روی دستگاه است. -
NdefMessage
، که یک پیام داده NDEF را نشان می دهد، فرمت استانداردی که در آن "سوابق" حامل داده بین دستگاه ها و برچسب ها منتقل می شود. یک پیام NDEF بسیاری از رکوردهای NDEF از انواع مختلف را ضبط می کند. برنامهها میتوانند این پیامها را ازNDEF_DISCOVERED
،TECH_DISCOVERED
، یاTAG_DISCOVERED
Intent دریافت کنند. -
NdefRecord
، ارائه شده در یکNdefMessage
، که نوع دادههای به اشتراک گذاشته شده را توصیف میکند و خود دادهها را حمل میکند. -
Tag
، که نشان دهنده یک برچسب اسکن شده توسط دستگاه است. بر اساس فناوری تگ زیربنایی، چندین نوع برچسب پشتیبانی میشوند. -
TagTechnology
، رابطی که به برنامهها امکان دسترسی به ویژگیهای برچسب و عملیات ورودی/خروجی بر اساس فناوریهای موجود در برچسب را میدهد. برای فهرست کامل فناوریهای برچسبهایی که در Android 2.3.3 پشتیبانی میشوند، بهandroid.nfc.tech
مراجعه کنید.
ارتباطات NFC به فناوری بی سیم در سخت افزار دستگاه متکی است و در همه دستگاه های اندرویدی وجود ندارد. دستگاههای Android که از NFC پشتیبانی نمیکنند، با فراخوانی getDefaultAdapter(Context)
یک شی null برمیگردانند و context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_NFC)
false
برمیگرداند. با این حال، API NFC بدون در نظر گرفتن پشتیبانی سخت افزاری، همیشه وجود دارد.
برای استفاده از NFC API، برنامه ها باید با اعلام <uses-permission android:name="android.permission.NFC">
در فایل های مانیفست خود، از کاربر اجازه درخواست کنند.
علاوه بر این، توسعه دهندگان می توانند در Google Play درخواست فیلتر کنند، به طوری که برنامه های آنها برای کاربرانی که دستگاه هایشان از NFC پشتیبانی نمی کنند قابل شناسایی نباشد. برای درخواست فیلتر کردن، <uses-feature android:name="android.hardware.nfc" android:required="true">
را به مانیفست برنامه اضافه کنید.
برای اطلاعات بیشتر، راهنمای توسعهدهنده NFC را بخوانید.
بلوتوث
Android 2.3.3 پلت فرم و پشتیبانی API را برای اتصالات سوکت غیرایمن بلوتوث اضافه می کند. این به برنامهها اجازه میدهد با دستگاههای سادهای که ممکن است رابط کاربری برای احراز هویت ارائه نکنند، ارتباط برقرار کنند. برای اطلاعات بیشتر به createInsecureRfcommSocketToServiceRecord(java.util.UUID)
و listenUsingInsecureRfcommWithServiceRecord(java.lang.String, java.util.UUID)
مراجعه کنید.
گرافیک
- یک کلاس
BitmapRegionDecoder
جدید به برنامهها اجازه میدهد تا یک منطقه مستطیل را از یک تصویر رمزگشایی کنند. API مخصوصاً زمانی مفید است که یک تصویر اصلی بزرگ است و برنامه فقط به بخش هایی از تصویر نیاز دارد. - یک فیلد جدید
inPreferQualityOverSpeed
درBitmapFactory.Options
به برنامهها اجازه میدهد تا از روش IDCT دقیقتر اما کمی کندتر در رمزگشایی JPEG استفاده کنند. این به نوبه خود کیفیت تصویر بازسازی شده را بهبود می بخشد.
چارچوب رسانه ای
- یک کلاس
MediaMetadataRetriever
جدید یک رابط یکپارچه برای بازیابی فریم و ابرداده از یک فایل رسانه ورودی فراهم می کند. -
MediaRecorder.AudioEncoder
وMediaRecorder.OutputFormat
شامل فیلدهای جدیدی برای تعیین فرمت های AMR Wideband و AAC هستند.
تشخیص گفتار
API تشخیص گفتار شامل ثابتهای جدیدی است که به شما امکان میدهد نتایج جستجوی صوتی را به روشهای جدیدی مدیریت کنید. اگرچه ثابت های جدید برای استفاده عادی از تشخیص گفتار مورد نیاز نیستند، می توانید از آنها برای ارائه نمای متفاوتی از نتایج جستجوی صوتی در برنامه خود استفاده کنید. برای اطلاعات، RecognizerResultsIntent
را ببینید.
سطح API
پلتفرم Android 2.3.3 نسخه به روز شده ای از چارچوب API را ارائه می دهد. به API Android 2.3.3 یک شناسه عدد صحیح - 10 - اختصاص داده شده است که در خود سیستم ذخیره می شود. این شناسه که "سطح API" نامیده می شود، به سیستم اجازه می دهد تا قبل از نصب برنامه به درستی تعیین کند که آیا یک برنامه با سیستم سازگار است یا خیر.
برای استفاده از API های معرفی شده در Android 2.3.3 در برنامه خود، باید برنامه را در مقابل کتابخانه اندرویدی که در پلتفرم Android 2.3.3 SDK ارائه شده است، کامپایل کنید. بسته به نیازتان، ممکن است لازم باشد یک ویژگی android:minSdkVersion="10"
نیز به عنصر <uses-sdk>
در مانیفست برنامه اضافه کنید. اگر برنامه شما فقط برای اجرا بر روی اندروید 2.3 و بالاتر طراحی شده است، اعلام ویژگی از نصب برنامه در نسخه های قبلی پلتفرم جلوگیری می کند.
برای اطلاعات بیشتر، سطح API چیست؟