Android-приложение, поддерживающее все устройства - PullRequest
1 голос
/ 18 ноября 2011

Мне нужно убедиться, что мое приложение Android работает на всех телефонах Android.Как мне убедиться, что он работает на всех из них?

В моих XML-файлах я использую только fill_parent и wrap_content, а для макета я использую LinearLayout.В своем приложении я загружаю некоторые изображения из Интернета, сохраняю их на SDCard, а затем отображаю их.Когда изображение выбрано, я играю видео с SDCard.

Это мое приложение.Будет ли это выглядеть одинаково на всех телефонах Android?

Если нет, что мне делать?

Ответы [ 5 ]

2 голосов
/ 18 ноября 2011

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

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

Дополнительную информацию о том, как оптимизировать ваше приложение для нескольких экранов, можно найти в документации .

1 голос
/ 18 ноября 2011

Относительная компоновка и всегда использование DIP - это способ заставить его работать на всех устройствах.Как бы то ни было, одно предупреждение: не всегда доверяйте эмулятору, я разработал и протестировал все приложение на эмуляторе, однако, когда я переместил его на телефон и моих коллег по работе, оно было разным на обоих наших телефонах, поэтому будьте осторожны

1 голос
/ 18 ноября 2011

Для этого условия есть две вещи

1) вы должны написать небольшой код в файле манифеста после окончания тега приложения

</application>
<supports-screens android:smallScreens="true"
        android:normalScreens="true" android:largeScreens="true"
        android:anyDensity="true">
    </supports-screens>

2) Если вы задаете высоту иШирина любого виджета (т.е. кнопки или макета) размером, например, 40px или 40 px и т. д., превращает эту вещь в DIP (пиксели, не зависящие от устройства).Используйте Layout:weight, чтобы сделать макет доступным для каждого экрана.android:gravity или android:layout_gravity, чтобы исправить макет в любом месте.и если вы хотите, чтобы исправить это в определенной позиции и линейное расположение не поможет в полной мере использовать относительное расположение

1 голос
/ 18 ноября 2011

Вам необходимо определить экран поддержки внутри файла AndroidManifest.xml.

И если вы выбираете версию, вы можете использовать android:minSdkVersion &
android:targetSdkVersion.

1 голос
/ 18 ноября 2011

Имейте в виду, что не все устройства Android имеют SD-карту, наверняка у многих из них SD-карта почти заполнена.

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

...