Сразу после запуска Android 4.0 и Samsung Galaxy Nexus компания Google сделала доступным Ice Cream Sandwich SDK.
Ключевой особенностью Android 4.0 является то, что он предоставляет унифицированную структуру пользовательского интерфейса, которая позволяет создавать одни и те же приложения для телефонов и планшетов — и многое другое в соответствии с документацией SDK.
Он включает в себя уже знакомые элементы интерфейса Android 3.x и API-интерфейсы, такие как фрагменты, загрузчики контента, панель действий, расширенные уведомления, виджеты главного экрана с изменяемым размером, а также предлагает последовательные методы проектирования, упрощенный код и ресурсы, а также оптимизированную разработку. на всех устройствах под управлением Android.
Есть несколько новых API, расширяющих возможности Android для социальных сетей и обмена:
Social API — новый единый магазин контактов, данных профиля, обновлений статуса и фотографий. Он также поддерживает обратную связь о недавних действиях, стандартный способ для приложений «пометить» контакт общими действиями, например, когда пользователь звонит контакту или отправляет электронное письмо или SMS-сообщение. Приложения также могут позволять пользователям устанавливать социальное соединение с контактом из приложения «Люди».
Calendar API — общий поставщик содержимого календаря и платформа, которые могут добавлять события в общую базу данных и управлять датами, участниками, предупреждениями и напоминаниями. Приложения также могут считывать записи из базы данных, включая события, внесенные другими приложениями, и обрабатывать отображение предупреждений и напоминаний о событиях.
API визуальной голосовой почты — позволяет вносить вклад в единое хранилище голосовой почты; голосовые сообщения отображаются и воспроизводятся на вкладке журнала вызовов приложения «Телефон» платформы.
Android Beam — функция на основе беспроводной связи ближнего радиуса действия (NFC), которая позволяет пользователям мгновенно обмениваться информацией о приложениях, которые они используют, просто касаясь двух телефонов с поддержкой NFC вместе. Для разработчиков Android Beam — это новый способ запуска практически любого типа взаимодействия на основе близости, такого как обмен контактами, настройка многопользовательской игры, присоединение к чату или видеозвонку, а также обмен фотографиями или видео. Разработчики имеют полный контроль над общими данными и их обработкой, поэтому практически любое взаимодействие возможно. Для большей полезной нагрузки разработчики могут даже использовать Android Beam для инициирования соединения и передачи данных через Bluetooth без необходимости видимого пользователем сопряжения.
ShareActionProvider — виджет, который позволяет разработчикам встраивать стандартные функции общего доступа и пользовательский интерфейс в панель действий своих приложений и устанавливать намерение, описывающее желаемое действие совместного использования. Затем система создает список приложений, которые могут обрабатывать намерение общего доступа, и отправляет намерение, когда пользователь выбирает из меню.
Для разработчика Android 4.0 имеет новые компоненты пользовательского интерфейса и возможности, которые помогут с версткой, дизайном и производительностью приложений:
GridLayout — повышает производительность приложений Android, поддерживая более плоские иерархии представлений, которые быстрее компоновка и рендеринг, и позволяют разработчикам управлять выравниванием между компонентами, которые визуально связаны друг с другом, даже если они не связаны логически, для точного управления пользовательским интерфейсом приложения. . GridLayout также специально разработан для настройки с помощью инструментов проектирования с перетаскиванием, таких как подключаемый модуль ADT для Eclipse.
Объект TextureView — позволяет разработчикам напрямую интегрировать текстуры OpenGL ES в качестве объектов рендеринга в иерархию пользовательского интерфейса, что упрощает внедрение предварительного просмотра камеры, декодированного видео и игровых сцен OpenGL. TextureView можно рассматривать как более мощную версию существующего объекта SurfaceView, поскольку он предлагает те же преимущества доступа к поверхности визуализации GL, с дополнительным преимуществом, заключающимся в том, что эта поверхность полностью участвует в нормальной иерархии представления.
Двухмерное рисование с аппаратным ускорением. Устройства под управлением Android 4.0 должны поддерживать двухмерное рисование с аппаратным ускорением. Благодаря ускоренному масштабированию, повороту и другим 2D-операциям, а также ускоренным компонентам пользовательского интерфейса, таким как TextureView, разработчики могут добавлять отличные эффекты пользовательского интерфейса, сохраняя при этом оптимальную производительность на экранах с высоким разрешением, даже на телефонах.
Новые типы ввода, текст и специальные возможности в Android 4.0 SDK включают:
Поддержка событий ввода пера, включая оси наклона и расстояния, давление и связанные свойства события движения. Чтобы помочь приложениям различать события движения из разных источников, платформа добавляет различные типы инструментов для стилуса, пальца, мыши и ластика. Для улучшенного ввода с многокнопочных указывающих устройств платформа теперь предоставляет отдельные первичные, вторичные и третичные кнопки, а также кнопки «назад» и «вперед». Также добавлены события Hover-enter и hover-exit для улучшенной навигации и доступности. Разработчики могут использовать эти новые функции ввода, чтобы добавить в свои приложения мощные средства взаимодействия, такие как точное рисование и жесты, распознавание рукописного ввода и формы, а также улучшенный ввод с помощью мыши.
API текстовых служб — позволяет приложениям запрашивать доступные текстовые службы, такие как словари и средства проверки орфографии, для предложения слов, исправлений и аналогичных данных.
Запись о доступности — платформа добавляет события специальных возможностей для сенсорного режима, прокрутки и выбора текста. Для этих и других событий платформа может присоединить новый объект, называемый записью доступности, который предоставляет дополнительную информацию о контексте события. Используя запись о доступности и связанные API, приложения теперь могут получить доступ к иерархии представлений, связанной с событием. Приложения могут запрашивать ключевые свойства, такие как родительские и дочерние узлы, доступные состояния, поддерживаемые действия, положение экрана и многое другое. Приложения также могут запрашивать изменения определенных свойств, чтобы управлять фокусом и выбранным состоянием. Например, служба специальных возможностей может использовать эти новые возможности для добавления удобных функций, таких как поиск на экране по тексту.
Новый симулятор Android 4
API преобразования текста в речь — позволяет разработчикам создавать механизмы преобразования текста в речь и делать их доступными для любого приложения, запрашивающего возможности TTS.
Другие улучшения включают сетевые API-интерфейсы для эффективного использования сети и, в области безопасности, управление аутентификацией с новым API-интерфейсом связки ключей и зашифрованное хранилище и рандомизацию разметки адресного пространства (ASLR), чтобы помочь защитить системные и сторонние приложения от эксплуатации за счет управления памятью вопросы. Новый клиентский API VPN позволяет корпоративным разработчикам создавать или расширять свои собственные решения VPN на платформе.
Возможности мультимедиа Android 4.0 были расширены за счет поддержки транспорта MPEG-2 и нового собственного API для поддержки низкоуровневой потоковой передачи мультимедиа. Расширенная поддержка дополнительных типов мультимедиа означает, что для видео фреймворк теперь поддерживает потоковую передачу содержимого VP8, а для потоковой передачи мультимедиа — протокол потоковой передачи HTTP Live версии 3 и кодирование содержимого AAC, содержащегося в ADTS. Кроме того, разработчики теперь могут использовать контейнеры Matroska для контента Vorbis и VP8.
Его расширенные возможности камеры включают службу обнаружения лиц, которая идентифицирует и отслеживает лица в предварительном просмотре и возвращает их координаты на экране. Для обработки изображений набор высокопроизводительных фильтров преобразования позволяет разработчикам применять богатые эффекты к любому изображению, переданному как текстура OpenGL ES 2.0.
С его новым API удаленного управления звуком любое музыкальное или мультимедийное приложение может зарегистрироваться для получения событий мультимедийных кнопок с пульта дистанционного управления и затем соответствующим образом управлять состоянием воспроизведения. Приложение также может предоставлять метаданные для пульта дистанционного управления, такие как обложка или изображение альбома, состояние воспроизведения, номер и описание дорожки, продолжительность и жанр.