Applications in android tablet

Разработка под планшеты

Устройства под Android можно условно разделить на две группы — телефоны и планшеты. До недавнего времени существовали две ветки развития платформы — версии 2.* и версии 3.*. С выходом Android 4.0 обе ветки были объединены и теперь везде используется единый код. Но пусть данное обстоятельство не вводит вас в заблуждение.

Разработка под планшеты очень сильно отличается от разработки под обычный смартфон. Для меня первый звоночек прозвучал, когда я выложил на Google Play простенькую программу для снятия показаний счётчика электроэнергии. Писалась программа для практики в учебных целях и была выложена в магазине приложений для изучения механизма работы этого самого магазина. Но неожиданно для меня несколько тысяч человек скачало программу и стали просить продолжить работу над ней. В статистике загрузок было видно, что очень много пользователей устанавливает приложение именно на планшет. И вот однажды один из пользователей программы прислал мне скриншот, где описывал свою проблему и просил меня подправить логику приложения. Когда я увидел этот скриншот, то чуть со стула не упал. Не ожидал, что впечатление от программы так может резко меняться от размеров. Но размер имеет значение!

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

Далее одна компания попросила сделать им программу специально под планшеты. Так как у меня не было на тот момент планшета, то я тестировал все изменения на телефоне. И тут тоже возникли проблемы. Если на телефоне расположение элементов казалось компактным, то на планшете либо оставалось много лишнего пространства, либо элементы казались слишком большими. Можно, конечно, было разрабатывать приложение только под планшет, руководствуюясь присылаемыми скриншотами. Но это не наш путь. Мне хотелось создать универсальную программу, которая была бы удобной и под телефон и под планшет. Так я начал изучать вопрос в этом направлении.

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

Квалификаторы large/xlarge (устар.)

Существует специальный квалификатор large (res/layout-large и его производные layout-large-land и т.п.), который действует на устройства с экранами от 7 дюймов и выше. Сейчас считается устаревшим, так как некоторые устройства не совсем правильно определяли данный квалификатор. Часто в целях совместимости создают папку с данным квалификатором и копируют в него файлы из новых квалификаторов (или псевдонимы), о которых ниже.

Тоже самое относится к xlarge, который действует на устройства с диагональю экрана 10 дюймов.

Квалификатор Smallest-width (sw)

В Android 3.2 и выше доступен квалификатор Smallest-width, сокращёно sw. Он позволяет определять экраны с заданной минимальной шириной в dp. Например, планшет с экраном 7 дюймов имеет минимальную ширину 600 dp, и если вы хотите, чтобы приложение работало на нём в двухпанельном режиме (а на меньших экранах в однопанельном), используйте два макета, но вместо квалификатора размера large укажите sw600dp. В таком случае на экранах, минимальная ширина которых составляет 600 dp, будет использоваться двухпанельный макет.

Далее речь пойдёт применительно к планшету на 7 дюймов с разрешением экрана 1024×600. Мы уже привыкли, что вся основная разметка содержится в файле activity_main, которая находится в папке res/layout. Отлично, начните с этого файла и набросайте макет для телефона. Теперь создайте новую папку res/layout-sw600dp/ и скопируйте в неё файл activity_main.xml. В этой папке будет находиться макет программы, специально разработанный с учетом семидюймового экрана. Теперь, в зависимости, где запускается программа, система сама автоматически выберет нужный макет и покажет его пользователю.

Читайте также:  Android style all textviews

Квалификаторы width (w) и height (h)

Также можно использовать квалификатор типа wXXXdp, где доступная ширина больше или равна XXX dp, и квалификатор типа hXXXdp, где доступная высота больше или равна XXX dp.

Псевдонимы

Следует учесть, что на Android-устройствах до версии 3.2 квалификатор sw600dp не будет работать, поэтому для них по-прежнему нужно использовать large и вам потребуется еще один файл с названием res/layout-large/main.xml, идентичный файлу res/layout-sw600dp/main.xml. Поэтому приходится дублировать оба файла с одинаковым содержанием.

Чтобы избежать дублирования файлов, используйте псевдонимы. Например, можно определить следующие макеты:

  • res/layout/main.xml (однопанельный макет);
  • res/layout/main_twopanes.xml (двухпанельный макет).

Добавляем новые папки с файлами:

res/values-large/layout.xml

res/values-sw600dp/layout.xml

Содержание последних двух файлов одинаково, но сами по себе они не определяют макет. Они служат для того, чтобы назначить файл main в качестве псевдонима main_twopanes. Так как в них используются селекторы large и sw600dp, они применяются к планшетам и телевизорам на платформе Android независимо от версии (для версий до 3.2 используется large, а для более новых – sw600dp).

Квалификаторы ориентации

