سطح 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
برای رویدادها اضافه میکند.
ویجت های صفحه اصلی
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()
به یک قطعه اجازه می دهد تا یک اشاره به اینکه آیا در حال حاضر برای کاربر قابل مشاهده است یا نه، تنظیم کند. سیستم شروع قطعاتی را که برای کاربر قابل مشاهده نیستند به تعویق می اندازد تا زمانی که بارگذارهای قطعات قابل مشاهده اجرا شوند. نکته قابل مشاهده به طور پیش فرض "درست" است.
گرافیک
- روش جدید
setDefaultBufferSize(int, int)
درSurfaceTexture
اندازه پیش فرض بافرهای تصویر را تنظیم می کند. این روش ممکن است برای تنظیم اندازه تصویر هنگام تولید تصاویر باCanvas
(از طریقlockCanvas(Rect)
) یا OpenGL ES (از طریق EGLSurface) استفاده شود. - تعاریفی را برای فهرستهای برنامه افزودنی GL_OES_EGL_image_external OpenGL ES اضافه میکند —
GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES
،GL_SAMPLER_EXTERNAL_OES
،GL_TEXTURE_BINDING_EXTERNAL_OES
، وGL_TEXTURE_EXTERNAL_OES
.
قابلیت دسترسی
- مشتریان
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
، و غیره اضافه میکند.
دوربین
-
MediaMetadataRetriever
ثابت جدیدMETADATA_KEY_LOCATION
را اضافه میکند تا به برنامهها امکان دسترسی به اطلاعات موقعیت مکانی یک تصویر یا ویدیو را بدهد. -
CamcorderProfile
پروفایل های وضوح QVGA (320x240) را اضافه می کند. سطح کیفیت با ثابت هایQUALITY_QVGA
وQUALITY_TIME_LAPSE_QVGA
نشان داده می شود. - روش های جدید
setVideoStabilization()
،getVideoStabilization()
وisVideoStabilizationSupported()
به شما امکان می دهد تثبیت کننده ویدیو را برایCamera
بررسی و مدیریت کنید.
مجوزها
موارد زیر مجوزهای جدید هستند:
- 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 مراجعه کنید.