اندروید 4.3
به اندروید 4.3، یک نسخه شیرین تر از Jelly Bean خوش آمدید!
اندروید 4.3 شامل بهینه سازی عملکرد و ویژگی های جدید عالی برای کاربران و توسعه دهندگان است. این سند یک نگاه اجمالی از چیزهای جدید برای توسعه دهندگان ارائه می دهد.
برای نگاهی دقیق به APIهای توسعهدهنده جدید، سند Android 4.3 APIs را ببینید.
درباره ویژگیهای جدید Jelly Bean برای کاربران در www.android.com اطلاعات بیشتری کسب کنید.
سریع تر، روان تر، پاسخگوتر
Android 4.3 مبتنی بر بهبودهای عملکردی است که قبلاً در Jelly Bean گنجانده شده است - زمانبندی vsync ، بافر سهگانه ، کاهش تأخیر لمسی ، تقویت ورودی CPU و رندر دو بعدی با شتاب سختافزاری - و بهینهسازیهای جدیدی اضافه میکند که اندروید را حتی سریعتر میکند.
برای افزایش عملکرد گرافیکی، رندر دوبعدی شتابدهنده سختافزار اکنون جریان دستورات ترسیم را بهینه میکند و با مرتب کردن مجدد و ادغام عملیات ترسیم، آن را به یک فرمت GPU کارآمدتر تبدیل میکند. برای پردازش چند رشته ای، رندر هم اکنون می تواند از multithreading در چندین هسته CPU برای انجام وظایف خاص استفاده کند.
Android 4.3 همچنین رندر اشکال و متن را بهبود می بخشد. اکنون اشکالی مانند دایره ها و مستطیل های گرد با کیفیت بالاتری به شیوه ای کارآمدتر ارائه می شوند. بهینهسازیهای متن شامل افزایش عملکرد در هنگام استفاده از فونتهای متعدد یا مجموعههای پیچیده گلیف (CJK)، کیفیت رندر بالاتر هنگام مقیاسبندی متن، و رندر سریعتر سایههای در حال پخش است.
تخصیص بافر پنجره بهبود یافته منجر به تخصیص سریعتر بافر تصویر برای برنامه های شما می شود و زمان شروع رندر هنگام ایجاد پنجره را کاهش می دهد.
برای گرافیک با بالاترین کارایی، Android 4.3 از OpenGL ES 3.0 پشتیبانی می کند و آن را از طریق چارچوب و API های بومی برای برنامه ها در دسترس قرار می دهد. در دستگاههای پشتیبانیشده، موتور رندر دوبعدی تسریعشده سختافزاری از OpenGL ES 3.0 برای بهینهسازی مدیریت بافت و افزایش وفاداری رندر گرادیان بهره میبرد.
OpenGL ES 3.0 برای گرافیک با کارایی بالا
Android 4.3 پشتیبانی پلتفرمی را برای Khronos OpenGL ES 3.0 معرفی میکند و بازیها و سایر برنامهها را با بالاترین عملکرد گرافیکی دو بعدی و سه بعدی در دستگاههای پشتیبانیشده ارائه میکند. میتوانید از OpenGL ES 3.0 و افزونههای EGL مرتبط با استفاده از APIهای چارچوب یا اتصالات API بومی از طریق کیت توسعه بومی Android (NDK) بهره ببرید.
قابلیت های کلیدی جدید ارائه شده در OpenGL ES 3.0 شامل شتاب جلوه های بصری پیشرفته، فشرده سازی بافت ETC2/EAC با کیفیت بالا به عنوان یک ویژگی استاندارد، نسخه جدید زبان سایه دهی GLSL ES با پشتیبانی از اعداد صحیح و 32 بیتی از ممیز شناور، رندر پیشرفته بافت، و اندازه بافت استاندارد و فرمتهای رندر بافر.
میتوانید از APIهای OpenGL ES 3.0 برای ایجاد گرافیکهای بسیار پیچیده و بسیار کارآمد که در طیف وسیعی از دستگاههای Android سازگار اجرا میشوند، استفاده کنید، و میتوانید از یک فرمت فشردهسازی بافت استاندارد در آن دستگاهها پشتیبانی کنید.
OpenGL ES 3.0 یک ویژگی اختیاری است که به سخت افزار گرافیکی زیرین بستگی دارد. پشتیبانی از قبل در دستگاههای Nexus 7 (2013)، Nexus 4 و Nexus 10 در دسترس است.
قابلیت اتصال بلوتوث پیشرفته
قابلیت اتصال با دستگاه ها و سنسورهای هوشمند بلوتوث
اکنون میتوانید برنامههایی را طراحی و بسازید که با آخرین نسل دستگاهها و حسگرهای کوچک و کم مصرف که از فناوری بلوتوث هوشمند استفاده میکنند، تعامل داشته باشند.
Android 4.3 پشتیبانی از پلتفرم داخلی را برای Bluetooth Smart Ready در نقش مرکزی معرفی میکند و مجموعه استانداردی از API را ارائه میکند که برنامهها میتوانند از آن برای کشف دستگاههای نزدیک، جستجو برای خدمات GATT و ویژگیهای خواندن/نوشتن استفاده کنند.
با API های جدید، برنامه های شما می توانند دستگاه ها و سرویس های مورد علاقه را به طور موثر اسکن کنند. برای هر دستگاه، میتوانید خدمات GATT پشتیبانی شده توسط UUID را بررسی کنید و اتصالات را بر اساس شناسه دستگاه و قدرت سیگنال مدیریت کنید. میتوانید به یک سرور گات میزبانی شده در دستگاه متصل شوید و ویژگیها را بخوانید یا بنویسید، یا شنونده را ثبت کنید تا هر زمان که این ویژگیها تغییر کرد، اعلانها را دریافت کنید.
شما می توانید برای هر پروفایل GATT پشتیبانی را اجرا کنید. میتوانید ویژگیهای استاندارد را بخوانید یا بنویسید یا در صورت نیاز، پشتیبانی از ویژگیهای سفارشی را اضافه کنید. برنامه شما می تواند به عنوان سرویس گیرنده یا سرور عمل کند و می تواند داده ها را در هر دو حالت ارسال و دریافت کند. APIها عمومی هستند، بنابراین میتوانید از تعاملات با دستگاههای مختلفی مانند برچسبهای مجاورت، ساعتها، تناسب سنج، کنترلکنندههای بازی، کنترلهای از راه دور، دستگاههای بهداشتی و غیره پشتیبانی کنید.
پشتیبانی از Bluetooth Smart Ready در حال حاضر در دستگاههای Nexus 7 (2013) و Nexus 4 در دسترس است و در ماههای آینده در تعداد فزایندهای از دستگاههای سازگار با Android پشتیبانی خواهد شد.
نمایه AVRCP 1.3
Android 4.3 پشتیبانی داخلی برای بلوتوث AVRCP 1.3 اضافه میکند، بنابراین برنامههای شما میتوانند از تعاملات غنیتری با دستگاههای پخش رسانه از راه دور پشتیبانی کنند. برنامههایی مانند پخشکنندههای رسانه میتوانند از طریق APIهای کلاینت کنترل از راه دور که در Android 4.0 معرفی شدهاند، از مزایای AVRCP 1.3 استفاده کنند. علاوه بر نمایش کنترلهای پخش در دستگاههای از راه دور متصل شده از طریق بلوتوث، برنامهها اکنون میتوانند ابردادههایی مانند نام آهنگ، آهنگساز و انواع دیگر فراداده رسانه را منتقل کنند.
پشتیبانی از پلتفرم AVRCP 1.3 بر روی پشته بلوتوث Bluedroid که توسط Google و Broadcom در اندروید 4.2 معرفی شده است، ساخته شده است. پشتیبانی فوراً در دستگاههای Nexus و سایر دستگاههای سازگار با Android که قابلیت A2DP/AVRCP را ارائه میکنند در دسترس است.
پشتیبانی از پروفایل های محدود
Android 4.3 ویژگی چند کاربره را برای تبلتهایی با نمایههای محدود گسترش میدهد، روشی جدید برای مدیریت کاربران و قابلیتهای آنها در یک دستگاه. با نمایههای محدود، دارندگان تبلت میتوانند به سرعت محیطهای جداگانهای را برای هر کاربر تنظیم کنند، با توانایی مدیریت محدودیتهای دقیقتر در برنامههای موجود در آن محیطها. نمایههای محدود برای دوستان و خانواده، کاربران مهمان، کیوسکها، دستگاههای نقطهفروش و موارد دیگر ایدهآل هستند.
هر نمایه محدود شده یک فضای ایزوله و ایمن را با فضای ذخیرهسازی محلی، صفحههای اصلی، ویجتها و تنظیمات خود ارائه میدهد. برخلاف کاربران، نمایهها از محیط صاحب رایانه لوحی بر اساس برنامهها و حسابهای سیستمی نصبشده مالک ایجاد میشوند. مالک کنترل می کند که کدام برنامه های نصب شده در نمایه جدید فعال باشند و دسترسی به حساب های مالک به طور پیش فرض غیرفعال است.
برنامههایی که نیاز به دسترسی به حسابهای مالک دارند - برای ورود به سیستم، تنظیمات برگزیده یا استفادههای دیگر - میتوانند با اعلام یک ویژگی مانیفست شرکت کنند، و مالک میتواند آن برنامهها را از تنظیمات پیکربندی نمایه بررسی و مدیریت کند.
برای توسعه دهندگان، نمایه های محدود راه جدیدی برای ارائه ارزش و کنترل بیشتر به کاربران شما ارائه می دهند. میتوانید محدودیتهای برنامه را اعمال کنید - کنترلهای محتوا یا قابلیتهایی که توسط برنامه شما پشتیبانی میشوند - و آنها را در تنظیمات پیکربندی نمایه برای دارندگان رایانه لوحی تبلیغ کنید.
میتوانید با استفاده از انواع بولی، انتخابی و چند انتخابی از پیش تعریفشده، محدودیتهای برنامه را مستقیماً به تنظیمات پیکربندی نمایه اضافه کنید. اگر میخواهید انعطافپذیری بیشتری داشته باشید، حتی میتوانید UI خود را از تنظیمات پیکربندی نمایه راهاندازی کنید تا هر نوع محدودیتی را که میخواهید ارائه دهید.
وقتی برنامه شما در یک نمایه اجرا میشود، میتواند محدودیتهای پیکربندی شده توسط مالک را بررسی کرده و آنها را به درستی اعمال کند. برای مثال، یک برنامه رسانه ممکن است محدودیتی را به مالک اجازه دهد تا سطح بلوغ را برای نمایه تعیین کند. در زمان اجرا، برنامه میتواند تنظیمات بلوغ را بررسی کند و سپس محتوا را مطابق با سطح بلوغ ترجیحی مدیریت کند.
اگر برنامه شما برای استفاده در نمایههای محدود طراحی نشده است، میتوانید بهکلی انصراف دهید تا برنامه شما در هیچ نمایه محدودی فعال نشود.
موقعیت مکانی بهینه شده و قابلیت های حسگر
خدمات Google Play APIهای موقعیت مکانی پیشرفته ای را ارائه می دهد که می توانید از آنها در برنامه های خود استفاده کنید. Android 4.3 این API ها را در دستگاه های پشتیبانی شده با قابلیت های سخت افزاری و نرم افزاری جدید بهینه می کند که استفاده از باتری را به حداقل می رساند.
ژئوفنسینگ سختافزاری با انجام محاسبات مکان در سختافزار دستگاه، بهجای نرمافزار، کارایی انرژی را بهینه میکند. در دستگاههایی که از geofence سختافزاری پشتیبانی میکنند، APIهای geofence خدمات Google Play میتوانند از این بهینهسازی برای صرفهجویی در مصرف باتری در حین حرکت دستگاه استفاده کنند.
حالت فقط اسکن Wi-Fi یک بهینهسازی پلتفرم جدید است که به کاربران امکان میدهد اسکن Wi-Fi را بدون اتصال به شبکه Wi-Fi روشن نگه دارند تا دقت مکان را در عین صرفه جویی در باتری بهبود بخشد. برنامههایی که برای خدمات مکان به Wi-Fi وابسته هستند، اکنون میتوانند از کاربران بخواهند حالت فقط اسکن را از تنظیمات پیشرفته Wi-Fi فعال کنند. حالت فقط اسکن Wi-Fi به سخت افزار دستگاه وابسته نیست و به عنوان بخشی از پلتفرم Android 4.3 در دسترس است.
انواع حسگرهای جدید به برنامهها اجازه میدهند تا خوانشهای حسگر را بهتر مدیریت کنند. یک بردار چرخش بازی به توسعه دهندگان بازی اجازه می دهد تا چرخش دستگاه را بدون نگرانی در مورد تداخل مغناطیسی حس کنند. ژیروسکوپ کالیبره نشده و حسگرهای مغناطیس سنج کالیبره نشده اندازه گیری های خام و همچنین سوگیری های تخمینی را برای برنامه ها گزارش می دهند.
قابلیتهای سختافزاری جدید در حال حاضر در دستگاههای Nexus 7 (2013) و Nexus 4 موجود است و هر سازنده دستگاه یا فروشنده چیپست میتواند آنها را در دستگاههای خود بسازد.
قابلیت های رسانه های جدید
چارچوب مدولار DRM
برای پاسخگویی به نیازهای نسل بعدی خدمات رسانه ای، اندروید 4.3 یک چارچوب مدولار DRM را معرفی می کند که به توسعه دهندگان برنامه های رسانه ای امکان می دهد تا به راحتی DRM را در پروتکل های پخش خود ادغام کنند، مانند MPEG DASH (Dynamic Adaptive Streaming over HTTP, ISO/IEC 23009). -1).
از طریق ترکیبی از APIهای جدید و بهبودهای APIهای موجود، چارچوب رسانه DRM مجموعه ای یکپارچه از خدمات را برای مدیریت مجوز و ارائه، دسترسی به کدک های سطح پایین و رمزگشایی داده های رسانه رمزگذاری شده ارائه می دهد. یک API جدید MediaExtractor به شما امکان می دهد متادیتای PSSH را برای رسانه DASH دریافت کنید. برنامههایی که از چارچوب رسانه DRM استفاده میکنند، ارتباطات شبکه را با یک سرور مجوز مدیریت میکنند و جریان دادههای رمزگذاریشده را از یک کتابخانه محتوا مدیریت میکنند.
رمزگذار VP8
Android 4.3 پشتیبانی داخلی را برای رمزگذاری VP8 معرفی میکند که از طریق چارچوب و APIهای بومی قابل دسترسی است. برای برنامههایی که از APIهای بومی استفاده میکنند، این پلتفرم شامل سرصفحههای افزونه OpenMAX 1.1.2 برای پشتیبانی از نمایهها و سطوح VP8 است. پشتیبانی از کدگذاری VP8 شامل تنظیماتی برای نرخ بیت هدف، کنترل نرخ، نرخ فریم، پارتیشن بندی توکن، انعطاف پذیری خطا، بازسازی و فیلترهای حلقه است. پلتفرم API پشتیبانی از رمزگذار VP8 را در طیف وسیعی از قالبها معرفی میکند، بنابراین میتوانید از بهترین قالب برای محتوای خود بهره ببرید.
رمزگذاری VP8 به صورت نرم افزاری در همه دستگاه های سازگار با اندروید 4.3 موجود است. برای بالاترین عملکرد، این پلتفرم همچنین از رمزگذاری VP8 با شتاب سخت افزاری در دستگاه های توانمند پشتیبانی می کند.
رمزگذاری ویدیو از یک سطح
با شروع اندروید 4.3 میتوانید از یک سطح به عنوان ورودی رمزگذار ویدیو استفاده کنید. به عنوان مثال، اکنون می توانید یک جریان را از سطح OpenGL ES به رمزگذار هدایت کنید، نه اینکه بین بافرها کپی کنید.
مخزن رسانه
برنامهها میتوانند از APIهای رسانه muxer جدید برای ترکیب جریانهای صوتی و تصویری ابتدایی در یک فایل خروجی استفاده کنند. در حال حاضر برنامه ها می توانند یک جریان صوتی MPEG-4 و یک جریان ویدئوی MPEG-4 را در یک فایل خروجی MPEG-4 مالتیپلکس کنند. API های جدید همتای API های دمکسینگ رسانه ای هستند که در اندروید 4.2 معرفی شده اند.
پیشرفت پخش و تمیز کردن در کلاینت های کنترل از راه دور
از اندروید 4.0، پخشکنندههای رسانه و برنامههای مشابه میتوانند کنترلهای پخش را از کلاینتهای کنترل از راه دور مانند صفحه قفل دستگاه، اعلانها و دستگاههای راه دور متصل شده از طریق بلوتوث ارائه دهند. با شروع اندروید 4.3، این برنامهها اکنون میتوانند پیشرفت و سرعت پخش را از طریق کلاینتهای کنترل از راه دور خود نشان دهند و دستوراتی برای پرش به یک موقعیت پخش خاص دریافت کنند.
راه های جدید برای ساخت اپلیکیشن های زیبا
دسترسی به اطلاعیه ها
اعلانها مدتهاست که یک ویژگی محبوب اندروید بودهاند، زیرا به کاربران اجازه میدهند اطلاعات و بهروزرسانیها را از سراسر سیستم، همه در یک مکان ببینند. اکنون در اندروید 4.3، برنامهها میتوانند جریان اعلانها را با اجازه کاربر مشاهده کنند و اعلانها را به هر شکلی که میخواهند نمایش دهند، از جمله ارسال آنها به دستگاههای نزدیک متصل از طریق بلوتوث.
میتوانید از طریق APIهای جدید به اعلانها دسترسی داشته باشید که به شما امکان میدهد یک سرویس شنونده اعلان را ثبت کنید و با اجازه کاربر، اعلانها را همانطور که در نوار وضعیت نمایش داده میشوند دریافت کنید. اعلان ها به طور کامل به شما تحویل داده می شود، با تمام جزئیات مربوط به برنامه اصلی، زمان ارسال، نمای محتوا و سبک، و اولویت. میتوانید زمینههای مورد علاقه را در اعلانها ارزیابی کنید، آنها را پردازش کنید یا زمینه را از برنامه خود اضافه کنید، و آنها را برای نمایش به هر شکلی که انتخاب میکنید مسیریابی کنید.
API جدید هنگامی که اعلان اضافه می شود، به روز می شود و حذف می شود، به شما پاسخ تماس می دهد (خواه به این دلیل که کاربر آن را رد کرده یا برنامه اصلی آن را پس گرفته است). میتوانید هر هدفی را که به اعلان یا اقدامات آن متصل است راهاندازی کنید، و همچنین آن را از سیستم حذف کنید و به برنامهتان اجازه دهید یک رابط کاربری کامل برای اعلانها ارائه کند.
کاربران همچنان کنترل برنامه هایی را که می توانند اعلان ها را دریافت کنند، حفظ می کنند . در هر زمان، آنها می توانند به تنظیمات نگاه کنند تا ببینند کدام برنامه ها به اعلان دسترسی دارند و در صورت نیاز دسترسی را فعال یا غیرفعال کنند . دسترسی به اعلان به طور پیشفرض غیرفعال است - برنامهها میتوانند از یک Intent جدید استفاده کنند تا کاربر را مستقیماً به تنظیمات ببرند تا پس از نصب، سرویس شنونده فعال شود.
مشاهده همپوشانی ها
اکنون میتوانید پوششهای شفاف در بالای Views و ViewGroups ایجاد کنید تا یک سلسلهمراتب View موقت یا جلوههای انیمیشن گذرا را بدون ایجاد اختلال در سلسلهمراتب طرحبندی زیربنایی ارائه کنید. همپوشانیها بهویژه زمانی مفید هستند که میخواهید انیمیشنهایی مانند کشیدن نما به بیرون از ظرف آن یا کشیدن آیتمها روی صفحه بدون تأثیر بر سلسله مراتب مشاهده ایجاد کنید.
حالت طرح بندی کرانه های نوری
یک حالت طرحبندی جدید به شما امکان میدهد موقعیت نماها را در داخل ViewGroups با توجه به مرزهای نوری آنها، به جای کرانهای کلیپ، مدیریت کنید. کران های گیره نشان دهنده مرز بیرونی واقعی یک ویجت هستند، در حالی که کران های نوری جدید جایی که به نظر می رسد ویجت در داخل محدوده کلیپ است را توصیف می کنند. میتوانید از حالت طرحبندی کرانههای نوری برای تراز کردن صحیح ویجتهایی که از جلوههای بصری بیرونی مانند سایهها و درخششها استفاده میکنند، استفاده کنید.
انواع انیمیشن چرخشی سفارشی
برنامهها اکنون میتوانند انواع انیمیشن خروجی و ورودی را که در پنجرهای هنگام چرخش دستگاه استفاده میشوند، تعریف کنند. میتوانید ویژگیهای پنجره را برای فعال کردن چرخش پنجره پرش ، متقاطع ، یا استاندارد تنظیم کنید. زمانی که پنجره تمام صفحه است و توسط پنجره های دیگر پوشش داده نمی شود، سیستم از انواع انیمیشن های سفارشی استفاده می کند.
حالت های جهت گیری صفحه
برنامهها میتوانند حالتهای جهتگیری جدیدی را برای فعالیتها تنظیم کنند تا اطمینان حاصل کنند که هنگام چرخاندن دستگاه در جهت مناسب نمایش داده میشوند. علاوه بر این، برنامهها میتوانند از یک حالت جدید برای قفل کردن صفحه در جهت فعلی آن استفاده کنند. این برای برنامههایی که از دوربین استفاده میکنند و میخواهند چرخش را در حین فیلمبرداری غیرفعال کنند، مفید است.
قصد رسیدگی به پاسخ های سریع
Android 4.3 یک Intent عمومی جدید را معرفی میکند که به هر برنامهای اجازه میدهد پاسخهای سریع را مدیریت کند - پیامهای متنی ارسال شده توسط کاربر در پاسخ به تماس ورودی، بدون نیاز به دریافت تماس یا باز کردن قفل دستگاه. برنامه شما می تواند به هدف گوش دهد و پیام را از طریق سیستم پیام رسانی شما برای تماس گیرنده ارسال کند. هدف شامل گیرنده (تماس گیرنده) و همچنین خود پیام است.
پشتیبانی از کاربران بین المللی
بهبود RTL
Android 4.3 شامل بهبود عملکرد RTL و پشتیبانی گسترده تر از RTL در میان ویجت های فریمورک UI، از جمله ProgressBar/Spinner و ExpandableListView است. اطلاعات بیشتر اشکال زدایی از طریق ابزار uiautomatorviewer
قابل مشاهده است. علاوه بر این، بیشتر اجزای رابط کاربری سیستم، مانند اعلانها، نوار ناوبری و نوار اقدام، اکنون از RTL آگاه هستند.
برای ارائه یک تجربه بهتر در سراسر سیستم در اسکریپتهای RTL، برنامههای پیشفرض سیستم بیشتری اکنون از طرحبندیهای RTL، از جمله راهانداز، تنظیمات سریع، تلفن، افراد، SetupWizard، ساعت، دانلودها و موارد دیگر پشتیبانی میکنند.
ابزارهای محلی سازی
Android 4.3 همچنین شامل ابزارهای کاربردی و API های جدیدی برای ایجاد رشته های RTL بهتر و آزمایش رابط های کاربری محلی شما می شود. یک کلاس جدید BidiFormatter یک API ساده برای بسته بندی رشته های یونیکد فراهم می کند، به طوری که داده های اسکریپت RTL همانطور که در پیام های محلی LTR در نظر گرفته شده نمایش داده می شود و بالعکس. برای اینکه بتوانید از این ابزار به طور گسترده در برنامه های خود استفاده کنید، BidiFormatter API اکنون برای نسخه های پلتفرم قبلی از طریق بسته پشتیبانی در Android SDK نیز در دسترس است.
برای کمک به شما در مدیریت قالببندی تاریخ در سراسر مناطق، Android 4.3 شامل یک متد getBestDateTimePattern() جدید است که بهطور خودکار بهترین شکل محلی شده ممکن از تاریخ UTS یونیکد را برای محلی که شما مشخص میکنید ایجاد میکند. این یک راه راحت برای ارائه یک تجربه محلی تر برای کاربران شما است.
برای کمک به آزمایش آسانتر برنامه خود در سایر مناطق، Android 4.3 شبه محلی ها را به عنوان یک گزینه توسعه دهنده جدید معرفی می کند. شبه محلی ها زبان، خط و ویژگی های نمایش مربوط به یک منطقه یا گروه زبان را شبیه سازی می کنند. در حال حاضر، میتوانید با یک شبه محلی برای انگلیسی لهجهدار تست کنید، که به شما امکان میدهد ببینید رابط کاربری شما چگونه با لهجههای اسکریپت و کاراکترهای مورد استفاده در انواع زبانهای اروپایی کار میکند.
دسترسی و اتوماسیون UI
با شروع Android 4.3، سرویسهای دسترسپذیری میتوانند رویدادهای کلیدی را مشاهده و فیلتر کنند ، مانند مدیریت میانبرهای صفحهکلید یا ارائه برابری پیمایش با ورودی مبتنی بر اشاره. این سرویس رویدادها را دریافت میکند و میتواند آنها را در صورت نیاز قبل از ارسال به سیستم یا سایر برنامههای نصب شده پردازش کند.
سرویسهای دسترسپذیری میتوانند ویژگیهای قابلیت جدیدی را برای توصیف کارهایی که سرویسهایشان میتوانند انجام دهند و ویژگیهای پلتفرمی که استفاده میکنند، اعلام کنند. به عنوان مثال، آنها می توانند قابلیت فیلتر کردن رویدادهای کلیدی، بازیابی محتوای پنجره، فعال کردن کاوش با لمس، یا فعال کردن ویژگی های دسترسی به وب را اعلام کنند. در برخی موارد، سرویسها قبل از اینکه بتوانند به ویژگیهای پلتفرم مرتبط دسترسی پیدا کنند، باید یک ویژگی قابلیت را اعلام کنند. این سیستم از ویژگیهای قابلیت سرویس برای ایجاد یک گفتگوی انتخاب کردن برای کاربران استفاده میکند تا بتوانند قبل از راهاندازی قابلیتها را ببینند و با آن موافقت کنند.
بر اساس چارچوب دسترسپذیری در Android 4.3، یک چارچوب جدید اتوماسیون UI به آزمایشها اجازه میدهد تا با شبیهسازی اقدامات کاربر و درونبینی محتوای صفحه با رابط کاربری دستگاه تعامل داشته باشند. از طریق چارچوب اتوماسیون UI میتوانید عملیات اصلی را انجام دهید، چرخش صفحه را تنظیم کنید، رویدادهای ورودی ایجاد کنید، اسکرینشات بگیرید و موارد دیگر. این یک روش قدرتمند برای خودکارسازی تست در سناریوهای واقعی کاربر، از جمله اقدامات یا توالی هایی است که چندین برنامه را در بر می گیرند.
سازمانی و امنیت
پیکربندی Wi-Fi برای شبکه های WPA2-Enterprise
اکنون برنامهها میتوانند اعتبارنامههای Wi-Fi مورد نیاز خود را برای اتصال به نقاط دسترسی سازمانی WPA2 پیکربندی کنند. توسعهدهندگان میتوانند از APIهای جدید برای پیکربندی پروتکل تأیید اعتبار توسعهیافته (EAP) و اعتبارنامههای Encapsulated EAP (فاز 2) برای روشهای احراز هویت مورد استفاده در شرکت استفاده کنند. برنامههایی که مجوز دسترسی و تغییر Wi-Fi را دارند، میتوانند اعتبارنامههای احراز هویت را برای انواع روشهای احراز هویت EAP و فاز 2 پیکربندی کنند.
سندباکس اندروید با SELinux تقویت شده است
اندروید اکنون از SELinux ، یک سیستم کنترل دسترسی اجباری (MAC) در هسته لینوکس برای تقویت سندباکس برنامه مبتنی بر UID استفاده میکند. این سیستم عامل را در برابر آسیب پذیری های امنیتی احتمالی محافظت می کند.
پیشرفت های Keychain
KeyChain API اکنون روشی را ارائه میکند که به برنامهها اجازه میدهد تأیید کنند که کلیدهای سراسر سیستم به ریشه سختافزاری اعتماد دستگاه متصل هستند. این مکانی برای ایجاد یا ذخیره کلیدهای خصوصی فراهم می کند که نمی توان آنها را از دستگاه صادر کرد ، حتی در صورت به خطر افتادن ریشه یا هسته.
ارائه دهنده فروشگاه کلید اندروید
Android 4.3 یک ارائهدهنده فروشگاه کلید و APIهایی را معرفی میکند که به برنامهها اجازه میدهد کلیدهایی با استفاده انحصاری ایجاد کنند. با استفاده از APIها، برنامهها میتوانند کلیدهای خصوصی را ایجاد یا ذخیره کنند که دیگر برنامهها نمیتوانند ببینند یا از آن استفاده کنند ، و میتوانند بدون هیچ گونه تعامل با کاربر به فروشگاه کلید اضافه شوند.
ارائهدهنده فروشگاه کلید همان مزایای امنیتی را ارائه میکند که KeyChain API برای اعتبارنامههای کل سیستم فراهم میکند، مانند اتصال اعتبار به یک دستگاه. کلیدهای خصوصی در فروشگاه کلید را نمی توان از دستگاه صادر کرد.
Setuid را از برنامه های اندروید محدود کنید
پارتیشن /system
اکنون برای فرآیندهای ایجاد شده توسط zygote به صورت nosuid
نصب شده است و از اجرای برنامه های setuid
توسط برنامه های Android جلوگیری می کند. این سطح حمله ریشه و احتمال آسیب پذیری های امنیتی بالقوه را کاهش می دهد.
روش های جدید برای تجزیه و تحلیل عملکرد
ثبت سیستم Systrace پیشرفته
Android 4.3 از یک نسخه پیشرفته از ابزار Systrace پشتیبانی میکند که استفاده از آن آسانتر است و به شما امکان میدهد به انواع بیشتری از اطلاعات برای نمایه کردن عملکرد برنامه خود دسترسی داشته باشید. اکنون میتوانید دادههای ردیابی را از ماژولهای سختافزار ، توابع هسته ، Dalvik VM از جمله جمعآوری زباله، بارگیری منابع و موارد دیگر جمعآوری کنید.
Android 4.3 همچنین شامل Trace API های جدیدی است که می توانید در برنامه های خود برای علامت گذاری بخش های خاصی از کد برای ردیابی با استفاده از رویدادهای شروع/پایان Systrace استفاده کنید. هنگامی که بخش های علامت گذاری شده کد اجرا می شوند، سیستم رویدادهای شروع/پایان را در گزارش ردیابی می نویسد. کمترین تأثیری بر عملکرد برنامه شما دارد، بنابراین زمان بندی گزارش شده به شما دید دقیقی از آنچه برنامه شما انجام می دهد ارائه می دهد.
می توانید رویدادهای خاص برنامه را در یک جدول زمانی در فایل خروجی Systrace تجسم کنید و رویدادها را در زمینه دیگر داده های ردیابی هسته و فضای کاربر تجزیه و تحلیل کنید. به همراه تگهای Systrace موجود، بخشهای برنامه سفارشی میتوانند راههای جدیدی را برای درک عملکرد و رفتار برنامههایتان به شما ارائه دهند.
پروفایل GPU روی صفحه
Android 4.3 گزینههای توسعهدهنده جدیدی را اضافه میکند تا به شما کمک کند عملکرد برنامه خود را تجزیه و تحلیل کنید و مشکلات رندر را در هر دستگاه یا شبیهسازی مشخص کنید.
در گزینه نمایش GPU نمایه ، اکنون می توانید نرخ فریم موثر برنامه خود را در حالی که برنامه در حال اجرا است، روی صفحه تجسم کنید. میتوانید انتخاب کنید که دادههای نمایهسازی بهعنوان نمودارهای خطی یا نوار روی صفحه نمایش داده شوند، با رنگهایی که زمان صرف شده برای ایجاد دستورات طراحی (آبی)، صدور دستورات (نارنجی)، و انتظار برای تکمیل دستورات (زرد) را نشان میدهند. سیستم نمودارهای روی صفحه را به طور مداوم به روز می کند و برای هر فعالیت قابل مشاهده نموداری از جمله نوار پیمایش و نوار اعلان نمایش می دهد.
یک خط سبز آستانه 16 میلیثانیه را برای عملیات رندر مشخص میکند، بنابراین میتوانید نرخ فریم مؤثر برنامهتان را نسبت به هدف 60 فریم در ثانیه ارزیابی کنید (زیرا 1/60 ثانیه برابر با 16 میلیثانیه است). اگر عملیاتی را مشاهده کردید که از خط سبز عبور می کند، می توانید با استفاده از Systrace و ابزارهای دیگر آنها را بیشتر تجزیه و تحلیل کنید.
در دستگاههای دارای اندروید 4.2 و بالاتر، گزینههای برنامهنویس بهطور پیشفرض پنهان هستند. میتوانید در هر زمان که بخواهید با ۷ بار ضربه زدن روی تنظیمات > درباره تلفن > شماره ساخت در هر دستگاه Android سازگار، آنها را آشکار کنید.
هشدار StrictMode برای URI فایل
آخرین مورد اضافه شده به ابزار StrictMode یک محدودیت خط مشی است که وقتی برنامه شما یک file://
URI را در معرض سیستم یا برنامه دیگری قرار می دهد هشدار می دهد. در برخی موارد ممکن است برنامه دریافت کننده به مسیر file://
URI دسترسی نداشته باشد، بنابراین هنگام اشتراک گذاری فایل ها بین برنامه ها، باید از یک content://
URI (با مجوز مناسب) استفاده شود. این خطمشی جدید به شما کمک میکند چنین مواردی را شناسایی و رفع کنید. اگر به دنبال راهی راحت برای ذخیره و نمایش فایلها در برنامههای دیگر هستید، از ارائهدهنده محتوای FileProvider
که در کتابخانه پشتیبانی موجود است استفاده کنید.
اندروید 4.2
به اندروید 4.2، آخرین نسخه Jelly Bean خوش آمدید!
Android 4.2 دارای بهینه سازی عملکرد، رابط کاربری سیستم به روز شده و ویژگی های جدید عالی برای کاربران و توسعه دهندگان است. این سند یک نگاه اجمالی از چیزهای جدید برای توسعه دهندگان ارائه می دهد.
برای نگاهی دقیق به APIهای توسعهدهنده جدید، سند Android 4.2 APIs را ببینید.
درباره ویژگیهای جدید Jelly Bean برای کاربران در www.android.com اطلاعات بیشتری کسب کنید.
سریع تر، روان تر، پاسخگوتر
Android 4.2 مبتنی بر بهبودهای عملکردی است که قبلاً در Jelly Bean گنجانده شده است - زمانبندی vsync ، بافر سهگانه ، کاهش تأخیر لمسی و تقویت ورودی CPU - و بهینهسازیهای جدیدی اضافه میکند که اندروید را حتی سریعتر میکند.
بهبود در رندر دوبعدی شتابدهنده سختافزاری، انیمیشنهای رایج مانند اسکرول و کشیدن انگشت را روانتر و سریعتر میکند. به طور خاص، طراحی برای لایهها، برش و اشکال خاص (قطعات گرد، دایرهها و بیضیها) بهینه شده است .
انواع بهینهسازیهای رندر WebView اسکرول صفحات وب را روانتر و عاری از لرزش و تاخیر میکنند.
Renderscript Compute اندروید اولین پلتفرم محاسباتی است که مستقیماً روی GPU دستگاه تلفن همراه اجرا می شود. در صورت امکان، به طور خودکار از منابع محاسباتی GPU استفاده می کند و عملکرد گرافیکی و پردازش تصویر را به طور چشمگیری بهبود می بخشد. هر برنامهای که از Renderscript در دستگاه پشتیبانیشده استفاده میکند، میتواند بلافاصله از این ادغام GPU بدون کامپایل مجدد بهره مند شود.
UI اصلاح شده و تازه شده
Android 4.2 تجربه کاربری Jelly Bean را بهبود میبخشد و الگوهای آشنای رابط کاربری Android مانند نوار وضعیت، نوار سیستم و پنجره اعلانها را به همه تبلتها میآورد.
اکنون همه اندازههای صفحه دارای نوار وضعیت در بالا، با دسترسی کشویی به اعلانها و منوی تنظیمات سریع جدید هستند. نوار سیستم آشنا در پایین ظاهر می شود، با دکمه هایی که به راحتی از هر دست قابل دسترسی هستند. سینی برنامه نیز در تمام اندازه های صفحه نمایش موجود است.
یک تبلت، کاربران زیادی
اکنون چندین کاربر می توانند یک تبلت اندرویدی را به اشتراک بگذارند و هر کاربر به راحتی به فضای کاربری اختصاصی دسترسی داشته باشد. کاربران می توانند با یک لمس از صفحه قفل به فضاهای خود جابجا شوند.
در یک دستگاه چند کاربره، اندروید به هر کاربر یک محیط مجزا میدهد، از جمله فضای ذخیرهسازی کارت SD شبیهسازیشده خاص کاربر. کاربران همچنین صفحههای اصلی، ویجتها، حسابها، تنظیمات، فایلها و برنامههای خود را دارند و سیستم این موارد را جداگانه نگه میدارد. همه کاربران خدمات اصلی سیستم را به اشتراک می گذارند، اما سیستم تضمین می کند که برنامه ها و داده های هر کاربر ایزوله باقی می مانند. در واقع، هر یک از چندین کاربر دستگاه اندرویدی خود را دارند.
کاربران می توانند برنامه ها را در هر زمان در محیط های خود نصب و حذف نصب کنند. برای صرفهجویی در فضای ذخیرهسازی، Google Play یک APK را فقط در صورتی دانلود میکند که قبلاً توسط کاربر دیگری روی دستگاه نصب نشده باشد. اگر برنامه قبلاً نصب شده باشد، Google Play نصب کاربر جدید را به روش معمول ضبط میکند اما نسخه دیگری از برنامه را دانلود نمیکند. چندین کاربر میتوانند یک کپی از یک APK را اجرا کنند، زیرا سیستم یک نمونه جدید برای هر کاربر ایجاد میکند، از جمله فهرستی از دادههای خاص کاربر.
برای توسعهدهندگان، پشتیبانی چند کاربره شفاف است - برنامههای شما برای اجرای عادی در یک محیط چند کاربره نیازی به انجام کار خاصی ندارند و هیچ تغییری لازم نیست در فایلهای APK موجود یا منتشر شده خود ایجاد کنید. این سیستم برنامه شما را در هر فضای کاربری مدیریت می کند، همانطور که در یک محیط تک کاربره انجام می دهد.
روش های جدید برای جذب کاربران
ویجت های صفحه قفل
در اندروید 4.2، کاربران میتوانند ویجتهای برنامه را مستقیماً روی صفحه قفل خود قرار دهند تا بدون نیاز به باز کردن قفل، به محتوای برنامه مورد علاقه دسترسی داشته باشند. کاربران می توانند با انتخاب از میان ویجت های ارائه شده توسط برنامه های نصب شده، پنج ویجت صفحه قفل اضافه کنند. صفحه قفل هر ویجت را در پانل خود نمایش می دهد و به کاربران اجازه می دهد برای مشاهده پنل های مختلف و ویجت های آنها به چپ و راست بکشند.
مانند همه ویجت های برنامه، ویجت های صفحه قفل می توانند هر نوع محتوایی را نمایش دهند و می توانند تعامل مستقیم با کاربر را بپذیرند. آنها می توانند کاملاً مستقل باشند، مانند ویجتی که کنترل هایی برای پخش موسیقی ارائه می دهد، یا می توانند به کاربران اجازه دهند مستقیماً به یک فعالیت در برنامه شما بپرند، پس از باز کردن قفل در طول مسیر در صورت لزوم.
برای توسعهدهندگان، ویجتهای صفحه قفل یک راه عالی جدید برای تعامل کاربران ارائه میدهند. آنها به شما اجازه می دهند محتوای خود را در مقابل کاربران در مکانی قرار دهید که اغلب آنها را می بینند، و به شما فرصت های بیشتری می دهند تا کاربران را مستقیماً به برنامه خود بیاورید.
شما می توانید با ساختن یک ویجت برنامه جدید یا با گسترش ویجت صفحه اصلی موجود از این قابلیت جدید بهره ببرید. اگر برنامه شما از قبل دارای ویجت های صفحه اصلی است، می توانید آنها را با حداقل تغییر به صفحه قفل گسترش دهید. برای ارائه تجربه بهینه به کاربران، میتوانید ویجت را بهروزرسانی کنید تا در صورت وجود از صفحه قفل کامل استفاده کند و در صورت نیاز در صفحههای کوچکتر اندازه را تغییر دهید. همچنین میتوانید ویژگیهایی را به ویجتهای خود اضافه کنید که ممکن است به ویژه در صفحه قفل مفید یا راحت باشند.
رویاپردازی
Daydream یک حالت محافظ صفحه نمایش تعاملی است که زمانی شروع میشود که دستگاه کاربر متصل است یا شارژ میشود. در این حالت، سیستم یک Daydream - یک سرویس محتوای راه دور ارائه شده توسط یک برنامه نصب شده - به عنوان محافظ صفحه نمایش دستگاه راه اندازی می کند. کاربر می تواند Daydream را از برنامه تنظیمات فعال کند و سپس Daydream را برای نمایش انتخاب کند.
Daydreams بهترین قابلیتهای والپیپرهای زنده و ویجتهای صفحه اصلی را ترکیب میکند، اما قدرتمندتر هستند. آنها به شما امکان می دهند هر نوع محتوایی را در یک زمینه کاملاً جدید با تعاملات کاربر مانند ورق زدن عکس ها، پخش صدا یا ویدیو یا پریدن مستقیم به برنامه خود با یک لمس ارائه دهید.
از آنجایی که رویاپردازیها میتوانند به طور خودکار هنگام شارژ شدن یا اتصال دستگاه شروع شوند، آنها همچنین به برنامه شما یک راه عالی برای پشتیبانی از انواع جدیدی از تجربیات کاربر، مانند حالت بیحرکتی یا نمایشگاهی، حالت نمایشی یا کیوسک، و «حالت جذب» میدهند - همه بدون نیاز به سخت افزار ویژه
Daydreams مشابه Activities است و میتواند هر کاری را که Activity انجام دهد انجام دهد - از رندر کردن سلسله مراتب UI (بدون استفاده از RemoteViews) تا طراحی مستقیم با استفاده از Canvas، OpenGL، SurfaceTexture و موارد دیگر. آنها می توانند ویدیو و صدا پخش کنند و حتی می توانند تعامل مستقیم با کاربر را بپذیرند. با این حال، رویاهای روز فعالیت ها نیستند، بنابراین روی backstack تأثیر نمی گذارند یا در Recents ظاهر نمی شوند و نمی توانند مستقیماً از برنامه شما راه اندازی شوند.
پیادهسازی یک رویا ساده است و میتوانید از مؤلفههای رابط کاربری و منابعی که قبلاً برای سایر بخشهای برنامه خود ایجاد کردهاید استفاده کنید. می توانید رویاهای متعددی را در برنامه خود ارائه دهید و می توانید محتوای متمایز و تنظیمات نمایش را برای هر کدام ارائه دهید.
پشتیبانی از نمایشگر خارجی
Android 4.2 پشتیبانی پلتفرمی را برای نمایشگرهای خارجی معرفی میکند که بسیار فراتر از آینهسازی است - برنامهها اکنون میتوانند محتوای منحصربهفرد را برای هر یک یا چند نمایشگر که به یک دستگاه Android متصل هستند، هدف قرار دهند. برنامهها میتوانند بر این اساس کار کنند تا انواع جدیدی از تعامل و تجربههای سرگرمی را به کاربران ارائه دهند.
مدیر نمایش
برنامهها از طریق یک سرویس سیستم مدیریت نمایشگر جدید با نمایشگرها تعامل دارند. برنامه شما میتواند نمایشگرها را برشمرد و قابلیتهای هر کدام از جمله اندازه، تراکم، نام نمایشی، شناسه، پشتیبانی از ویدیوی امن و موارد دیگر را بررسی کند. برنامه شما همچنین میتواند هنگام افزودن یا حذف نمایشگرها یا زمانی که قابلیتهای آنها تغییر میکند، برای مدیریت بهتر محتوای شما در نمایشگرهای خارجی، تماسهای برگشتی دریافت کند.
پنجره ارائه
برای آسان کردن نمایش محتوا در یک نمایشگر خارجی، این فریم ورک یک شی UI جدید به نام Presentation ارائه می دهد - نوعی گفتگو که پنجره ای را برای محتوای برنامه شما در یک صفحه نمایش خارجی خاص نشان می دهد. برنامه شما فقط به نمایشگر برای استفاده، یک طرح زمینه برای پنجره و هر محتوای منحصر به فردی برای نمایش می دهد. ارائه به افزایش منابع و ارائه محتوای شما مطابق با ویژگی های نمایش هدفمند می پردازد.
یک Presentation به برنامه شما کنترل کامل روی پنجره نمایش از راه دور و محتوای آن می دهد و به شما امکان می دهد آن را بر اساس رویدادهای ورودی کاربر مانند فشار دادن کلیدها، حرکات، رویدادهای حرکتی و موارد دیگر مدیریت کنید. میتوانید از همه ابزارهای معمولی برای ایجاد رابط کاربری و رندر محتوا در Presentation استفاده کنید، از ایجاد سلسلهمراتب نمایش دلخواه گرفته تا استفاده از SurfaceView یا SurfaceTexture برای کشیدن مستقیم به پنجره برای محتوای پخششده یا پیشنمایش دوربین.
انتخاب نمایش ترجیحی
هنگامی که چندین نمایشگر خارجی در دسترس است ، می توانید به همان اندازه که نیاز دارید ارائه دهید ، و هر یک از آنها محتوای منحصر به فرد را در یک صفحه نمایش خاص نشان می دهند. در بسیاری از موارد ، شما فقط ممکن است بخواهید محتوای خود را بر روی یک صفحه نمایش خارجی نشان دهید - اما همیشه در مورد بهترین مطالب ارائه است. برای این کار ، سیستم می تواند به برنامه شما کمک کند تا بهترین نمایشگر را برای استفاده انتخاب کند.
برای یافتن بهترین نمایشگر برای استفاده ، برنامه شما می تواند مدیر نمایشگر را برای نمایشگر ارائه شده سیستم پرس و جو کند و در صورت تغییر صفحه ، پاسخ به تماس دریافت کند. از طرف دیگر ، می توانید هنگام تغییر مسیر ویدیویی سیستم ، از سرویس روتر Media ، که در Android 4.2 گسترش یافته است ، استفاده کنید. برنامه شما می تواند به طور پیش فرض در فعالیت اصلی نمایش داده شود تا زمانی که یک نمایشگر ارائه ترجیح داده نشود ، در این زمان می تواند به طور خودکار به محتوای ارائه در صفحه نمایش ترجیحی تغییر یابد. برنامه های شما همچنین می توانند از MediarOuteActionProvider و Mediaroutebutton Media Router استفاده کنند تا UI انتخابی استاندارد را ارائه دهند.
محتوای محافظت شده
برای برنامه هایی که محتوای محافظت شده یا رمزگذاری شده را کنترل می کنند ، نمایشگاه API اکنون قابلیت های ویدیویی ایمن نمایشگرهای پیوست را گزارش می کند. برنامه شما از صفحه نمایش پرس و جو برای اطلاع از اینکه آیا یک خروجی ویدیویی ایمن ارائه می دهد یا بافر گرافیکی محافظت شده را ارائه می دهد و سپس جریان محتوا یا رمزگشایی مناسب را انتخاب کنید تا محتوا قابل مشاهده باشد. برای امنیت بیشتر در مورد اشیاء SurfaceView ، برنامه شما می تواند یک پرچم امن را تنظیم کند تا نشان دهد که محتویات هرگز در تصاویر یا در خروجی صفحه نمایش غیر ایمن ظاهر نمی شوند ، حتی در صورت آینه کاری.
نمایش بی سیم
با شروع در Android 4.2 ، کاربران در دستگاه های پشتیبانی شده می توانند با استفاده از صفحه نمایش Wi-Fi (یک راه حل نمایشگر بی سیم همتا به همتا که مطابق با برنامه صدور گواهینامه Miracast intor باشد) به یک صفحه نمایش خارجی از طریق Wi-Fi متصل شوند. هنگامی که یک صفحه نمایش بی سیم به هم متصل است ، کاربران می توانند هر نوع محتوا را به صفحه بزرگ از جمله عکس ، بازی ، نقشه و موارد دیگر منتقل کنند.
برنامه ها می توانند از نمایشگرهای بی سیم به همان روشی استفاده کنند که سایر نمایشگرهای خارجی را انجام می دهند و به کار اضافی لازم نیست. این سیستم اتصال شبکه را مدیریت می کند و در صورت لزوم ، ارائه یا سایر محتوای برنامه شما را به صفحه نمایش بی سیم منتقل می کند.
پشتیبانی RTL بومی
Android 4.2 پشتیبانی کامل بومی را برای طرح بندی RTL (سمت راست به چپ) ، از جمله آینه سازی طرح بندی معرفی می کند. با پشتیبانی RTL بومی ، می توانید همان تجربه برنامه عالی را به همه کاربران خود ارائه دهید ، خواه زبان آنها از یک اسکریپت استفاده کند که به سمت راست به چپ می خواند یا یکی از مواردی که به سمت چپ به راست می خواند.
هنگامی که کاربر زبان سیستم را به یک اسکریپت راست به چپ تغییر می دهد ، سیستم اکنون آینه سازی خودکار از طرح های UI برنامه و همه ویجت های مشاهده را فراهم می کند ، علاوه بر آینه سازی Bidi از عناصر متنی برای خواندن و ورودی کاراکتر.
برنامه شما می تواند با حداقل تلاش از آینه RTL در برنامه شما استفاده کند. اگر می خواهید برنامه آینه شود ، به سادگی یک ویژگی جدید را در برنامه خود آشکار می کنید و تمام خصوصیات طرح "چپ/راست" را به معادل های جدید "شروع/پایان" تغییر می دهید. سپس سیستم آینه کاری و نمایش UI شما را در صورت لزوم انجام می دهد.
برای کنترل دقیق بر روی UI برنامه خود ، Android 4.2 شامل API های جدید است که به شما امکان می دهد جهت چیدمان ، جهت متن ، تراز متن ، گرانش و جهت محلی را در نمای مشاهده مدیریت کنید. حتی می توانید نسخه های سفارشی از چیدمان ، ترسیم و منابع دیگر را برای نمایش در هنگام استفاده از اسکریپت راست به چپ ایجاد کنید.
برای کمک به شما در اشکال زدایی و بهینه سازی چیدمان های راست به سمت راست خود ، ابزار HierarchyViewer اکنون به شما امکان می دهد ویژگی های شروع/پایان ، جهت چیدمان ، جهت متن و تراز متن را برای همه نماهای موجود در سلسله مراتب مشاهده کنید.
پیشرفت هایی برای زبان های بین المللی
Android 4.2 شامل انواع فونت و بهینه سازی شخصیت برای کاربران بین المللی است:
- برای کاربران کره ای ، یک انتخاب قلم جدید در دسترس است-Nanum (나눔 글꼴 글꼴) ، یک فونت یونیکد که مخصوصاً برای اسکریپت کره ای طراحی شده است.
- پشتیبانی بهبود یافته از متن عمودی ژاپنی که در وب سایت نمایش داده می شود.
- بهتر و موقعیت یابی فونت برای فونت های پیش فرض Indic ، Thai ، Arabic و Hebrew.
صفحه کلید Android به طور پیش فرض همچنین مجموعه ای از فرهنگ لغت ها را شامل می شود:
- فرهنگ لغت های بهبود یافته برای فرانسوی (با پشتیبانی Bigram) ، انگلیسی و روسی
- فرهنگ لغت جدید برای دانمارکی ، یونانی ، فنلاندی ، لیتوانی ، لتونی ، لهستانی ، اسلوونی ، صربستان ، سوئدی ، ترکی
راه های جدید برای ایجاد UI زیبا
قطعات تو در تو
برای کنترل بیشتر بر روی اجزای UI خود و ایجاد مدولار تر ، Android 4.2 به شما امکان می دهد قطعات را در داخل قطعات لانه کنید . برای هر قطعه ، یک مدیر قطعه جدید به شما امکان می دهد قطعات دیگر را به عنوان گره های کودک در سلسله مراتب نمای قرار دهید.
شما می توانید از قطعات تو در تو به روش های مختلف استفاده کنید ، اما آنها به ویژه برای اجرای اجزای UI پویا و قابل استفاده مجدد در داخل یک مؤلفه UI که خود پویا و قابل استفاده مجدد است ، مفید هستند. به عنوان مثال ، اگر از ViewPager برای ایجاد قطعاتی استفاده می کنید که به سمت چپ و راست می کشند ، اکنون می توانید قطعات را در هر قطعه از صفحه نمایش قرار دهید.
برای اینکه از قطعات توخالی به طور گسترده تری در برنامه خود استفاده کنید ، این قابلیت به آخرین نسخه کتابخانه پشتیبانی Android اضافه می شود.
قابلیت دسترسی
این سیستم اکنون به خدمات دسترسی کمک می کند تا بین اکتشاف لمسی و حرکات دسترسی در هنگام اکتشاف لمسی تمایز قائل شوند . هنگامی که کاربر صفحه را لمس می کند ، سیستم به این سرویس اطلاع می دهد که تعامل لمسی عمومی شروع شده است. سپس سرعت تعامل لمسی را ردیابی می کند و تعیین می کند که آیا این یک اکتشاف لمسی (آهسته) یا ژست دسترسی (سریع) است و خدمات را مطلع می کند. هنگامی که تعامل لمسی به پایان می رسد ، سیستم خدمات را اطلاع می دهد.
این سیستم گزینه جدید دسترسی جهانی را فراهم می کند که به یک سرویس دسترسی امکان می دهد منوی تنظیمات سریع را بر اساس یک عمل توسط کاربر باز کند. همچنین اضافه شده در Android 4.2 یک نوع بازخورد دسترسی جدید برای دستگاه های بریل است.
برای ارائه بینش خدمات دسترسی به معنای دیدگاه ها برای اهداف دسترسی ، این چارچوب API های جدیدی را برای ارتباط با یک نمره به عنوان برچسب برای نمای دیگر فراهم می کند. برچسب برای هر نمای از طریق AccessibilityNodeInfo برای خدمات دسترسی در دسترس است.
دوربین بهبود یافته با HDR
Android 4.2 یک رابط سخت افزار دوربین جدید و خط لوله برای بهبود عملکرد را معرفی می کند. در دستگاه های پشتیبانی شده ، برنامه ها می توانند از یک حالت جدید صحنه دوربین HDR برای گرفتن تصویر با استفاده از تکنیک های تصویربرداری با دامنه پویا بالا استفاده کنند.
علاوه بر این ، این چارچوب اکنون یک API را فراهم می کند تا برنامه ها بررسی کنند که آیا صدای شاتر دوربین می تواند غیرفعال شود. سپس برنامه ها می توانند به کاربر اجازه دهند صدا را غیرفعال کند یا به جای صدای شاتر استاندارد ، صدای جایگزین را انتخاب کند ، که توصیه می شود.
محاسبه اسکریپت
در Android 4.2 ، Renderscript Compute ویژگی های جدید برنامه نویسی ، بهینه سازی های جدید و ادغام مستقیم GPU را برای بالاترین عملکرد در عملیات محاسبات معرفی می کند.
فیلتر اسکریپت
Filterscript زیر مجموعه ای از Renderscript است که بر پردازش بهینه سازی تصویر در طیف گسترده ای از چیپست های دستگاه متمرکز است. توسعه دهندگان می توانند عملیات پردازش تصویر خود را در Filterscript با استفاده از API استاندارد Renderscript Runtime بنویسند ، اما در محدودیت های سختگیرانه تری که از سازگاری گسترده تر و بهینه سازی بهبود یافته در بین CPU ها ، GPU ها و DSP ها اطمینان حاصل می کنند.
FilterScript برای شتاب سخت افزاری در زمینه پردازش تصویر ساده و عملیات محاسباتی مانند مواردی که ممکن است برای سایه بان های قطعه OpenGL ES نوشته شود ، ایده آل است. از آنجا که مجموعه ای از محدودیت ها را بر روی سخت افزار قرار می دهد ، عملیات شما در انواع بیشتری از چیپست های دستگاه بهینه شده و شتاب می گیرد. هر برنامه هدفمند API سطح 17 یا بالاتر می تواند از FilterScript استفاده کند.
فیلمنامه ذاتی
در Android 4.2 ، RenderScript پشتیبانی از مجموعه ای از ذاتی اسکریپت را اضافه می کند- ابتدایی فیلتر از پیش اجرا شده که برای کاهش میزان کدی که برای نوشتن نیاز دارید شتاب می گیرند و برای اطمینان از اینکه برنامه شما حداکثر عملکرد را ممکن می کند.
ذاتی برای مخلوط ، تاری ، ماتریس رنگ ، 3x3 و 5x5 Consolve ، جدول جستجوی هر کانال و تبدیل یک بافر Android YUV به RGB در دسترس است.
گروه های فیلمنامه
اکنون می توانید گروه هایی از اسکریپت های Renderscript را ایجاد کرده و همه آنها را با یک تماس واحد اجرا کنید که گویی بخشی از یک فیلمنامه واحد هستند. این امر به Renderscript اجازه می دهد تا اجرای اسکریپت ها را به روش هایی که اگر اسکریپت ها به صورت جداگانه اجرا شوند ، بهینه کنند ، بهینه سازی کنند.
معیارهای پردازش تصویر را در نسخه های مختلف پلت فرم Android (Android 4.0 ، 4.1 و 4.2) در CPU فقط در یک دستگاه Nexus کهکشان اجرا می کنند.
معیارهای پردازش تصویر را با مقایسه عملیات با GPU + CPU با کسانی که در CPU اجرا می شوند فقط در همان دستگاه Nexus 10 اجرا می شوند.
اگر یک نمودار acyclic کارگردانی از عملیات Renderscript برای اجرای آن دارید ، می توانید از یک کلاس سازنده برای ایجاد یک گروه اسکریپت که عملکرد را تعریف می کند ، استفاده کنید. در زمان اجرای ، Renderscript ترتیب اجرای و اتصالات بین این عملیات را برای بهترین عملکرد بهینه می کند.
پیشرفت های بهینه سازی مداوم
هنگامی که از RenderScript برای عملیات محاسباتی استفاده می کنید ، برنامه هایی از عملکرد مداوم و بهینه سازی در موتور Renderscript ، بدون هیچ گونه تاثیری در کد برنامه خود یا هرگونه نیاز به بازسازی بهره می برید.
با بهبود بهینه سازی ، عملیات شما بدون هیچ کار از طرف شما سریعتر و روی چیپست های بیشتر اجرا می شود. نمودار سمت راست ، سود عملکرد ارائه شده توسط بهبود بهینه سازی Renderscript را در نسخه های پی در پی پلتفرم Android برجسته می کند.
محاسبه GPU
Renderscript Compute اولین پلتفرم محاسباتی است که به طور مستقیم بر روی پردازنده گرافیکی دستگاه تلفن همراه اجرا می شود. اکنون به طور خودکار از منابع محاسبه GPU در هر زمان ممکن برای بهبود عملکرد استفاده می کند. با ادغام GPU ، حتی پیچیده ترین محاسبات برای گرافیک یا پردازش تصویر می تواند با عملکرد به طرز چشمگیری بهبود یافته اجرا شود.
هر برنامه با استفاده از Renderscript در یک دستگاه پشتیبانی شده می تواند بلافاصله از این ادغام GPU ، بدون بازپرداخت ، بهره مند شود. تبلت Nexus 10 اولین دستگاهی است که از این ادغام پشتیبانی می کند.
گزینه های جدید توسعه دهنده داخلی
سیستم Android 4.2 شامل انواع گزینه های جدید توسعه دهنده است که ایجاد برنامه های عالی به نظر می رسد که عملکرد خوبی دارند. گزینه های جدید ویژگی هایی را برای اشکال زدایی و پروفایل برنامه شما از هر دستگاه یا شبیه ساز در معرض نمایش قرار می دهد.
در دستگاه هایی که Android 4.2 را اجرا می کنند ، گزینه های توسعه دهنده به طور پیش فرض پنهان هستند و به ایجاد یک تجربه بهتر برای کاربران کمک می کنند. می توانید با ضربه زدن به 7 بار در تنظیمات > درباره تلفن > شماره ساخت در هر دستگاه سازگار Android ، گزینه های توسعه دهنده را در هر زمان فاش کنید.
گزینه های جدید توسعه دهنده در Android 4.2 شامل موارد زیر است:
- گزارش اشکال را بگیرید - بلافاصله یک صفحه شلیک می کنید و اطلاعات حالت دستگاه را به ذخیره فایل محلی می اندازد ، سپس آنها را به یک پیام ایمیل جدید خروجی وصل می کند.
- گزارش اشکالات منوی قدرت - گزینه جدیدی را به منوی Power Device و تنظیمات سریع اضافه می کند تا گزارش اشکال را دریافت کنید (به بالا مراجعه کنید).
- تأیید برنامه ها از طریق USB - به شما امکان می دهد چک های برنامه را برای برنامه های بارگذاری از طریق USB غیرفعال کنید ، در حالی که هنوز برنامه های منابع دیگر مانند مرورگر را بررسی می کنید. این می تواند در حالی که ویژگی امنیتی را فعال می کند ، روند توسعه را سرعت بخشد.
- به روزرسانی های لایه های سخت افزاری را نشان دهید - هنگام بروزرسانی ، لایه های سخت افزاری را سبز می کند.
- نمایش بیش از حد GPU را نشان دهید - مناطق برداشت بیش از حد GPU را برجسته می کند.
- Force 4x MSAA - 4x MSAA را در برنامه های GL ES 2.0 باز کنید.
- نمایشگرهای ثانویه را شبیه سازی کنید -یک یا چند پنجره روکش غیر ایمن را در صفحه فعلی برای استفاده به عنوان یک صفحه نمایش از راه دور شبیه سازی شده ایجاد می کند. می توانید اندازه و چگالی صفحه نمایش شبیه سازی شده را کنترل کنید.
- Enable Traces OpenGL - به شما امکان می دهد با استفاده از LogCat ، Systrace یا Callstack در GletError ، اجرای OpenGL را ردیابی کنید.
فن آوری های جدید پلتفرم
Android 4.2 شامل انواع فن آوری های جدید و پیشرفته پلتفرم برای پشتیبانی از موارد استفاده نوآورانه ارتباطات در طیف گسترده ای از دستگاه های سخت افزاری است. در بیشتر موارد ، فن آوری ها و پیشرفت های جدید پلتفرم به طور مستقیم بر برنامه های شما تأثیر نمی گذارد ، بنابراین می توانید بدون هیچ گونه اصلاح از آنها بهره مند شوید.
پیشرفت های امنیتی
هر نسخه Android شامل ده ها پیشرفت امنیتی برای محافظت از کاربران است. در اینجا برخی از پیشرفت ها در Android 4.2 آورده شده است:
- تأیید برنامه - کاربران می توانند قبل از نصب ، "برنامه های تأیید" را فعال کنند و برنامه هایی را که توسط یک تأیید کننده برنامه نمایش داده می شوند ، انجام دهند. تأیید برنامه می تواند در صورت تلاش برای نصب برنامه ای که ممکن است مضر باشد ، به کاربر هشدار دهد ؛ اگر یک برنامه به خصوص بد باشد ، این می تواند نصب را مسدود کند.
- کنترل بیشتر پیامک های حق بیمه - Android در صورت تلاش برای ارسال پیامک به یک کد کوتاه که از خدمات حق بیمه استفاده می کند که ممکن است هزینه های اضافی را ایجاد کند ، اعلان را ارائه می دهد. کاربر می تواند انتخاب کند که آیا به برنامه اجازه ارسال پیام یا مسدود کردن آن را می دهد.
- همیشه در VPN -VPN می تواند پیکربندی شود تا برنامه ها تا زمان برقراری اتصال VPN به شبکه دسترسی نداشته باشند. این مانع از ارسال برنامه ها در شبکه های دیگر می شود.
- Pinning Certificate - اجرای Libcore SSL اکنون از پیننگ گواهی پشتیبانی می کند. اگر گواهینامه به مجموعه ای از گواهینامه های مورد انتظار زنجیر نشود ، دامنه های پین شده یک خرابی اعتبار سنجی گواهی دریافت می کنند. این در برابر سازش احتمالی مقامات گواهی محافظت می کند.
- نمایش بهبود یافته مجوزهای اندرویدی - مجوزها در گروههایی سازماندهی شده اند که توسط کاربران راحت تر درک می شوند. در حین بررسی مجوزها ، کاربر می تواند برای دیدن اطلاعات دقیق تر در مورد مجوز ، روی مجوز کلیک کند.
- Hardending Hardend - Daنگل Installd به عنوان کاربر اصلی اجرا نمی شود و باعث کاهش سطح حمله بالقوه برای افزایش امتیازات ریشه می شود.
- HARDENING SCRIPT INIT - برای جلوگیری از حملات مرتبط با Symlink ، اسکریپت های اولیه اکنون معناشناسی O_Nofollow را اعمال می کنند.
- Fortify_Source - Android اکنون Fortify_Source را پیاده سازی می کند. این توسط کتابخانه ها و برنامه های کاربردی برای جلوگیری از فساد حافظه استفاده می شود.
- پیکربندی پیش فرض ContentProvider - برنامه هایی که API سطح 17 را هدف قرار می دهند "صادرات" را به طور پیش فرض برای هر ContentProvider "FALSE" تنظیم می کنند و باعث کاهش سطح حمله پیش فرض برای برنامه ها می شوند.
- رمزنگاری - اجرای پیش فرض Securrandom و Cipher.rsa را برای استفاده از OpenSSL اصلاح کرد. پشتیبانی SSLSocket برای TLSV1.1 و TLSV1.2 با استفاده از OpenSSL 1.0.1 اضافه شد
- رفع امنیت - کتابخانه های منبع باز به روز شده با رفع امنیت شامل WebKit ، Libpng ، OpenSSL و LIBXML است. Android 4.2 همچنین شامل رفع آسیب پذیری های خاص اندرویدی است. اطلاعات مربوط به این آسیب پذیری ها برای باز کردن اعضای اتحاد گوشی ارائه شده است و اصلاحات در پروژه منبع باز اندروید در دسترس است. برای بهبود امنیت ، برخی از دستگاه های دارای نسخه های قبلی Android نیز ممکن است شامل این اصلاحات باشند.
پشته بلوتوث جدید
Android 4.2 یک پشته بلوتوث جدید را برای استفاده با دستگاه های Android بهینه می کند. پشته بلوتوث جدید با همکاری Google و Broadcom جایگزین پشته بر اساس Bluez می شود و سازگاری و قابلیت اطمینان بهبود یافته را فراهم می کند.صدای با تاخیر کم
Android 4.2 پشتیبانی از پخش صوتی با تأخیر کم را بهبود می بخشد ، از پیشرفت های انجام شده در انتشار Android 4.1 برای تأخیر در خروجی صوتی با استفاده از APIS OpenSL ES ، SoundPool و Tone Generator. این پیشرفت ها به پشتیبانی سخت افزاری بستگی دارد-دستگاه هایی که این ویژگی های صوتی با تأخیر کم را ارائه می دهند می توانند پشتیبانی خود را از طریق یک ویژگی سخت افزاری ثابت از برنامه ها تبلیغ کنند. API های جدید Audianager برای استفاده از میزان نمونه صوتی بومی و اندازه بافر ، برای استفاده در دستگاه هایی که این ویژگی را دارند ، ارائه می شود.
رابط سخت افزار جدید دوربین
Android 4.2 اجرای جدیدی از پشته دوربین را معرفی می کند. زیر سیستم دوربین شامل پیاده سازی اجزای موجود در خط لوله دوربین مانند ضبط حالت پشت سر هم با کنترل های پردازش است.رابط سخت افزاری و رابط کنترلر جدید NFC
Android 4.2 پشتیبانی از کنترل کننده ها را بر اساس استاندارد NCI از NFC-forum معرفی می کند. NCI یک پروتکل ارتباطی استاندارد بین یک کنترلر NFC (NFCC) و یک میزبان دستگاه ارائه می دهد و پشته NFC جدید با همکاری Google و Broadcom از آن پشتیبانی می کند.بهینه سازی های زمان اجرا Dalvik
زمان اجرا Dalvik شامل پیشرفت هایی برای عملکرد و امنیت در طیف وسیع تری از معماری ها است:
- پشتیبانی JIT x86 از Intel و MIPS JIT پشتیبانی از MIPS
- پارامترهای جمع آوری زباله بهینه شده برای دستگاه هایی با> 512MB
- اجرای پیش فرض Securrandom و Cipher.rsa اکنون از OpenSSL استفاده کنید
- پشتیبانی sslsocket برای TLSV1.1 و TLSV1.2 از طریق OpenSSL 1.0.1
- پشتیبانی ذاتی جدید برای روشهای strictmath abs ، min ، max و sqrt
- Bouncycastle به 1.47 به روز شد
- زلیب به 1.27 به روز شد
- dlmalloc به 2.8.6 به روز شد
اندروید 4.1
به Android 4.1 اولین نسخه Jelly Bean خوش آمدید!
Android 4.1 سریعترین و نرم ترین نسخه Android هنوز است. ما در سراسر پلتفرم پیشرفت هایی انجام داده ایم و ویژگی های جدید خوبی را برای کاربران و توسعه دهندگان اضافه کرده ایم. این سند نگاهی اجمالی به آنچه برای توسعه دهندگان جدید است ، ارائه می دهد.
برای نگاهی دقیق به API های جدید توسعه دهنده ، به سند Android 4.1 APIS مراجعه کنید.
اطلاعات بیشتری در مورد ویژگی های Jelly Bean برای کاربران در www.android.com کسب کنید.
سریع تر، روان تر، پاسخگوتر
Android 4.1 برای ارائه بهترین عملکرد Android و کمترین تأخیر لمسی در یک UI بی دردسر و بصری بهینه شده است.
برای اطمینان از یک فریمر ثابت ، Android 4.1 زمان بندی VSYNC را در تمام نقاشی و انیمیشن انجام شده توسط چارچوب Android گسترش می دهد. همه چیز در Lockstep در برابر ضربان قلب 16 میلی ثانیه VSYNC اجرا می شود - ارائه برنامه ، رویدادهای لمسی ، ترکیب صفحه نمایش و بازسازی نمایش - بنابراین فریم ها جلوتر یا عقب نمی روند.
Android 4.1 همچنین بافر سه گانه در خط لوله گرافیک ، برای رندر سازگار تر که باعث می شود همه چیز احساس نرم تر شود ، از پیمایش گرفته تا صفحه بندی و انیمیشن ها اضافه می کند.
Android 4.1 نه تنها با همگام سازی لمس به زمان VSync ، بلکه با پیش بینی اینکه انگشت شما در زمان تازه سازی صفحه قرار خواهد گرفت ، تأخیر لمسی را کاهش می دهد. این منجر به پاسخ لمسی واکنشی و یکنواخت تر می شود. علاوه بر این ، پس از دوره های عدم فعالیت ، اندروید باعث افزایش ورودی CPU در رویداد لمسی بعدی می شود تا مطمئن شود که هیچ تأخیر وجود ندارد.
ابزارآلات می تواند به شما کمک کند بهترین عملکرد را از برنامه های خود بدست آورید. Android 4.1 برای کار با ابزاری جدید به نام Systrace طراحی شده است که داده ها را مستقیماً از هسته لینوکس جمع می کند تا تصویری کلی از فعالیت های سیستم تولید کند. داده ها به عنوان گروهی از نمودارهای سری زمانی به صورت عمودی انباشته شده است تا به منزوی کردن وقفه ها و سایر موارد ، به منزوی کردن ارائه شود. این ابزار هم اکنون در Android SDK (Tools R20 یا بالاتر) در دسترس است
دسترسی پیشرفته
API های جدید برای خدمات دسترسی به شما امکان می دهد حرکات را کنترل کرده و تمرکز دسترسی را مدیریت کنید زیرا کاربر با استفاده از حرکات دسترسی ، لوازم جانبی و سایر ورودی ها از طریق عناصر روی صفحه و دکمه های ناوبری حرکت می کند. سیستم Talkback و اکتشاف با لمس دوباره طراحی شده اند تا از تمرکز دسترسی برای استفاده آسان تر استفاده کنند و مجموعه کاملی از API ها را برای توسعه دهندگان ارائه دهند.
خدمات دسترسی می توانند آموزش های خود را به تنظیمات دسترسی پیوند دهند تا به کاربران کمک کند تا از خدمات خود پیکربندی و استفاده کنند.
برنامه هایی که از مؤلفه های نمایش استاندارد استفاده می کنند ، پشتیبانی از ویژگی های جدید دسترسی را بطور خودکار و بدون هیچ گونه تغییر در کد آنها به ارث می برند . برنامه هایی که از نمودارهای سفارشی استفاده می کنند می توانند از API های گره دسترسی جدید استفاده کنند تا بخش هایی از دیدگاه مورد علاقه خدمات دسترسی را نشان دهند.
پشتیبانی از کاربران بین المللی
متن دو جهته و پشتیبانی دیگر زبان
Android 4.1 به شما کمک می کند تا از طریق پشتیبانی از متن دو جهته در عناصر TextView و edittext به کاربران بیشتری برسید. برنامه ها می توانند متن را در اسکریپت های چپ به راست یا راست به چپ ویرایش متن نمایش دهند. برنامه ها می توانند از مناطق جدید عربی و عبری و قلم های مرتبط استفاده کنند.
انواع دیگر پشتیبانی از زبان جدید شامل موارد زیر است:
- زبانهای اضافی شاخص: کانادا ، تلوگو و مالاییایی
- کاراکترهای جدید ایموجی از نسخه Unicode 6.0
- پشتیبانی بهتر گلیف برای کاربران ژاپنی (نسخه های خاص ژاپنی گلیف ها را هنگام تنظیم زبان سیستم به ژاپنی ارائه می دهد)
- گلیف های عربی علاوه بر گلیف های عربی برای TextViews برای وب سایت های وب بهینه شده اند
- پشتیبانی از متن عمودی در وب سایت ها ، از جمله متن یاقوت و گلیف های متن عمودی اضافی
- Boldatic Bold اکنون برای همه فونت هایی که دارای گلیف های جسورانه اختصاصی نیستند در دسترس است
KeyMaps قابل نصب کاربر
این پلتفرم اکنون از نقشه های صفحه کلید قابل نصب کاربر ، مانند صفحه کلید بین المللی اضافی و انواع طرح بندی ویژه پشتیبانی می کند. به طور پیش فرض ، Android 4.1 شامل 27 صفحه اصلی برای صفحه کلید از جمله Dvorak است. هنگامی که کاربران یک صفحه کلید را وصل می کنند ، می توانند به برنامه تنظیمات بروند و یک یا چند کلید را که می خواهند برای آن صفحه کلید استفاده کنند انتخاب کنند. هنگام تایپ ، کاربران می توانند با استفاده از میانبر (CTRL-Space) بین KeyMaps جابجا شوند.
می توانید یک برنامه برای انتشار KeyMaps اضافی به سیستم ایجاد کنید. APK می تواند منابع چیدمان صفحه کلید را در IT بر اساس فرمت استاندارد Android KeyMap شامل شود. این برنامه می تواند با اعلام یک گیرنده پخش مناسب برای Action_Query_Keyboard_Layouts در آشکار خود ، طرح های صفحه کلید دیگری را به کاربر ارائه دهد.
راه های جدید برای ایجاد رابط کاربری زیبا
اعلان های قابل ارتقا
اعلان ها مدتهاست که یک ویژگی منحصر به فرد و محبوب در Android بوده است. توسعه دهندگان می توانند از آنها برای قرار دادن اطلاعات مهم یا مبتنی بر زمان در مقابل کاربران در نوار اعلان ، خارج از UI عادی برنامه استفاده کنند.
Android 4.1 به روزرسانی عمده ای را برای چارچوب اعلان های اندرویدی به ارمغان می آورد. برنامه ها اکنون می توانند اعلان های بزرگتر و غنی تری را به کاربران نشان دهند که می توانند با یک خرج کردن یا کش رفتن از بین بروند. اعلان ها از انواع جدیدی از محتوا ، از جمله عکس ، از اولویت های قابل تنظیم پشتیبانی می کنند و حتی می توانند شامل چندین اقدام باشند.
از طریق یک سازنده اطلاع رسانی بهبود یافته ، برنامه ها می توانند اعلان هایی ایجاد کنند که از یک منطقه بزرگتر استفاده می کنند ، تا 256 DP از ارتفاع. سه سبک اطلاع رسانی در دسترس است:
- BIGTEXTSTYLE - اعلان که شامل یک شیء TextView چند لایه است.
- BigInboxStyle - اعلان هایی که هر نوع لیستی مانند پیام ها ، عناوین و غیره را نشان می دهد.
- BigPicturestyle - اعلان هایی که محتوای بصری مانند یک bitmap را به نمایش می گذارد.
علاوه بر سبک های با قالب ، می توانید سبک های اعلان خود را با استفاده از هر نمای از راه دور ایجاد کنید.
برنامه ها می توانند حداکثر سه عمل را به یک اعلان اضافه کنند ، که در زیر محتوای اعلان نمایش داده می شوند. این اقدامات به کاربران اجازه می دهد تا به روش های جایگزین مستقیماً به اطلاعات در اعلان پاسخ دهند. مانند ایمیل یا تماس تلفنی ، بدون مراجعه به برنامه.
با اعلان های قابل ارتقا ، برنامه ها می توانند اطلاعات بیشتری را به کاربر ، بدون زحمت و تقاضا ارائه دهند. کاربران در کنترل خود باقی مانده و می توانند هرگونه اعلان را برای دریافت اطلاعات در مورد فرستنده تحت فشار قرار دهند و به صورت اختیاری اعلان های بیشتر از برنامه را غیرفعال کنند.
ویجت های برنامه قابل تغییر اندازه
Android 4.1 ویجت های برنامه بهبود یافته را معرفی می کند که می توانند به طور خودکار تغییر اندازه دهند ، بر اساس جایی که کاربر آنها را روی صفحه اصلی رها می کند ، اندازه ای که کاربر آنها را گسترش می دهد و میزان اتاق موجود در صفحه اصلی. API های ویجت برنامه جدید به شما امکان می دهد تا با تغییر اندازه ویجت ها ، محتوای ویجت برنامه خود را بهینه کنید .
هنگامی که یک ویجت اندازه را تغییر می دهد ، سیستم به ارائه دهنده ویجت برنامه میزبان اطلاع می دهد ، که می تواند در صورت لزوم محتوا را در ویجت بارگیری مجدد کند. به عنوان مثال ، یک ویجت می تواند گرافیک های بزرگتر ، غنی تر یا عملکرد یا گزینه های اضافی را به نمایش بگذارد. توسعه دهندگان هنوز هم می توانند کنترل حداکثر و حداقل اندازه را حفظ کنند و هر زمان که لازم باشد می توانند سایر گزینه های ویجت را به روز کنند.
همچنین می توانید طرح های منظره و پرتره جداگانه ای را برای ابزارک های خود تهیه کنید ، که سیستم در صورت تغییر جهت گیری صفحه ، در صورت مناسب ، تورم می کند.
ویجت های برنامه اکنون می توانند در لانچرهای شخص ثالث و سایر برنامه های میزبان از طریق یک هدف جدید (AppWidgetManager.Action_AppWidget_Bind) نمایش داده شوند.
پیمایش کار ساده
Android 4.1 مدیریت ناوبری "UP" را که از داخل برنامه های شما در دسترس کاربران است ، برای شما آسان می کند و به اطمینان از یک تجربه مداوم برای کاربران کمک می کند.
با افزودن یک ویژگی XML جدید در پرونده مانیفست برنامه ، می توانید ناوبری در نظر گرفته شده را برای مؤلفه های فعالیت فردی UI خود تعریف کنید . در زمان اجرا ، با شروع فعالیت ها ، سیستم درخت ناوبری UP را از پرونده مانیفست استخراج می کند و به طور خودکار ناوبری ارزان قیمت را در نوار عمل ایجاد می کند. توسعه دهندگان که در مانیفست اعلام می کنند دیگر نیازی به مدیریت ناوبری با پاسخ به تماس در زمان اجرا ندارند ، اگرچه در صورت لزوم می توانند این کار را نیز انجام دهند.
همچنین یک کلاس جدید TaskStackBuilder در دسترس است که به شما امکان می دهد به سرعت یک پشته کار مصنوعی را جمع کنید تا بلافاصله شروع کنید یا هنگام فعالیت از یک در حال انتظار استفاده کنید. ایجاد یک پشته کار مصنوعی به ویژه هنگامی که کاربران فعالیت هایی را از دیدگاه های از راه دور ، مانند ویجت های صفحه اصلی و اعلان ها انجام می دهند ، مفید است ، زیرا به توسعه دهنده اجازه می دهد تا یک تجربه مدیریت شده و مداوم در مورد ناوبری پشتی ارائه دهد.
انیمیشن های آسان برای راه اندازی Activity
برای ایجاد و کنترل انیمیشن نمایش داده شده هنگام شروع فعالیت های خود می توانید از یک کلاس یاور جدید ، ActionOptions استفاده کنید. از طریق کلاس یاور ، می توانید منابع انیمیشن سفارشی را برای استفاده در هنگام راه اندازی فعالیت مشخص کنید ، یا درخواست انیمیشن های بزرگنمایی جدید را که از هر مستطیلی که روی صفحه مشخص می کنید شروع می شود و به صورت اختیاری شامل یک bitmap کوچک است.
انتقال به حالت های روشن و تمام صفحه
پرچم های UI سیستم جدید به شما امکان می دهد تا از یک UI برنامه معمولی (با نوار عمل ، نوار ناوبری و نوار سیستم قابل مشاهده) ، به "حالت چراغ خاموش" (با نوار وضعیت و نوار عمل مخفی و نوار ناوبری کم رنگ) یا به طور تمیز انتقال دهید. "حالت تمام صفحه" (با نوار وضعیت ، نوار عمل و نوار ناوبری همه پنهان).
انواع جدید نماهای قابل کنترل از راه دور
اکنون توسعه دهندگان می توانند از نمودارهای GridLayout و ViewStub در ابزارک ها و اعلان های صفحه اصلی استفاده کنند. GridLayout به شما امکان می دهد تا محتوای دیدگاه های از راه دور خود را ساختار داده و ترازهای کودک را با سلسله مراتب کم عمق UI مدیریت کنید. ViewStub یک دیدگاه نامرئی و به اندازه صفر است که می تواند برای تنبلی منابع چیدمان در زمان اجرا استفاده شود.
پیش نمایش تصویر زمینه زنده
Android 4.1 پیدا کردن و نصب تصاویر پس زمینه زنده از برنامه هایی که شامل آنها هستند ، کاربران را آسان تر می کند. اگر برنامه شما شامل تصاویر پس زمینه زنده است ، اکنون می توانید یک فعالیت (action_change_live_wallpaper) را شروع کنید که پیش نمایش تصویر زمینه زنده را از برنامه شخصی خود به کاربر نشان می دهد. از پیش نمایش ، کاربران می توانند تصویر زمینه زنده را مستقیماً بارگیری کنند.
عکس های تماس با وضوح بالاتر
با Android 4.1 ، می توانید عکس های تماسی را به اندازه 720 x 720 ذخیره کنید و مخاطبین را حتی ثروتمندتر و شخصی تر کنید. برنامه ها می توانند عکس های تماس را در آن اندازه ذخیره و بازیابی کنند یا از هر اندازه مورد نیاز دیگر استفاده کنند. حداکثر اندازه عکس پشتیبانی شده در دستگاه های خاص ممکن است متفاوت باشد ، بنابراین برنامه ها باید از ارائه دهنده مخاطبین داخلی در زمان اجرا پرس و جو کنند تا حداکثر اندازه دستگاه فعلی را بدست آورند.
انواع و قابلیت های ورودی جدید
در مورد دستگاه های اضافه شده و حذف شده اطلاعات کسب کنید
برنامه ها می توانند در صورت اتصال هر دستگاه ورودی جدید ، توسط USB ، بلوتوث یا هر نوع اتصال دیگر ، به آنها اطلاع دهند . آنها می توانند از این اطلاعات برای تغییر حالت یا توانایی ها در صورت لزوم استفاده کنند. به عنوان مثال ، یک بازی می تواند اعلان را دریافت کند که یک صفحه کلید یا جوی استیک جدید به آن وصل شده است و این نشانگر حضور یک بازیکن جدید است.
قابلیت های دستگاه های ورودی را پرس و جو کنید
Android 4.1 شامل API هایی است که به برنامه ها و بازی ها اجازه می دهد تا از تمام دستگاه های ورودی که متصل و در دسترس هستند ، از آن استفاده کنند.
برنامه ها می توانند از مدیر دستگاه پرس و جو کنند تا تمام دستگاه های ورودی را که در حال حاضر وصل شده اند ، شمارش کند و در مورد قابلیت های هر یک اطلاعات کسب کند.
ویبراتور را در دستگاه های ورودی کنترل کنید
از جمله قابلیت های دیگر ، برنامه ها هم اکنون می توانند از هر سرویس ویبراتور مرتبط با یک دستگاه ورودی متصل ، مانند کنترل کننده های Rumble Pak استفاده کنند.
انیمیشن و گرافیک
vsync برای برنامه ها
گسترش VSYNC در چارچوب Android منجر به یک فریمر سازگار تر و یک UI صاف و پایدار می شود. به طوری که برنامه ها نیز به نفع آن هستند ، Android 4.1 زمان VSYNC را به کلیه نقاشی ها و انیمیشن های آغاز شده توسط برنامه ها گسترش می دهد . این امر به آنها اجازه می دهد تا عملیات را روی موضوع UI بهینه کنند و یک پایه زمانی پایدار برای هماهنگ سازی فراهم می کنند.
برنامه ها می توانند از طریق چارچوب انیمیشن Android از زمان بندی VSYNC به صورت رایگان استفاده کنند. چارچوب انیمیشن اکنون از زمان بندی VSYNC استفاده می کند تا به طور خودکار همگام سازی در بین انیماتورها انجام شود.
برای مصارف تخصصی ، برنامه ها می توانند از طریق API در معرض کلاس جدید رقصنده ، به زمان VSYNC دسترسی پیدا کنند. برنامه ها می توانند در قاب VSYNC بعدی نامعتبر شوند - راهی مناسب برای برنامه ریزی انیمیشن هنگامی که برنامه از چارچوب انیمیشن استفاده نمی کند. برای مصارف پیشرفته تر ، برنامه ها می توانند یک تماس تلفنی را ارسال کنند که کلاس رقصنده روی قاب بعدی اجرا شود.
اقدامات جدید انیمیشن و انواع انتقال
چارچوب انیمیشن اکنون به شما امکان می دهد اقدامات شروع و پایان را در هنگام اجرای انیمیشن های نمای ViewPropertyanimator انجام دهید تا به هماهنگ کردن آنها با سایر انیمیشن ها یا اقدامات موجود در برنامه کمک کند. این عمل می تواند هر شیء قابل اجرا را اجرا کند. به عنوان مثال ، Runnable ممکن است انیمیشن دیگری را برای شروع کار قبلی مشخص کند.
همچنین اکنون می توانید مشخص کنید که یک نمای نمایشی در طول انیمیشن خود از یک لایه استفاده می کند. پیش از این ، بهترین عمل برای تحریک نماهای پیچیده با تنظیم یک لایه قبل از شروع یک انیمیشن و سپس رسیدگی به یک رویداد Onanimationend () برای حذف لایه در هنگام پایان انیمیشن بود. اکنون ، روش WithLayer () در مورد نمای ViewPropertyanimator این فرآیند را با یک تماس روش واحد ساده می کند.
یک نوع انتقال جدید در LayoutTransition شما را قادر می سازد تا در پاسخ به همه تغییرات چیدمان در یک گروه View ، انیمیشن ها را خودکار کنید.
انواع جدید اتصال
پرتو اندروید
Android Beam یک فناوری محبوب مبتنی بر NFC است که به کاربران امکان می دهد تا بلافاصله با لمس دو تلفن با قابلیت NFC در کنار هم به اشتراک بگذارند.
در Android 4.1 ، Android Beam با استفاده از بلوتوث برای انتقال داده ، به اشتراک گذاری تصاویر ، فیلم ها یا سایر بارهای دیگر را آسانتر می کند. هنگامی که کاربر انتقال را آغاز می کند ، Android Beam از NFC به بلوتوث دست می دهد و مدیریت انتقال یک فایل از یک دستگاه به دستگاه دیگر بسیار آسان است.
کشف سرویس شبکه Wi-Fi
Android 4.1 پشتیبانی از Discovery Service مبتنی بر DNS را ارائه می دهد ، که به برنامه ها اجازه می دهد تا خدمات ارائه شده توسط دستگاه های همسالان را از طریق شبکه های Wi-Fi-از جمله دستگاه های تلفن همراه ، چاپگر ، دوربین ها ، رسانه ها و سایر موارد ، پیدا کنند و به آنها متصل شوند. توسعه دهندگان می توانند از Discovery Service Wi-Fi Network برای ساخت بازی های متقابل یا چند نفره و تجربیات برنامه استفاده کنند.
با استفاده از API Service Discovery ، برنامه ها می توانند هر نوع سرویس را برای هر دستگاه دیگر با قابلیت NSD ایجاد و ثبت کنند. این سرویس توسط Multicast در سراسر شبکه با استفاده از یک شناسه رشته قابل خواندن انسانی تبلیغ می شود ، که به کاربر امکان می دهد راحت تر نوع سرویس را شناسایی کند.
دستگاه های مصرف کننده می توانند از API برای اسکن و کشف خدمات موجود از دستگاه های متصل به شبکه Wi-Fi محلی استفاده کنند. پس از کشف ، برنامه ها می توانند از API برای حل سرویس به آدرس IP و درگاه استفاده کنند که از طریق آن می تواند یک اتصال سوکت ایجاد کند.
برای ایجاد ویژگی های جدید در برنامه های خود می توانید از این API استفاده کنید. به عنوان مثال ، شما می توانید به کاربران اجازه دهید به یک وب کم ، چاپگر یا یک برنامه در دستگاه تلفن همراه دیگری متصل شوند که از اتصالات Wi-Fi به همتا پشتیبانی می کند.
کشف سرویس Wi-Fi P2P
Ice Cream Sandwich introduced support for Wi-Fi Peer-to-Peer (P2P), a technology that lets apps discover and pair directly , over a high-bandwidth peer-to-peer connection (in compliance with the Wi-Fi Alliance's Wi-Fi Direct™ certification program). Wi-Fi P2P is an ideal way to share media, photos, files and other types of data and sessions, even where there is no cell network or Wi-Fi available.
Android 4.1 takes Wi-Fi P2P further, adding API support for pre-associated service discovery . Pre-associated service discovery lets your apps get more useful information from nearby devices about the services they support, before they attempt to connect. Apps can initiate discovery for a specific service and filter the list of discovered devices to those that actually support the target service or application.
For example, this means that your app could discover only devices that are “printers” or that have a specific game available, instead of discovering all nearby Wi-Fi P2P devices. On the other hand, your app can advertise the service it provides to other devices, which can discover it and then negotiate a connection. This greatly simplifies discovery and pairing for users and lets apps take advantage of Wi-Fi P2P more effectively.
With Wi-Fi P2P service discovery, you can create apps and multiplayer games that can share photos, videos, gameplay, scores, or almost anything else — all without requiring any Internet or mobile network. Your users can connect using only a direct p2p connection, which avoids using mobile bandwidth.
Network Bandwidth Management
Android 4.1 helps apps manage data usage appropriately when the device is connected to a metered network , including tethering to a mobile hotspot. Apps can query whether the current network is metered before beginning a large download that might otherwise be relatively expensive to the user. Through the API, you can now get a clear picture of which networks are sensitive to data usage and manage your network activity accordingly.
New Media Capabilities
Media codec access
Android 4.1 provides low-level access to platform hardware and software codecs. Apps can query the system to discover what low-level media codecs are available on the device and then and use them in the ways they need. For example, you can now create multiple instances of a media codec, queue input buffers, and receive output buffers in return. In addition, the media codec framework supports protected content. Apps can query for an available codec that is able to play protected content with a DRM solution available on the device.
USB Audio
USB audio output support allows hardware vendors to build hardware such as audio docks that interface with Android devices. This functionality is also exposed with the Android Open Accessory Development Kit (ADK) to give all developers the chance to create their own hardware.
Audio record triggering
Android now lets you trigger audio recording based on the completion of an audio playback track. This is useful for situations such as playing back a tone to cue your users to begin speaking to record their voices. This feature helps you sync up recording so you don't record audio that is currently being played back and prevents recordings from beginning too late.
Multichannel audio
Android 4.1 supports multichannel audio on devices that have hardware multichannel audio out through the HDMI port . Multichannel audio lets you deliver rich media experiences to users for applications such as games, music apps, and video players. For devices that do not have the supported hardware, Android automatically downmixes the audio to the number of channels that are supported by the device (usually stereo).
Android 4.1 also adds built-in support for encoding/decoding AAC 5.1 audio.
پیش پردازش صدا
Developers can apply preprocessing effects to audio being recorded, such as to apply noise suppression for improving speech recording quality, echo cancellation for acoustic echo, and auto gain control for audio with inconsistent volume levels. Apps that require high quality and clean audio recording will benefit from these preprocessors.
زنجیره صوتی
MediaPlayer supports chaining audio streams together to play audio files without pauses. This is useful for apps that require seamless transitions between audio files such as music players to play albums with continuous tracks or games.
Media Router
The new APIs MediaRouter, MediaRouteActionProvider, and MediaRouteButton provide standard mechanisms and UI for choosing where to play media . Support is built-in for wired headsets and a2dp bluetooth headsets and speakers, and you can add your own routing options within your own app.
Renderscript Computation
Android 4.1 extends Renderscript computation to give you more flexibility. You can now sample textures in your Renderscript compute scripts, and new pragmas are available to define the floating point precision required by your scripts. This lets you enable NEON instructions such as fast vector math operations on the CPU path, that wouldn't otherwise be possible with the full IEEE 754-2008 standard.
You can now debug your Renderscript compute scripts on x86-based emulator and hardware devices . You can also define multiple root-style kernels in a single Renderscript source file.
مرورگر اندروید و WebView
In Android 4.1, the Android Browser and WebViews include these enhancements:
- Better HTML5 video user experience, including touch-to-play/pause and smooth transition from inline to full screen mode.
- Improved rendering speed and reduced memory usage for better scrolling and zooming performance.
- Improved HTML5/CSS3/Canvas animation performance.
- Improved text input.
- Updated JavaScript Engine (V8) for better JavaScript performance.
- Support for the updated HTML5 Media Capture specification (the "capture" attribute on input type=file elements).
Google APIs and services
To extend the capabilities of Android even further, several new services for Android are available.
Google Cloud Messaging برای اندروید
Google Cloud Messaging (GCM) is a service that lets developers send short message data to their users on Android devices, without needing a proprietary sync solution.
GCM handles all the details of queuing messages and delivering them efficiently to the targeted Android devices. It supports message multicasting and can reach up to 1000 connected devices simultaneously with a single request. It also supports message payloads , which means that in addition to sending tickle messages to an app on the device, developers can send up to 4K of data.
Google Cloud Messaging is completely free for all developers and sign-up is easy. See the Google Cloud Messaging page for registration, downloads, and documentation.
App Encryption
Starting with Android 4.1, Google Play will help protect application assets by encrypting all paid apps with a device-specific key before they are delivered and stored on a device.
به روز رسانی برنامه های هوشمند
Smart app updates is a new feature of Google Play that introduces a better way of delivering app updates to devices. When developers publish an update, Google Play now delivers only the bits that have changed to devices, rather than the entire APK. This makes the updates much lighter-weight in most cases, so they are faster to download, save the device's battery, and conserve bandwidth usage on users' mobile data plan. On average, a smart app update is about 1/3 the size of a full APK update.
خدمات گوگل پلی
Google Play services helps developers to integrate Google services , such as authentication, into their apps delivered through Google Play.
Google Play services is automatically provisioned to end user devices by Google Play, so all you need is a thin client library in your apps.
Because your app only contains the small client library, you can take advantage of these services without a big increase in download size and storage footprint. Also, Google Play will deliver regular updates to the services, without developers needing to publish app updates to take advantage of them.
For more information about the APIs included in Google Play Services, see the Google Play services developer page.