Так как число устройств с разными экранами растёт, то приходится дополнительно адаптировать дизайн для маленьких экранов, планшетов на 7 и 10 дюймов, телевизоров. Вот примеры различных вариантов дизайна.

  • Маленький экран, вертикальная ориентация: однопанельный вид с логотипом.
  • Маленький экран, горизонтальная ориентация: однопанельный вид с логотипом.
  • Планшетный ПК с 7-дюймовым экраном, вертикальная ориентация: однопанельный вид с панелью действий.
  • Планшетный ПК с 7-дюймовым экраном, горизонтальная ориентация: двухпанельный вид с панелью действий.
  • Планшетный ПК с 10-дюймовым экраном, вертикальная ориентация: двухпанельный вид (узкий вариант) с панелью действий.
  • Планшетный ПК с 10-дюймовым экраном, горизонтальная ориентация: двухпанельный вид (широкий вариант) с панелью действий.
  • Телевизор, горизонтальная ориентация: двухпанельный вид с панелью действий.

Каждый из этих макетов определен в XML-файле в каталоге res/layout/. Чтобы сопоставить их с определенными конфигурациями экрана, в приложении используются псевдонимы. Примеры можно посмотреть в документации (русский перевод).

Как с этим работать в Eclipse. Когда вы создадите файл в новой папке, то в верхней части IDE вы можете увидеть выпадающий список, позволяющий быстро переключаться между двумя файлами activity_main.xml. Изменения, которые вы делаете в одном файле, не переносятся в другой файл. Поэтому будьте внимательны. Если какие-то элементы должны совпадать, то нужно внести изменения в оба файла. Также рядом с этим выпадающим списком можно выбрать форм-фактор устройства, чтобы увидеть созданный макет визуально. Эта операция возможно только при работе с XML в графическом режиме.

Также необходимо создать несколько новых эмуляторов под ваши требования. Сразу хочу предупредить об одной проблеме, с которой сам столкнулся. Когда я попытался загружать программу в уже готовый эмулятор на 7 дюймов, он по-прежнему загружал разметку под обычный телефон. В конце концов я снёс все эмуляторы, перезагрузился и создал эмуляторы под нужные мне размеры заново. И тогда всё заработало.

Второй важный момент — указание размеров. Обычно мы храним значения размеров в файле res/values/dimens.xml. Текст, заданный для телефона, окажется слишком мелким для планшета. Поэтому аналогично, создаём альтернативный файл res/values-sw600dp/dimens.xml. Я также пробовал сохранить файл dimens.xml в папке res/values-v15 и у меня также всё работало. Честно говоря, не знаю, какой вариант правильный.

Также можно управлять размерами через стили. В файле res/values/styles.xml:

В файле res/values-sw600dp/styles.xml:

Третий важный момент, о котором нужно помнить — различия в железе. Например, в новом планшете Google Nexus 7 нет телефонного модуля и только одна фронтальная камера. Поэтому, в манифесте рекомендуется указывать, что программа требует наличия телефона или камеры, чтобы ваше приложение не было доступно в магазине приложений для пользователей, у которых нет телефона и камеры. Например:

Читайте также:  Андроид показывает не все контакты

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

Кстати, выяснил интересную особенность фильтрации по разрешениям для Nexus 7. Оказывается, для него отдельно следует добавлять строку с точным указанием dpi:

Делайте отступы 16dp как минимум от краёв экрана для текстов.

Длина строки не должна быть слишком большой. Максимум 100 символов, оптимальный вариант: 50-75.

ListView и меню не должны растягиваться на весь экран (используйте фрагменты).

Рекомендуемый размер для элементов экрана, работающих от пальца — 48dp (32dp как минимум).

Поддержка планшетов, которые умеют принимать/отправлять SMS, но не умеют звонить

Существуют планшеты с модулем, позволяющим принимать и отправлять SMS. Для них стоит установить разрешения:

Только под планшеты, только под телефоны

Можно прописать в манифесте различные настройки, чтобы программа выводилась в Google Play только под планшеты или только под телефоны. Приблизительно так.

Источник

Android-приложения для планшетов

В разделе «Ноутбуки и планшеты» мы регулярно рассказываем вам о новых моделях планшетов. В прошлом году в центре внимания были планшеты на Android 3.x Honeycomb, в этом году на рынок вышли планшеты на Android 4.x Ice Cream Sandwich (а многие прошлогодние планшеты получили возможность обновления до новейшей версии Android). О самих операционных системах у нас также были статьи (они доступны по ссылкам выше). Но вне поля зрения оставалась такая довольно глобальная тема, как приложения для планшетов.

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

В свое время быстрое наполнение App Store стало одной из причин успеха iPad: уже через пару месяцев после появления устройства в продаже его обладатели получали (благодаря софту из App Store) такие возможности, о которых даже не думали, приобретая планшет. И на данный момент приложений для iPad существует огромное количество, причем все они поддерживают как первое, так и второе поколение iPad.

