Статьи

Совет. Включение функции Android «Переместить на SD-карту»

Этот быстрый совет для Android покажет вам, как позволить вашим конечным пользователям дополнительно экономить ценное место на устройстве, выбрав сохранение приложения на их съемной SD-карте.

В этом руководстве будет использовано существующее приложение для Android и добавлена ​​возможность переносить приложение на свою SD-карту. Эта функция была представлена ​​в Android 2.2, но не требует, чтобы приложение использовало Android 2.2 SDK в качестве минимально поддерживаемой версии SDK. Даже ваше приложение Android 1.5 может использовать эту функцию.

Мы начнем этот урок с получения версии Android-приложения разговорника, которое использовалось в предыдущем уроке под названием Android SDK: Создание локализованного разговорника . Загрузите исходный код, если вы хотите выполнить эти шаги самостоятельно, или просто следуйте инструкциям и используйте эти шаги со своими собственными приложениями для Android.

Если у пользователя установлен Android 2.2 на его устройстве, и вы не применили этот совет, он увидит заманчиво полезную, но неактивную кнопку, когда попытается переместить приложение на свою SD-карту. Разработчики должны специально включить эту функцию в своих конкретных приложениях.

Переместить на SD-карту в приложении

Отредактируйте файл 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″ />

Однако цель сборки должна быть обновлена ​​как минимум до уровня API 8 (Android 2.2), в противном случае вы получите следующую ошибку:


ошибка: не найден идентификатор ресурса для атрибута ‘installLocation’ в пакете ‘android’

Измените цель сборки, отредактировав свойства проекта (щелкните правой кнопкой мыши проект в Eclipse) и выберите цель по крайней мере с уровнем API 8:

Переместить на SD-карту 2.2

Теперь загрузите приложение на устройство 2.2 (или эмулятор). Перейдите в область управления приложением, и вы увидите, что его можно перенести на SD-карту!

Переместить на 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 .

Купить Android-разработку беспроводных приложений, 2-е издание Купить Sam's Teach Yourself для Android-разработки приложений в течение 24 часов Код Мамламбо в Код-Каньоне