Дата: февраль 2009 г.
Уровень API: 2
В этом документе представлены примечания к версии образа системы Android 1.1, включенного в SDK.
- Обзор
- Внешние библиотеки
- Совместимость устройств
- Встроенные приложения
- Локализация пользовательского интерфейса
- Решенные проблемы
- Новые возможности
- Изменения API
Обзор
Образ системы 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). |