2010-12-20 1 views
4

У меня есть приложение для Android, с которым я хотел бы показывать высококачественные изображения. Однако существует множество различных размеров и коэффициентов экрана. Я знаю, что есть фильтры для показа приложений на рынке только для устройств с малыми/средними/большими экранами.Публикация нескольких версий одного приложения на Google Market

Если я поместил изображения обоих размеров в 1 приложение, это удвоит размер приложения, не так ли?

Можно ли сделать несколько версий для разных размеров экрана?

Я хотел бы сделать 1 приложение в 3-х вариантах для таких устройств:

  • среднего экрана MDPI
  • среднего экран ИПЧР + большой экран MDPI
  • больших (таблетки)

Если это возможно, как я могу указать их в манифесте? Или это где-то на рынке?

ответ

2

Кажется, что никто не обращается к проблеме размера файла, о которой вы действительно спрашиваете, поэтому я попробую.

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

Я не сделал этого сам, но, надеюсь, идея пошлет вас по правильному пути поиска. Я предполагаю, что вы создаете отдельную загрузку как ресурсы на своем собственном сервере или другой набор приложений на рынке (т. Е. «MyApp Image Pack HDPI», «... MDPI» и т. Д.).

+0

Интересно, есть ли какие-то странные устройства, которые могут изменить плотность экрана. Меняет ли Atrix плотность при использовании в режиме ноутбука? –

7

У Android есть встроенный механизм для ресурсов, предназначенных для разных размеров экрана и плотности пикселей. Это называется квалификаторы каталога ресурсов, и вы можете прочитать все об этом here.

Например, для небольших размеров экрана вы можете создать конкретный файл макета и поместить его в каталог res/layout-small. Для большего экрана вы можете создать файл макета с тем же именем и поместить его в каталог res/layout-large (или res/layout-xlarge).

Для плотности пикселей вы можете создать небольшую версию ресурсов изображения и поместить их в каталог res/drawable-ldpi (плотность нижних пикселей). А для более высокой плотности пикселей вы можете создавать альтернативные версии и размещать их в каталоге res/drawable-hdpi.

Я бы посоветовал вам прочитать страницу на Supporting Multiple Screens и позволить Android помочь вам с помощью встроенных механизмов. Создание трех отдельных копий вашего приложения сложнее для вас, и это путает потенциальных пользователей (большинство из которых, вероятно, не знают и не заботятся о «плотности пикселей»). Что мешает им загружать неправильную версию вашего приложения и получать от этого паршивый опыт?

+0

Я в курсе различного Реза каталогов/размера, но как это выглядит при загрузке приложения от рынка? Если я создам пакет размером 20 МБ с включенными разрешениями и размерами, каждый пользователь будет загружать целые 20 МБ или просто ресурсы для своего экрана/оборудования? Создание 2-3 версий приложений, видимых на рынке только для устройств с указанными размерами экрана, уменьшит размер загружаемого приложения. – yosh

2

Как упоминает выше, у андроида есть отличная документация для этого here, here, и here.

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

Лучший способ - иметь ВСЕ конфигурации устройств (в списке here, включая Simulater (Galaxy Tab) Samsung Galaxy Tab (большой экран, hdpi) here) в вашей среде разработки и протестировать ваше приложение на них.

+0

, но если у меня есть все конфигурации устройств внутри 1 проекта, пользователь не загрузит все ресурсы для всех устройств? Я хотел бы охватить как можно больше устройств, но с небольшим размером приложения ... Не было бы лучше разместить 1 приложение в нескольких версиях с такими фильтрами, чтобы все пользователи увидели только 1 версию приложения на рынке? – yosh

+0

Он сможет загрузить все ресурсы, но если вы будете следовать рекомендациям в ссылках, которые я разместил выше, вы увидите, что вы можете повторно использовать некоторые ресурсы (например, используя папку с возможностью выбора по умолчанию). В любом случае размер приложения не должен вызывать беспокойства, поскольку мощность обработки и емкость диска на телефонах Android не являются проблемой. Теперь, если большое количество ресурсов ухудшает производительность, то это проблема, но ее можно решить с небольшим тщательным дизайном. Android - одна из лучших и простых платформ для разработки. – omermuhammed

+0

Дело в том, что пользователю medium/mdpi нужно загружать как средние, так и высококачественные ресурсы? :/Я заметил, что изображение в андроиде не очень хорошо масштабирует изображения. Поэтому я предпочитаю иметь разные ресурсы, не заставляя пользователя загружать 2x размер приложения из-за этого. – yosh

0

Вы должны создавать различные .apk для каждой версии и определить это в явном file.use вашего приложения по ссылке http://developer.android.com/guide/practices/screens-distribution.html

+0

Когда я задал этот вопрос 1 год назад Android SDK был половиной того, что сейчас, и я уже знаю ответ :), но спасибо – yosh

Смежные вопросы