Android предоставляет обширный и хорошо организованный набор высокоуровневых API для создания приложений и использования базовых функций платформы. API-интерфейсы обеспечивают чрезвычайно высокий уровень абстракции, что делает их относительно интуитивно понятными и простыми в использовании.
Сторонние приложения могут воспроизводить или взаимодействовать практически со всеми основными компонентами платформы. Например, Android предоставляет методы для извлечения информации из списка контактов пользователя и для расширения системы контактов новыми полями данных. Также легко создать новый номеронабиратель или реализовать собственное поведение для системных событий, таких как входящие SMS-сообщения. Это одна из областей, в которой я действительно чувствую, что Google превзошел ожидания и выполнил свои обещания: API-интерфейсы действительно позволяют создавать приложения, которые полностью интегрируются с остальной платформой.
Инструментарий виджетов Android предоставляет множество очень полезных компонентов прямо из коробки. Отдельные виджеты разработаны специально для удобного взаимодействия с пальцами, в них уже встроены такие функции, как кинетическая прокрутка. Разработчики используют язык описания пользовательского интерфейса на основе XML для указания макета и атрибутов виджетов, при этом XML-описания загружаются в программу через систему ресурсов Android. На отдельные виджеты, описанные в макете XML, можно ссылаться по идентификатору в программе. Также можно программно создавать виджеты и управлять пользовательским интерфейсом во время выполнения.
Предпочтительным методом создания макетов является написание XML-описаний вручную. Android SDK предоставляет несколько примитивный инструмент визуальной компоновки, который интегрируется с Eclipse, но поддерживает не все виджеты и не всегда работает согласованно. В SDK также включено средство просмотра иерархии , которое можно использовать для отладки макета. Отсутствие надежного инструмента визуальной компоновки является слабой стороной Android по сравнению с другими решениями для разработки мобильных приложений, в частности с Visual Studio от Microsoft. Вполне вероятно, что инструменты будут совершенствоваться и догонять по мере развития Android.
