Этот быстрый совет для Android покажет вам, как позволить вашим конечным пользователям дополнительно экономить ценное место на устройстве, выбрав сохранение приложения на их съемной SD-карте.
Окончательный результат предварительного просмотра
В этом руководстве будет использовано существующее приложение для Android и добавлена возможность переносить приложение на свою SD-карту. Эта функция была представлена в Android 2.2, но не требует, чтобы приложение использовало Android 2.2 SDK в качестве минимально поддерживаемой версии SDK. Даже ваше приложение Android 1.5 может использовать эту функцию.
Шаг 1: Подготовка
Мы начнем этот урок с получения версии Android-приложения разговорника, которое использовалось в предыдущем уроке под названием Android SDK: Создание локализованного разговорника . Загрузите исходный код, если вы хотите выполнить эти шаги самостоятельно, или просто следуйте инструкциям и используйте эти шаги со своими собственными приложениями для Android.
Если у пользователя установлен Android 2.2 на его устройстве, и вы не применили этот совет, он увидит заманчиво полезную, но неактивную кнопку, когда попытается переместить приложение на свою SD-карту. Разработчики должны специально включить эту функцию в своих конкретных приложениях.
Шаг 2: Изменить манифест
Отредактируйте файл AndroidManifest.xml приложения, добавив запись для «android: installLocation» в тег <manifest>:
1
2
3
4
|
<manifest xmlns:android=»http://schemas.android.com/apk/res/android» package=»com.mamlambo.article.phrasebook» android:versionCode=»2″ android:versionName=»1.0.1″
android:installLocation=»auto»>
…
</manifest>
|
Значение установлено на «auto», чтобы пользователь мог решить, куда установить приложение. Если это значение вообще отсутствует, поведение по умолчанию разрешает установку только во внутреннее хранилище, а не предоставляет пользователю выбор. Другими возможными значениями для использования являются «internalOnly», который аналогичен поведению без этой настройки, и «prefeExternal», который сначала установит приложение на SD-карту, если оно доступно и есть место.
Оставьте «minSdkVersion» таким же, как и раньше; это не должно быть 8, чтобы соответствовать Android 2.2:
1
|
<uses-sdk android:minSdkVersion=»7″ />
|
Шаг 3: Обновите цель сборки
Однако цель сборки должна быть обновлена как минимум до уровня API 8 (Android 2.2), в противном случае вы получите следующую ошибку:
ошибка: не найден идентификатор ресурса для атрибута ‘installLocation’ в пакете ‘android’
Измените цель сборки, отредактировав свойства проекта (щелкните правой кнопкой мыши проект в Eclipse) и выберите цель по крайней мере с уровнем API 8:
Шаг 4: Загрузите это
Теперь загрузите приложение на устройство 2.2 (или эмулятор). Перейдите в область управления приложением, и вы увидите, что его можно перенести на SD-карту!
Когда использовать эту функцию
В будущем большинство приложений Android должны предоставлять пользователям возможность выбирать место установки приложения. Однако для некоторых приложений эта функция не имеет особого смысла. Например, если у вас есть виджет приложения, живые обои или другое сервисное или служебное приложение (например, файловый менеджер), ваше приложение не будет полезным, если вынуть SD-карту. Это поддерживается, хотя. Например, живые обои на SD-карте просто вернутся к стандартным обоям, и пользователь может повторно выбрать ваши живые обои при повторной установке SD-карты.
Хотя пользователи могут не вынимать свои SD-карты часто, SD-карта отключается, когда она подключена через USB для использования на компьютере. Это потенциально увеличит частоту, с которой пользователю придется перенастраивать приложения, на которые влияют. Полный список приложений, затронутых при удалении, см. В этом справочнике Google Android .
Вывод
Теперь ваши пользователи могут выбирать, помещать ли ваше приложение на свою SD-карту. Разрешение этой функции важно, поскольку пользователи загружают все больше приложений и наполняют свои устройства Android контентом. Если вы предоставите эту опцию сейчас, у вас будет явное преимущество перед другими приложениями. Это займет всего несколько минут, но включает очень мощную функцию. Я знаю, что я ищу это; Я постоянно получаю предупреждения о нехватке места на моем старом добром Nexus One.
Пожалуйста, обновите ваши приложения, чтобы разрешить это, и повторно отправьте их на рынок. Я был бы признателен, как и остальные ваши пользователи!
Об авторах
Разработчики мобильных приложений Лорен Дарси и Шейн Кондер являются соавторами нескольких книг по разработке Android: углубленная книга по программированию под названием « Разработка беспроводных приложений для Android» и « Разработка Android-приложений Sams TeachYourself за 24 часа» . Когда они не пишут, они тратят свое время на разработку мобильного программного обеспечения в своей компании и оказание консультационных услуг. С ними можно связаться по электронной почте [email protected] , через их блог на androidbook.blogspot.com и в Twitter @androidwireless .