Android: скачать медиа или хранить в приложении? - PullRequest
0 голосов
/ 05 августа 2011

В настоящее время я работаю над приложением, которое загружает ZIP-файл и извлекает кучу крошечных mp3-файлов во внешнее хранилище.Zip-файл составляет около 2,5 мегабайт.

Мне интересно, было бы лучше включить файл zip в ресурсы приложения, а затем скопировать и извлечь его в файловую систему.Это предотвратит головные боли, связанные с потерей соединения во время загрузки zip-файла.Я заметил несколько отсутствующих mp3-файлов, и когда я проверил zip-файл, последние 20 или около того были не так.Таким образом, похоже, что система может успешно (к сожалению) извлечь из неполного ZIP-файла.

Недостатком включения zip-файла в ресурсы приложения является то, что он увеличивает размер приложения на 2,5 мегабайта.Я указал "предпочесть внешнее хранилище" в манифесте.Это не поддерживается до выпуска 2.2, то есть уровня 8, поэтому я уже исключаю эти телефоны, которые, вероятно, составляют 20 или 30 процентов от общего количества телефонов Android.Но я не совсем уверен, гарантирует ли это, что приложение будет установлено на SD-карту.

Возможно, стоит включить zip-файл в приложение, чтобы избежать возможных проблем при загрузке zip-файла;но если размер приложения делает его непривлекательным, то это своего рода недостаток, особенно если «предпочитать внешний» не работает на некоторых устройствах.

Какой вариант лучше?Идеи приветствуются.

Ответы [ 3 ]

1 голос
/ 05 августа 2011

Одна из самых продаваемых игр для Android, Gun Bros, делает то, о чем вы думаете: небольшое приложение, которое загружает контент по запросу.Это позволяет им также показывать рекламу во время загрузки контента.Кроме того, загружая контент, вы можете использовать сжатие по сети, тем самым уменьшая общий объем данных, которые пользователь фактически должен будет использовать для получения всего приложения.В конце концов, я думаю, что это личное предпочтение, но я склоняюсь к загрузке по сети.

1 голос
/ 05 августа 2011

Я бы рекомендовал просто включить его в файл apk. Многие приложения на рынке имеют размер 5-10 МБ, а игры могут быть еще больше (я видел игры в диапазоне от 1 до 40 МБ), поэтому добавление 2,5 МБ в ваше приложение не должно быть проблемой , даже если они не поддерживают установку на SD-карты. Например, на моем телефоне установлена ​​версия 2.1, поэтому она не может быть установлена ​​на SD-карту, и мне до сих пор не хватает места даже после установки нескольких приложений объемом 2-5 МБ.

И никакое «предпочитаемое внешнее хранилище» не гарантирует, что оно установлено на SD-карте, если, например, у пользователя нет SD-карты, или если они сами захотят перенести ее во внутреннее хранилище.

Суть в том, что добавление 2,5 МБ к вашему apk - это не то, что кто-то действительно заметит или о чем вы позаботитесь, и вам это тоже не нужно.

1 голос
/ 05 августа 2011

Учитывая тот факт, что на рынке Android есть несколько приложений / игр с диапазоном 40+ МБ, дополнительная загрузка 2 МБ не кажется мне такой уж большой.В любом случае, ваши пользователи должны скачать его так или иначе.Либо в apk, либо в виде отдельного zip-файла.

Теперь Android market позволяет публиковать обновления для вашего приложения, чтобы ваши пользователи могли получать туда новый контент.

Что касается предпочтения внешнего хранилища, то это просто предпочтение.Если внешнее хранилище недоступно или пользователь устанавливает его на телефон 2.1, оно установит приложение во внутреннее хранилище, если минимальный уровень SDK для ваших приложений равен 7 или ниже.

Но есть и другиеприложения, которые я могу придумать, которые загружают контент с сайтов, такие как скрипты для Android (SL4A).Если вы хотите обновить игровой контент таким образом, я бы порекомендовал создать механизм, с помощью которого ваше приложение может сначала определить размер загрузки, а затем выполнить загрузку.И как только загрузка завершится, проверьте размер по размеру, который должен быть.Если они не совпадают, запустите загрузку еще раз или что-то в этом роде.

...