2010-08-11 3 views
36

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

Есть ли способ определить, имеет ли устройство Android сенсорный экран?

+0

Список устройств Android, http://en.wikipedia.org/wiki/List_of_Android_devices – karim

ответ

24

Вам следует исследовать существующие устройства и прочитать Android Compatibility Definition Document (CDD) и решите для себя.

Я потратил немало времени, пытаясь понять эту проблему для себя. Плакаты, приведенные выше, верны, что Android уже задействует некоторые не сенсорные устройства и будет задействовать Google TV в ближайшем будущем, но , как это сейчас стоит, CDD специально требует, чтобы ВСЕ устройства Android ДОЛЖНЫ иметь сенсорный экран.

В принципе, программа совместимости с Android была создана для хеджирования против типа проблем fragmentation, о которых вы сейчас беспокоитесь. Он содержит список требований и , если устройство не отвечает этим требованиям, оно не получает доступа к Android Market. Эти требования включают в себя сенсорный экран, беспроводную связь, Bluetooth, камеру и многое другое.

Если вы изучите эти планшеты и нетбуки, вы обнаружите, что у никого нет. содержит Android Market. Недавно Augen попытался вытащить быстрый со своим новым планшетом GENTOUCH 78, но ему пришлось rescind their claims, что планшет будет нести Android Market после того, как он сбит командой Android Compatibility Team.

Итак, если вы распространяете свое приложение только через Android Market, вам не о чем беспокоиться, пока Google не изменит CDD. Но если вы хотите предлагать свое приложение в других магазинах приложений или в качестве прямой загрузки, вам придется беспокоиться о проблемах с навигацией по ключевому режиму.

Если это утешение, я обнаружил, что многие, многие приложения имеют ту же проблему; их невозможно использовать без сенсорного экрана. Многие из них также имеют серьезные проблемы с фокусом и мягкой клавиатурой. Иногда клавиатура остается, когда она должна быть скрыта. Иногда вы не можете заставить клавиатуру всплывать независимо от того, сколько раз вы нажимаете на EditText. IMO, платформа Android не справляется со всеми этими вещами.

Учитывая все это, безусловно, будет интересно посмотреть, как Google TV вписывается во все это. Будут ли они обновлять CDD, чтобы быть совместимыми с их телевизионными приставками? Будут ли они использовать различные SDK и CDD для реализаций Google TV? Не будут ли они вообще игнорировать программу совместимости, когда дело доходит до Google TV? Твоя догадка так же хороша как и моя.

Update:
кажется, что кто-то в Google, наконец, выйти вперед и признал, что Android не готов к запуску на планшете: http://phandroid.com/2010/09/10/shocker-google-says-android-not-meant-for-tablets-in-its-current-state/

Ко мне, это говорит о том, что Google не был готов к ускоренное внедрение ОС Android и не обеспечило адекватного развития будущего платформы. Поддержка экранов размером более 480x800 едва ли возможна, и Samsung смог сделать это, тесно сотрудничая с Google на Galaxy Tab. Поэтому я не уверен, что нам нужно будет беспокоиться о не-сенсорных устройствах в ближайшем будущем. Они будут здесь, в конце концов, я уверен, но когда они прибудут, мы увидим отдельный рынок приложений только для тех, или некоторые измененные схемы фильтрации на существующем рынке, новый CDD, который знает.

Для меня это говорит о том, что Google все еще играет на ухо, и нам просто нужно будет сделать то же самое.

+3

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

+0

Спасибо за дополнение г-жу Хакборн. Должен ли я считать, что, как только Google TV будет представлен, CDD будет сильно изменен (например, камера, GPS, USB и сенсорный экран будут удалены)? Будут ли добавлены новые стандарты экрана в раздел 8.1? Можете ли вы быстро взглянуть на изменения, которые мы можем ожидать? –

2

Вы нацеливаете только телефоны? Android появляется на многих устройствах including TV's Я понятия не имею, будут ли выпущены новые библиотеки, чтобы изолировать части устройств друг от друга, но если вы хотите более широкую аудиторию, я предлагаю сохранить доступ к клавиатуре, если вы являетесь

3

Все телефоны до сих пор имеют сенсорные экраны, но нет никакого обещания, что они должны.

Однако есть много нетбуков, ноутбуков и скоро будут телевизоры, которые не имеют сенсорного экрана. Однако у этих устройств есть мыши. Из того, что я видел, мышь вводится через сенсорную систему, поэтому MouseDown является ACTION_DOWN и т. Д. (Не знаю, как правильно щелкнуть).

-1

Google TV (GTV) - это самое популярное устройство для нот Android (с момента составления этого ответа). Тем не менее, есть несколько устройств, которые будут ссылаться на рендеринг для нот, если у вас есть ресурсы «нотау» (например, каталог, например res/layout-notouch /).

Для размещения устройств с нотами убедитесь, что фокус приведет к отображению индикатора визуального выбора , и (для GTV), что прослушиватели нажатия клавиш находятся на месте центральной кнопки направленной площадки. Использование виджетами и темами по умолчанию часто будет выполнять большую часть этого автоматически. Если вы создаете свои собственные кнопки, вам нужны фоновые 9 патчей для фокусировки и фокусировки + нажата.

Выполнение на GTV - это хорошая тестовая среда, чтобы удостовериться, что нотокс работает хорошо, и GTV has an emulator сейчас, хотя он работает только на Linux/x86.

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