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

سطح API: 15

Android 4.0.3 ( ICE_CREAM_SANDWICH_MR1 ) یک نسخه افزایشی از خانواده پلتفرم Android 4.0 ( ICE_CREAM_SANDWICH ) است. این نسخه شامل ویژگی های جدید برای کاربران و توسعه دهندگان، تغییرات API و رفع اشکال مختلف است.

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

نمای کلی API

بخش های زیر یک نمای کلی فنی از API های جدید در Android نسخه 4.0.3 ارائه می دهد.

API جریان اجتماعی در ارائه دهنده مخاطبین

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

جدول پایگاه داده که شامل جریان اجتماعی یک مخاطب فردی است توسط android.provider.ContactsContract.StreamItems تعریف می شود که Uri آن در دایرکتوری ContactsContract.RawContacts که آیتم های جریان به آن تعلق دارند، تودرتو است. هر جدول جریان اجتماعی شامل چندین ستون برای ابرداده در مورد هر مورد جریان است، مانند نمادی که منبع را نشان می‌دهد (یک آواتار)، برچسبی برای مورد، محتوای متن اصلی، نظرات مربوط به مورد (مانند پاسخ‌های افراد دیگر)، و بیشتر عکس‌های مرتبط با یک جریان در جدول دیگری ذخیره می‌شوند که توسط android.provider.ContactsContract.StreamItemPhotos تعریف شده است، که به عنوان یک فهرست فرعی از android.provider.ContactsContract.StreamItems Uri در دسترس است.

برای اطلاعات بیشتر به android.provider.ContactsContract.StreamItems و android.provider.ContactsContract.StreamItemPhotos مراجعه کنید.

برای خواندن یا نوشتن موارد جریان اجتماعی برای مخاطب، یک برنامه باید با اعلام <uses-permission android:name="android.permission.READ_SOCIAL_STREAM"> و/یا <uses-permission android:name="android.permission.WRITE_SOCIAL_STREAM"> از کاربر اجازه درخواست کند. <uses-permission android:name="android.permission.WRITE_SOCIAL_STREAM"> در فایل های مانیفست آنها.

ارائه دهنده تقویم
  • کلاس CalendarContract.Colors را برای نمایش جدول رنگی در Calendar Provider اضافه می کند. کلاس زمینه هایی را برای دسترسی به رنگ های موجود برای یک حساب مشخص فراهم می کند. رنگ‌ها با COLOR_KEY ارجاع می‌شوند که باید برای یک نام/نوع حساب خاص منحصر به فرد باشد. این مقادیر را فقط می‌توان توسط آداپتور همگام‌سازی به‌روزرسانی کرد.
  • ALLOWED_AVAILABILITY و ALLOWED_ATTENDEE_TYPES را برای پشتیبانی تبادل/همگام‌سازی اضافه می‌کند.
  • TYPE_RESOURCE (مانند اتاق‌های کنفرانس) را برای شرکت‌کنندگان و AVAILABILITY_TENTATIVE و همچنین EVENT_COLOR_KEY برای رویدادها اضافه می‌کند.

ویجت های صفحه اصلی

با شروع از اندروید 4.0، ویجت‌های صفحه اصلی دیگر نباید دارای بالشتک مخصوص به خود باشند. در عوض، سیستم اکنون به طور خودکار برای هر ویجت، بر اساس ویژگی های صفحه فعلی، بالشتک اضافه می کند. این منجر به ارائه یکنواخت تر و سازگارتر ویجت ها در یک شبکه می شود. برای کمک به برنامه‌هایی که ویجت‌های صفحه اصلی را میزبانی می‌کنند، این پلتفرم روش جدیدی را ارائه می‌کند getDefaultPaddingForWidget() . برنامه‌ها می‌توانند این روش را برای دریافت padding تعریف‌شده توسط سیستم فراخوانی کنند و هنگام محاسبه تعداد سلول‌هایی که باید به ویجت تخصیص داده شوند، آن را محاسبه کنند.

املا

  • برای برنامه‌هایی که به خدمات غلط‌گیر املا دسترسی دارند، یک متد cancel() جدید، تمام کارهای در حال تعلیق و در حال اجرا املا را در یک جلسه لغو می‌کند.
  • برای سرویس‌های غلط‌گیر املا، یک پرچم پیشنهاد جدید، RESULT_ATTR_HAS_RECOMMENDED_SUGGESTIONS ، به سرویس‌ها اجازه می‌دهد پیشنهادهای با اعتماد به نفس بالاتر را از پیشنهادهای با اعتماد کمتر تشخیص دهند. به عنوان مثال، اگر یک کلمه ورودی در فرهنگ لغت کاربر نیست، اما پیشنهادات احتمالی دارد، یک غلط‌گیر املا می‌تواند پرچم را تنظیم کند، یا اگر کلمه ورودی در فرهنگ لغت نیست و پیشنهاداتی دارد که احتمالاً مفیدتر هستند، پرچم را تنظیم نکند. .

    برنامه‌های متصل به غلط‌گیر املا می‌توانند از پرچم RESULT_ATTR_HAS_RECOMMENDED_SUGGESTIONS در ترکیب با سایر ویژگی‌های پیشنهاد، و همچنین روش‌های getSuggestionsAttributes() و getSuggestionsCount() استفاده کنند تا مشخص کنند کلمات ورودی را به‌عنوان غلط املایی علامت‌گذاری کنند یا پیشنهاد ارائه کنند.

  • یک سبک جدید FLAG_AUTO_CORRECTION برای بازه‌های متن نشان می‌دهد که تصحیح خودکار روی کلمه/متنی که کاربر در حال تایپ/نوشتن آن است اعمال می‌شود. این نوع پیشنهاد به گونه‌ای متفاوت ارائه می‌شود تا نشان دهد تصحیح خودکار در حال انجام است.