С приложениями для Android Market ситуация оказалась несколько иной. До 2011 года разработчики не писали специальных приложений для Android-планшетов, поскольку и в плане «железа», и в плане операционной системы они ничем не отличались от топовых смартфонов. Просто экран больше (хотя разрешение зачастую то же). Разумеется, на эргономике и удобстве интерфейса это сказывалось не лучшим образом: пространство в 7 дюймов можно было использовать куда более рационально, если рассчитывать изначально именно на эти 7 дюймов, а не на 4, скажем.

Ключом к решению проблемы стало появление чисто планшетной ОС Google Android 3.x. Однако тут обнаружилась другая проблема: если в случае с планшетной модификацией Apple iOS разработчики могут ориентироваться на конкретные аппаратные конфигурации (а проще говоря — на конкретные устройства линейки iPad), то разработчикам для Android приходится обеспечивать совместимость своего софта с куда большим количеством устройств. Причем, различаться они могут и быстродействием, и диагональю экрана (существуют самые разные варианты в диапазоне между 7 и 10 дюймами), и набором дополнительных аппаратных кнопок.

Напомним, что третья версия Android (3.0, 3.1 и 3.2) разрабатывалась специально для планшетов. Но она является своего рода мостиком между Android 2.x и Android 4.x. Поскольку только четвертая версия — единая для планшетов и смартфонов. Возможно, это объясняет, почему для Android 3.x было разработано не очень много приложений. Подчеркнем: речь идет только о тех приложениях, которые делались специально для планшетов, а не об универсальных приложениях (для смартфонов и планшетов).

Интерфейс последних зачастую неплохо масштабируется, и это позволяет с достаточным комфортом использовать их на планшетах. Однако понятно, что интерфейс, разрабатывавшийся изначально для маленьких экранов смартфонов будет менее удобен и менее функционален на более крупном экране, чем у тех приложений, которые специально делались с расчетом на большой экран. Поэтому предпочтительно, конечно, ставить чисто «планшетные» приложения. Но как их отличить от остальных?

Читайте также:  Рабочие смены для андроид

В Android Market смартфонные приложения от планшетных никак не отделены. Даже если вы заходите в Маркет с планшета, все равно вам будут доступны все типы приложений (хотя, конечно, некоторые приложения могут быть и не видны, если они помечены как несовместимые с вашим устройством). У конкурентов это организовано иначе: в Apple App Store есть четкое разделение: приложения только для iPad, только для iPhone/iPod и приложения для iPhone/iPad. Причем, в последнем случае речь идет не о масштабировании приложения, а, фактически, о двух приложениях в одном.

Правда, с выходом нового iPad фрагментация усилилась, но до Android-платформы по этому параметру по-прежнему далеко (и это хорошо!).

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

Если вы все же хотите выбирать именно из планшетных приложений, то попробуйте платное приложение Tablified Market HD.

Это очень любопытная вещь: выглядит как Goolge Play Store (хотя все же немного иначе), но является, по сути, браузером. Когда мы выбираем нужное нам приложение (как вы уже поняли, Tablified Market отображает только приложения, разработанные для планшетов под управлением Android 3.x/4.x), то запускается Play Store, сразу открывая нам страницу с выбранным приложением.

Обратите внимание: Tablified Market — это не альтернативный маркет (коих есть немало, и их ассортимент расходится с официальным магазином), а именно что вспомогательное приложение для официального Play Store.

И тем не менее, можно обойтись и обычным Play Store. В конце концов, нет ничего страшного, если вы установите приложение, разработанное для смартфона: если оно в принципе видно в Play Store с вашего устройства — значит, оно будет, скорее всего, корректно работать. А это главное. Но как выбрать из огромного количества Android-приложений те, которые нужны именно вам? Понятно, что универсального рецепта или четкого совета («берите это, а не то»), дать нельзя — хотя бы потому, что ситуация меняется каждую минуту: существующие приложения обновляются, некоторые — исчезают, вместо них появляются новые… Да и невозможно при всем желании охватить все многообразие приложений, даже по каким-то ключевым тематикам.

Но можно попытаться хотя бы немного прояснить общую картину, дать советы начинающим обладателям Android-планшетов и обратить внимание на те моменты, которые еще требуют доработки. Кроме того, порой мы просто не знаем, что в Store есть приложение, которое может помочь нам в нашей работе или решит какую-то небольшую (или большую) проблему. Возможно, серия наших статей поможет вам узнать о таких приложениях. Равно как и о тех, которые решают простые задачи или упрощают рутинные операции, то есть без таких приложений вполне можно обойтись, но когда они есть — жизнь упрощается.

О каких типах приложений пойдет речь? Начнем мы с приложений первой необходимости — то есть тех, которые обеспечивают минимальную функциональность планшета. Это офисные приложения (первая статья уже доступна по ссылке ниже), видеоплееры, браузеры, клиенты социальных сетей и облачные сервисы для хранения и синхронизации файлов (статьи появятся в обозримом будущем).

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

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

Источник

Оцените статью