Примечания к версии Android 1.1

Дата: февраль 2009 г.
Уровень API: 2

В этом документе представлены примечания к версии образа системы Android 1.1, включенного в SDK.

Обзор

Образ системы Android 1.1, поставляемый в SDK, является разрабатываемым аналогом образа рабочей системы Android 1.1, который можно будет развернуть на телефонах под управлением Android, начиная с февраля 2009 года.

Образ системы Android 1.1 предоставляет обновленную версию API платформы. Как и в случае с API Android 1.0, API Android 1.1 присвоен целочисленный идентификатор — 2 , который хранится в самой системе. Этот идентификатор, называемый «уровнем API», позволяет системе правильно определить, совместимо ли приложение с системой, до его установки.

Приложения указывают самый низкий уровень системного API, с которым они совместимы, путем добавления значения к атрибуту android:minSdkVersion . Значением атрибута является целое число, соответствующее идентификатору уровня API. Перед установкой приложения система проверяет значение android:minSdkVersion и разрешает установку только в том случае, если указанное целое число меньше или равно целому числу уровня API, хранящемуся в самой системе.

Если вы используете образ системы Android 1.1 для создания приложения, совместимого с устройствами Android, работающими на платформе Android 1.1, вам необходимо установить для атрибута android:minSdkVersion значение «2», чтобы указать, что ваше приложение совместимо только с устройствами, использующими Образ системы Android 1.1 (или более поздней версии).

В частности, вы указываете атрибут android:minSdkVersion в элементе <uses-sdk> как дочерний элемент <manifest> в файле манифеста. Установленный атрибут выглядит следующим образом:

<manifest>
  ...
  <uses-sdk android:minSdkVersion="2" />
  ...
</manifest>

Установив android:minSdkVersion таким образом, вы гарантируете, что пользователи смогут установить ваше приложение только в том случае, если их устройства работают под управлением платформы Android 1.1. В свою очередь, это гарантирует, что ваше приложение будет правильно работать на своих устройствах, особенно если оно использует API, представленные в Android 1.1 .

Если ваше приложение использует API, представленные в Android 1.1, но не объявляет <uses-sdk android:minSdkVersion="2" /> , то оно будет корректно работать на устройствах Android 1.1, но не на устройствах Android 1.0. В последнем случае приложение выйдет из строя во время выполнения, когда оно попытается использовать API-интерфейсы Android 1.1.

Если ваше приложение не использует новые API, представленные в Android 1.1, вы можете указать совместимость с Android 1.0, удалив android:minSdkVersion или установив для атрибута значение «1». Однако перед публикацией приложения вы должны обязательно скомпилировать его с образом системы Android 1.0 (доступным в Android 1.0 SDK), чтобы убедиться, что оно правильно собирается и работает на устройствах Android 1.0. Вам следует протестировать приложение на образах системы, соответствующих уровням API, с которыми приложение совместимо.

Если вы уверены, что ваше приложение не использует API-интерфейсы Android 1.1 и вам не нужно их использовать, возможно, вам будет проще продолжать работать с Android 1.0 SDK, а не переходить на Android 1.1 SDK и проводить дополнительное тестирование.

Внешние библиотеки

Образ системы включает в себя эти внешние библиотеки, к которым вы можете получить доступ из своего приложения, добавив <uses-library> .

  • com.google.android.maps — предоставляет вашему приложению доступ к данным Google Maps. Обратите внимание: для использования данных Карт Google требуется ключ API Карт.

Совместимость устройств

Образ системы Android 1.1 был протестирован на совместимость с перечисленными ниже устройствами под управлением Android:

  • Т-Мобайл G1

Встроенные приложения

В образ системы входят следующие встроенные приложения:

  • Будильник
  • Демонстрации API
  • Браузер
  • Калькулятор
  • Камера
  • Контакты
  • Инструменты разработки
  • Звонилка
  • Электронная почта
  • Карты (и StreetView)
  • Обмен сообщениями
  • Музыка
  • Картинки
  • Настройки

Локализация пользовательского интерфейса

Образ системы предоставляет локализованные строки пользовательского интерфейса для языков, перечисленных ниже.

  • Английский, США (en_US)
  • немецкий (де)

Локализованные строки пользовательского интерфейса соответствуют языковым стандартам, отображаемым в эмуляторе, доступном через приложение «Настройки устройства».