بلوتوث

روش‌های عمومی جدید fetchUuidsWithSdp() و getUuids() به برنامه‌ها اجازه می‌دهند ویژگی‌های (UUID) پشتیبانی شده توسط یک دستگاه راه دور را تعیین کنند. در مورد fetchUuidsWithSdp() ، سیستم یک سرویس را در دستگاه راه دور انجام می دهد تا از UUID ها پشتیبانی شود، سپس نتیجه را در یک هدف ACTION_UUID پخش می کند.

جعبه ابزار UI

متدهای جدید setUserVisibleHint() و getUserVisibleHint() به یک قطعه اجازه می دهد تا یک اشاره به اینکه آیا در حال حاضر برای کاربر قابل مشاهده است یا نه، تنظیم کند. سیستم شروع قطعاتی را که برای کاربر قابل مشاهده نیستند به تعویق می اندازد تا زمانی که بارگذارهای قطعات قابل مشاهده اجرا شوند. نکته قابل مشاهده به طور پیش فرض "درست" است.

گرافیک

قابلیت دسترسی

  • مشتریان RemoteViews اکنون می توانند از متد setContentDescription() برای تنظیم و دریافت توضیحات محتوای هر View در طرح بندی بادشده استفاده کنند.
  • متدهای getMaxScrollX() ، getMaxScrollY() ، setMaxScrollX() و setMaxScrollY() به برنامه ها اجازه می دهد تا حداکثر افست اسکرول را برای یک شی AccessibilityRecord دریافت و تنظیم کنند.
  • هنگامی که حالت کاوش لمسی فعال است، یک تنظیم امن جدید ACCESSIBILITY_SPEAK_PASSWORD نشان می دهد که آیا کاربر از IME درخواست می کند که متن وارد شده در فیلدهای رمز عبور را بیان کند، حتی زمانی که هدست استفاده نمی شود. به طور پیش‌فرض، هیچ متن رمز عبوری گفته نمی‌شود، مگر اینکه از هدست استفاده شود.

تبدیل متن به گفتار

  • متد جدید getFeatures() را برای پرس و جو و فعال کردن پشتیبانی شبکه TTS اضافه می کند.
  • یک کلاس شنونده جدید به نام UtteranceProgressListener اضافه می کند که موتورها می توانند برای دریافت اعلان خطاهای ترکیب گفتار ثبت نام کنند.

پایگاه داده

  • یک کلاس CrossProcessCursorWrapper جدید به ارائه دهندگان محتوا اجازه می دهد تا نتایج را برای یک پرس و جوی متقابل فرآیندی کارآمدتر برگردانند. کلاس جدید یک بلوک سازنده مفید برای بسته بندی مکان نماها است که از راه دور به فرآیندها ارسال می شود. همچنین می تواند اشیاء Cursor معمولی را به صورت شفاف به اشیاء CrossProcessCursor تبدیل کند.

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

  • سازنده CursorWindow(java.lang.String) اکنون یک رشته نام را به عنوان ورودی می گیرد. سیستم دیگر بین پنجره های مکان نما محلی و راه دور تمایز قائل نمی شود، بنابراین CursorWindow(boolean) اکنون منسوخ شده است.

مقاصد

دسته‌های جدیدی را برای هدف قرار دادن انواع معمول برنامه‌های کاربردی روی دستگاه، مانند CATEGORY_APP_BROWSER ، CATEGORY_APP_CALENDAR ، CATEGORY_APP_MAPS ، و غیره اضافه می‌کند.

دوربین

مجوزها

موارد زیر مجوزهای جدید هستند:

  • android.Manifest.permission#READ_SOCIAL_STREAM و android.Manifest.permission#WRITE_SOCIAL_STREAM: به یک آداپتور همگام‌سازی اجازه می‌دهد تا داده‌های جریان اجتماعی را برای یک مخاطب در ارائه‌دهنده مخاطبین مشترک بخواند و بنویسد.

برای مشاهده جزئیات همه تغییرات API در Android 4.0.3 (سطح 15 API)، به گزارش تفاوت های API مراجعه کنید.

سطح API

به API Android 4.0.3 یک شناسه عدد صحیح - 15 - اختصاص داده شده است که در خود سیستم ذخیره می شود. این شناسه که "سطح API" نامیده می شود، به سیستم اجازه می دهد تا قبل از نصب برنامه به درستی تشخیص دهد که آیا یک برنامه با سیستم سازگار است یا خیر.

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

برای اطلاعات بیشتر، به سند سطوح API مراجعه کنید.