Создание ссылки на Google Play из приложения

Рассмотрим как можно создать ссылку на собственное приложение в Google Play, используя Intent и метод startActivity().

Допустим, у нас есть меню опций, в котором мы поместили ссылку на приложение Gmail (пример условный, используйте свой линк). В методе обработки нажатия на пункт меню мы добавляем свой case, соответствующий выбору «Gmail».

Handler

Handler — это помощник/хэлпер, который позволяет нам организовать «коммуникацию» основного UI-потока и отдельно создаваемого нами потока для выполнения различного рода задач. Как известно, мы не можем обращаться из не UI-потока к элементам экрана. Однако, данная задача достаточно легко решается с использованием Handler-а.

SwipeRefreshLayout — пример использования

Паттерн Swipe to refresh уже прочно закрепился в нашем обиходе, благодаря множеству популярных приложений, которые мы используем каждодневно. Суть паттерна: просматривая, например, список (ListView), пользователь касается верхней части списка (под Action Bar) и проводит пальцем вниз. Это движение инициирует появление «крутилки», которая переливается различными цветами и исчезает, как только список, отображаемый на экране, будет обновлен. Паттерн в действии можно увидеть, например, в приложении Gmail.

Реализовать паттерн можно с помощью специального layout-а под названием SwipeRefreshLayout. Для его демонстрации мы создадим простейшее приложение с одним экраном. Вместо списка на экране у нас будет только TextView, а для запуска паттерна можно будет провести пальцем от верхней части layout-а (под Action Bar).

SwipeRefreshLayout - пример использования

Service. Пример простого сервиса

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

Toolbar — альтернатива ActionBar

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

Работа с CheckBox в приложении

CheckBox — очень простой виджет, имеющий всего два состояния/значения: установлен/не установлен. Создадим простое приложение, где попробуем получать значение данного виджета с помощью слушателя OnClickListener, а также в любой нужный момент при клике по отдельной кнопке Button.

Работа с CheckBox в приложении

Паттерн ViewPager — пример использования

Думаю, вы уже встречали во многих приложениях возможность «перелистывания» страниц/экрана с помощью движения пальца влево или вправо по экрану. Это паттерн называется ViewPager. Он прост в создании и использовании, и сейчас мы создадим небольшое приложение-пример.

В нашем приложении на каждом экране/странице будет отображаться текстовая фраза с номером страницы. Также мы добавим над фразой небольшой «счетчик» по типу 2/29, где первая цифра — это номер страницы, на которой мы сейчас находимся, а вторая — количество страниц.

RoboSpice. Используем Google Http Client

В предыдущей статье мы разбирали пример простейшего запроса к внешнему сайту для получения текста с помощью RoboSpice. Мы использовали класс SimpleTextRequest, в котором имеется метод loadDataFromNetwork(), выполняющий основную работу загрузки текста.

RoboSpice — библиотека для асинхронных запросов

Библиотека RoboSpice позволяет выполнять асинхронные запросы к внешнему серверу, например, для получения текстовых данных или изображений. При этом RoboSpice решает многие проблемы, которые могут возникнуть при выполнении подобных запросов. В частности, одна из распространенных — AsyncTask и поворот экрана в процессе ее выполнения. Задача вернет результат для старого Активити, а не для нового. С RoboSpice «мы можем спать спокойно» — все нюансы учтены и возможные проблемы решены.

Переключатель Switch

Рассмотрим простой пример использования переключателя Switch. Создадим простой проект с этим переключателем и будем отображать сообщение Toast при переключении.

Переключатель Switch