- Подключение Android-устройств друг к другу по USB
- Этап 1: Проверка поддержки OTG
- Этап 2: Настройка режима USB
- Этап 3: Подключение устройств
- Решение некоторых проблем
- Устройства не распознают друг друга
- Устройства распознаются, но нет доступа к файловой системе
- Совместимость устройств
- Что подразумевается под словом “Совместимость”?
- Управляем доступностью приложения для устройств
- Возможности устройства
- О совместимости Android-приложений на различных устройствах
- Android Market: проверка на совместимость
Подключение Android-устройств друг к другу по USB
Этап 1: Проверка поддержки OTG
Андроид-девайсы подключаются по ЮСБ через протокол OTG (On The Go), который, пусть и поддерживается почти повсеместно, в некоторых прошивках всё-таки отсутствует. Существует несколько способов проверки на совместимость устройства с данной технологией, ознакомиться с ними можно в статье далее.
Этап 2: Настройка режима USB
Для удачного подключения на девайсе, который будет соединяться с другим, нужно настроить работу ЮСБ. Делается это следующим образом:
- Сначала убедитесь, что на смартфоне (планшете) включён режим разработчика.
Перейдите по пунктам «Настройки» – «Система» – «Для разработчиков».
Этап 3: Подключение устройств
Непосредственное соединение обоих устройств происходит следующим образом:
- Приобретите кабель OTG, обычно они выглядят так.
Подождите, пока на смартфоне (планшете) появится сообщение о подключении.
Решение некоторых проблем
При совершении этой операции иногда возникают сбои, рассмотрим некоторые из них.
Устройства не распознают друг друга
Данная проблема самая распространённая, и её причин существует множество. Для определения верной надо произвести диагностику, алгоритм следующий:
- Первым делом попробуйте поочередно заменить переходник и кабель – как показывает практика, это самый частый источник сбоев.
- Также проверьте настройки обоих девайсов – возможно, на одном из них отключена работа с OTG.
- Нельзя исключать и неполадки с разъёмами телефонов – обычно их можно диагностировать по проблемам с зарядкой.
Устройства распознаются, но нет доступа к файловой системе
Это может означать две вещи – по каким-то причинам файловая система девайса определяется как доступная только для чтения. Попробуйте повторно подключить девайс, а если это не поможет, тогда не обойтись без форматирования внутренней памяти.
Помимо этой статьи, на сайте еще 12472 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Источник
Совместимость устройств
Android разработан для запуска на множестве различных устройств, начиная от телефонов и заканчивая планшетами и телевизорами. Для разработчика приложений такое разнообразие устройств предоставляет огромную потенциальную аудиторию пользователей. Для того, чтобы ваше приложение одинаково хорошо работало на всех устройствах, оно должно учитывать наличие функций на устройствах и предоставлять гибкий пользовательский интерфейс, адаптированный под различные размеры экранов.
Для облегчения ваших усилий при достижении цели, Android предоставляет динамический API, в котором вы можете создавать индивидуальные ресурсы для различных конфигураций устройств (например различную XML разметку для разных размеров экрана). Android автоматически загружает нужную разметку, основываясь на конфигурации устройства, на котором приложение будет запущено. Ресурсы для всех вариантов конфигурации могут быть упакованы в один единственный APK файл.
Если это необходимо, вы можете указать требования к аппаратному обеспечению устройства, чтобы приложение не могло быть установлено из Google Play на устройства, которые этим требованиям не соответствуют. В текущем разделе мы расскажем, как управлять доступностью приложения для разных устройств, чтобы быть уверенным, что приложение достигает нужной аудитории. Подробную информацию об адаптации приложения под различные размеры экрана, читайте в разделе Поддержка устройств с различными экранами.
Что подразумевается под словом “Совместимость”?
Во время изучения системы Android, вы, вероятно, еще не раз столкнетесь со словом “Совместимость” в различных ситуациях. Есть два типа совместимости: совместимость устройств и совместимость приложений.
Поскольку Android это проект с открытым кодом, любые разработчики железа могут выпускать устройства под операционной системой Android. До сих пор фраза “устройство совместимо с Android” означало только то, что на нем могут корректно запускаться приложения, написанные для среды выполнения Android. Детально о среде выполнения Android написано на страничке Совместимость программ Android и каждое устройство должно пройти тест на совместимость CTS (Compatibility Test Suite), для того, чтобы считаться совместимым.
Вам, как разработчику приложений, не стоит беспокоиться о совместимости устройств, поскольку доступ к сервису Google Play Store имеют только совместимые с Android устройства. Поэтому вы можете быть уверены, что пользователи, установившие ваше приложение из Google Play используют совместимые устройства.
Однако, вы должны учитывать совместимость вашего приложения с различными потенциальными конфигурациями устройств. Так как устройства под Android имеют широкий спектр конфигураций, не все устройства включают некоторые возможности. Например, некоторые устройства могут не содержать магнитный сенсор. Если он требуется вашему приложению для работы, значит ваше приложение совместимо только с устройствами, которые его содержат.
Управляем доступностью приложения для устройств
Android поддерживает различные возможности, с которыми ваше приложение может взаимодействовать через API. Некоторые возможности основаны на аппаратном обеспечении (например магнитный сенсор), другие – на программном обеспечении (например виджеты), есть также возможности, которые доступны только в некоторых версиях платформы Android. Не каждое устройство поддерживает все функции сразу, поэтому вы должны обеспечить установку приложения только на совместимые устройства.
Чтобы как можно больше пользователей могло пользоваться вашим приложением, вы должны стараться поддерживать как можно больше конфигураций. В большинстве случаев, вы можете отключить дополнительные функции во время выполнения приложения, если устройство их не поддерживает. В других случаях вы можете вовсе запретить устанавливать ваше приложение из Google Play, если оно несовместимо по следующим параметрам:
- Возможности устройства
- Версия платформы
- Конфигурация экрана
Возможности устройства
Android определяет идентификаторы для любых аппаратных и программных функций, которые могут быть недоступны на некоторых устройствах. Например, для магнитного сенсора есть идентификатор FEATURE_SENSOR_COMPASS, а для виджетов FEATURE_APP_WIDGETS.
Вы можете запретить устанавливать приложение, если устройство не предоставляет нужных функций, добавив элемент в файл манифеста.
К примеру, если основная функция вашего приложения требует использование магнитного сенсора, вы должны требовать наличия этого сенсора следующим образом:
Источник
О совместимости Android-приложений на различных устройствах
Не секрет, что число устройств на Android велико, они различаются по железу, размерам и качеству экрана, мощности процессора и др.. В отличии от iPhone- программистов, которые знают наверняка на каком устройстве будет запущено их приложение, Android-разработчикам необходимо уделять внимание совместимости приложений с различными устройствами.
В данной статье уделяется внимание вопросу совместимости приложений, в первую очередь отображения приложений на экранах с различными диагоналями и разрешением.
Для начала необходимо разобраться с возможностями, которые предоставляет Android для работы с экраном.
Основные сведения
Размер экрана(screen size) — физический размер экрана; предопределенные значения: small, normal, large, extra large*.
Геометрический коэффициент(aspect ratio)– отношение физических пропорций экрана (ширины к высоте); предопределенные значения: long (для экранов, чьи размеры превосходят по ширине или высоте стандартные размеры экрана), notlong(для экранов, чьи размеры соответствуют стандартным).
Плотность(density) – распределение пикселей относительно физических размеров экрана. Значение плотности распределения пикселей важно, поскольку один и тот же UI элемент, выраженный в пикселях для экранов с более низкой плотностью будет казаться больше, чем для экранов с высокой. Предопределенные значения для плотности: ldpi (low), mdpi (medium), hdpi (high), and xhdpi*.
Независимый(от плотности) пиксел(density-independent или dp) – “виртуальный” пиксел, который может быть использован приложением для прорисовки UI-элементов. Данный пиксел является эквивалентом физического пиксела на экране с плотностью 160 dpi. Во время выполнения OS Android прорисовывает элемент в соответствии с формулой pixel = dp * (density/160), где density – плотность экрана.
Стоит также отметить, что OS Android работает с разрешением экрана, через значения плотности экрана (никаких средств для работы с разрешением напрямую разработчик не имеет).
На рисунке ниже показано как соотносятся значения плотности и размера экрана устройств с предопределенными значениями этих величин.
*Еще один момент, который стоит отметить: значение плотности xdpi было добавлено в версии Android 2.2(API level 8), значение экрана xlarge – в версии Android 2.3(API level 9)
Работа с манифестом и загрузкой ресурсов
Начиная с версии Android 1.6, в манифест был добавлен тег , который используется для определения класса устройств, на которых может быть запущено приложение. Атрибуты тега smallScreens, normalScreens, largeScreens, xlargeScreens соответствуют определенным выше значениям экрана и могут принимать значения true или false. Дефолтные значения атрибутов варьируются в зависимости от используемой версии Android (более детальную информацию можно посмотреть тут. ). При определении значения атрибута как true, OS Android получает сигнал о том, что приложение совместимо с соответствующим типом экрана и не применяет дополнительные средства для совместимости ( что происходит при значении false). Стоит также отметить, что эти средства(функции) работают только на совместимость с большими размерами экранов (т.о. если значение normalScreen – true, остальные – false, приложение будет также совместимо с экранами large и с xlarge, но не совместимо со small). Данный тег также используется Android Market’ом для фильтрации приложений.
Для плотности также имеется атрибут – anyDensity, который также принимает значения true/false. Если значение атрибута – true, OS Android не использует функции для совместимости с различными плотностями экрана. В этом случае приложение должно использовать dp для прорисовки UI элементов, либо самостоятельно управлять вычислением размеров для различных плотностей. Если значение – false, OS Android включает функции для масштабирования элементов в соответствии с плотностью экрана.
Размещение ресурсов
OS Android также предоставляет средства для определения ресурсов, которые будут использованы для конкретных размеров экранов и плотностей. Ресурсы размещаются в соответствующих папках.
res/layout/my_layout.xml // layout for normal screen size
res/layout-small/my_layout.xml // layout for small screen size
res/layout-large/my_layout.xml // layout for large screen size
res/layout-large-land/my_layout.xml // layout for large screen size in landscape mode
res/layout-xlarge/my_layout.xml // layout for extra large screen size
res/drawable-ldpi/my_icon.png // image for low density
res/drawable-mdpi/my_icon.png // image for medium density
res/drawable-hdpi/my_icon.png // image for high density
res/drawable-nodpi/composite.xml // density independent resource
Поддержка совместимости экранов
Общие рекомендации для создания совместимого приложения
Послесловие
Статья не охватывает практических моментов, связанных с тестированием приложения на девайсах с различными характеристиками экранов, думаю выделить это в отдельный пост.
Источник
Android Market: проверка на совместимость
Различных видов устройств на Android создано великое множество. Это и смартфоны с различными форм-факторами, и планшетники, и некоторые другие специфичные устройства. Все эти аппараты заметно отличаются друг от друга и, несмотря на все старания Google, иногда в Android Market попадается приложение, несовместимое именно с вашим устройством. С нынешней политикой «пятнадцати минут» не всегда успеваешь вернуть деньги за приложение, и неприятный осадок от неработающего приложения увеличивается из-за впустую потраченных денег.
Разработчики Android Market решили как-то изменить ситуацию. Теперь, выбрав приложение в веб-версии Android Market, вы сможете посмотреть, с каким из устройств, прикрепленных к вашему аккаунту Google, оно совместимо! Данный список отображается под иконкой приложения и, в зависимости от степени совместимости приложения со всем парком ваших Android-устройств, список окрашивается в различные цвета.
Такие приятные мелочи делают всю экосистему Android в разы удобнее. А так как количество официально поддерживаемых Android-устройств вскоре пополнится за счет Google TV, такая таблица поддержки становится необходимой. К сожалению, данная система оценки вводится постепенно, и появилась она лишь у небольшого количества пользователей Android.
Как вы оцениваете это нововведение? Что бы вы еще улучшили в Android Market?
Заметили ошибку? Выделите её и нажмите Ctrl+Enter или сообщите здесь.
Источник