Решенные проблемы

  • Оповещение AlarmClock теперь воспроизводит звук/вибрацию напрямую, а не через AlarmManager. Оповещение AlarmClock начинает воспроизводить звук/вибрацию в своем IntentReceiver, а не при запуске активности. Эти изменения должны предотвратить блокировку сигналов тревоги модальными диалоговыми окнами.
  • Исправления сна устройства.
  • Одно касание больше не открывает панель набора номера во время вызова; пользователям теперь нужно коснуться и перетащить его.
  • Устранена ошибка, из-за которой примерно в 1 из 25 исходящих сообщений зависало соединение IMAP (с сервером на базе Gmail) при передаче в папку «Отправленные».
  • Удаляет записи автоматической настройки учетной записи, которые были повреждены или не поддаются проверке. Добавляет незначительные исправления к некоторым оставшимся записям. Вносит улучшения в диалоговые окна предупреждений, используемые в некоторых особых случаях.
  • Изменяет интервал проверки почты по умолчанию на каждые 15 минут (вместо значения по умолчанию «никогда»).
  • Исправляет ошибки цитирования паролей в IMAP, благодаря чему пользователи могут включать в пароли специальные символы (например, пробелы).
  • Исправляет различные ошибки при автоматической и ручной настройке учетной записи.
  • Улучшает отчеты о различных ошибках подключения, облегчая пользователю диагностику неудачных настроек учетной записи.
  • Исправлены уведомления о новой почте для учетных записей POP3.
  • Обеспечивает правильную автоматическую проверку учетных записей, помеченных как «никогда не проверять».
  • Теперь отображает дату и время в соответствии с предпочтениями пользователя (например, 24-часовой формат вместо AM/PM).
  • Теперь отображается копия: в режиме просмотра сообщений.
  • Улучшает восстановление после сбоев подключения POP3.
  • Правила парсера POP3 смягчены, поэтому приложение может работать с несовместимыми почтовыми серверами.

Новые возможности

  • Карты: добавляет подробную информацию и отзывы, когда пользователь выполняет поиск на Картах и ​​нажимает на компанию, чтобы просмотреть ее сведения.
  • Номеронабиратель: время ожидания экрана во время разговора по умолчанию теперь увеличено при использовании громкой связи.
  • Номеронабиратель: добавляет пункт «Показать панель набора» / «Скрыть панель набора» в меню вызова, чтобы упростить обнаружение панели набора DTMF.
  • Добавляет поддержку сохранения вложений из MMS.
  • Добавляет поддержку выделения в макетах.

Изменения API

Обзор

  • Добавляет аннотации для тестовых систем, никаких реальных (не тестовых) изменений API.
  • Добавляет метод, позволяющий процессу легко определить свой UID.
  • Добавляет поддержку выделения в макетах.
  • Добавляет новые методы для определения заполнения в представлениях. Полезно, если вы пишете свои собственные подклассы View .
  • Добавляет новые разрешения, которые позволяют приложению транслировать SMS-сообщения или WAP-Push-сообщения.
  • Очистка API: удаляет защищенный конструктор из системных образов, связанных с SDK.

Подробности изменения API

Модуль или функция Изменить описание
Аннотации к тест-системам
Добавлена ​​аннотация LargeTest .
Добавлена ​​аннотация MediumTest .
Добавлена ​​аннотация SmallTest .
Позвольте процессу легко узнать свой UID.
Добавлен публичный метод myUid() в класс android.os.Process
Отступы в представлениях
В класс android.view.View добавлен общедоступный метод getBottomPaddingOffset() .
В класс android.view.View добавлен общедоступный метод getLeftPaddingOffset() .
В класс android.view.View добавлен общедоступный метод getRightPaddingOffset() .
В класс android.view.View добавлен общедоступный метод getTopPaddingOffset() .
В класс android.view.View добавлен общедоступный метод isPaddingOffsetRequired() .
Поддержка выделения
В класс TextView добавлен общедоступный метод setMarqueeRepeatLimit(int)
Добавлено публичное поле android.R.attr.marqueeRepeatLimit
Новые разрешения
Добавлено общедоступное поле android.Manifest.permission.BROADCAST_SMS
Добавлено общедоступное поле android.Manifest.permission.BROADCAST_WAP_PUSH
Очистка API
Удален защищенный конструктор java.net.ServerSocket.ServerSocket(java.net.SocketImpl).