Как облегчить управление Android-смартфоном с помощью курсора
Тренд на увеличение высоты дисплеев, которому оказались подвержены почти все производители смартфонов, по мнению многих потребителей, оказал негативное влияние на удобство взаимодействия с интерфейсом. Еще бы, ведь эквилибристика со смартфоном не только создает дополнительную нагрузку на пальцы, но и увеличивает риск непроизвольного выпадения аппарата из рук. Чтобы оградить своих клиентов от подобных неудобств, Apple придумала функцию Reachability, в отличие от Google, которая переложила эту обязанность на сторонних разработчиков.
Приложение Reachability Cursor от разработчиков студии NiftyUI переносит привычный пользователям компьютеров курсор на Android, который позволяет не тянуться до самых отдаленных элементов операционной системы и сторонних приложений вручную, а сделать это с помощью курсора.
Как добавить курсор на Android
После установки приложения на экране появляется небольшая округлая область, которая располагается с правого или левого края экрана и выполняет роль тачпада. Прикосновение к ней активирует курсор, который можно перемещать по интерфейсу, двигая палец с небольшой амплитудой. Как и реальный, программный тачпад обеспечивает не только перемещение курсора и нажатия, но и жесты прокручивания и длительные удерживания.
Лично мне тачпад больше напомнил не режим Reachability, а виртуальную клавишу Home в iOS в рамках функции AssistiveTouch, которая тускнеет, если ей не пользоваться, и проявляется более отчетливо при использовании. Во многом такие ассоциации возникли из-за неприметности тачпада, который никоим образом не мешает взаимодействию с операционной системой, когда надобность в нем отсутствует.
При желании пользователь может настроить тачпад по своему усмотрению, изменив его размер, добавив тактильную отдачу, период бездействия, по истечении которого он будет затухать, а также сконфигурировать цвет курсора и добавить различные эффекты, которые будут проявляться в зависимости от производимых на устройстве действий.
Обсудить эту и другие новости Android можно в нашем Telegram-чате.
Приложение: Reachability Cursor
Разработчик: NiftyUI Категория: Инструменты Цена: Бесплатно Скачать: Google Play Приложением уже заинтересовались: 550 человек
Новости, статьи и анонсы публикаций
Свободное общение и обсуждение материалов
Все знают, как искать нужную информацию в Google, конкретные сообщения в мессенджерах и специфические публикации в Инстаграме. А как искать информацию в видео на YouTube? Логично, что единственный способ найти что-то, что вам нужно, — это отсмотреть весь ролик целиком. В принципе, некоторые авторы снабжают свои видео содержанием с тайм-кодами, которое немного упрощает задачу, но кардинальным образом не решает. А что, если я скажу вам, что в YouTube есть функция, позволяющая найти вполне конкретный фрагмент по упоминанию одного-двух слов или фраз?
Персонализация обоев смартфона — это эффективный способ сделать домашний экран уникальным и непохожим на домашние экраны других пользователей. Конечно, есть очень красивые штатные заставки, миллиарды красивых фото в интернете и тысячи фотографий в самом телефоне, но именно видеообои производят ни на что не похожий эффект. Живые обои, которые перемещаются как GIF при нажатии и удерживании, делают работу с Android или iPhone еще более интересной. И да, вы правильно прочитали, что установка таких обоев возможна на любом смартфоне. Что удивительно, на iOS сделать это даже проще. Но я расскажу о процессе создания их на обеих платформах.
Несмотря на то что Google стабильно поддерживает свои приложения и сервисы, какие-то по-настоящему знаковые обновления компания выпускает не так уж и часто. Как правило, это происходит не чаще 2-3 раз в год. Но, когда всё-таки происходит, Google старается сделать так, чтобы об этом узнали все. Она выпускает большой материал с описанием всех запланированных нововведений у себя на сайте, рассказывает, зачем они нужны и как они смогут улучшить нашу с вами жизнь. Совсем как в этот раз.
Вчера в обед была почти такая же статья )))
Источник
Увеличить курсор для андроид
Краткое описание:
Курсор наподобие компьютерной мыши для управления смартфонами с большми диагоналями
Описание:
Программа позволяет использовать курсор как для компьютерной мыши для того, чтобы дотягиваться до удаленных частей экрана большого смартфона.
Использование:
Курсор вызывается свайпом от края экрана и управляется движением пальца. Тапните по курсору для нажатия. Курсор скрывается автоматически через некоторое время, либо при нажатии на любую часть экрана вне курсора.
Советы:
○Двойной тап на строке статуса открывает область уведомлений. Работает на большинстве устройств Android.
○Вы можете временно отключить свайп-пады в меню быстрых настроек. Для того, чтобы открыть меню, нажмите и удерживайте область управления курсором и нажмите в любом другом месте другим пальцем.
Основные функции доступны бесплатно и без рекламы.
Платная версия содержит дополнительные функции:
•Кастомизация внешнего вида и поведения
•Настройка курсора и области управления согласно вашим предпочтениям
•Жесты от края экрана для обзора уведомлений, доступа быстрых настроек и т.д.
•Продвинутый режим, поддерживающий жесты перетаскивания
•Долгий тап
•Поддержка разработчика
Спец. возможности
Приложению Reachability Cursor нужен доступ к специальным возможностям для его работы. Описание требований:
○ Просмотр ваших действий
• требуется для функции «Черный список»
○ Получение содержимого окна
• нужно для интеграции области управления курсором
○ Выполнение жестов
• для управления курсором
Требуется Android: 7 и выше
Русский интерфейс: Нет
)
Версия: 1.1.2 GP (Rekembus)niftyui_reachability.apk ( 3.18 МБ )
Источник
Мышка для Android TV, Mouse for Android TV
Курсор,Указатель Мыши для Android TV с управлением штатным,стоковым пультом дистанционного управления.
Как известно,приложение Mouse Toggle for Android TV на устройствах с версией Android TV 8+ работает некорректно,вернее сказать работает только в случае если на пульте есть кнопка Play/Pause,к сожалению разработчик бросил поддерку приложения,но программа по-прежнему продается в Плей Маркете, еë так и не удалили,тем самым вводя людей в заблуждение,люди покупают приложение которое не работает на их устройствах,но не все знают что в течение определëнного времени деньги за покупку можно вернуть. Как говорится «Свято место пусто не бывает»,появилось новое подобное,бесплатное приложение которое называется MATVT-Mouse for Android TV Toggle. В настоящее время приложение ещë находится в разработке,но с последней версией пользоваться уже можно! С помощью этой программы можно управлять курсором,указателем мышки навигационными клавишами пульта Вверх,Вниз,ВлевоВправо,(Кольцо на пульте). В этой статье посмотрим как установить и настроить это приложение.
Для скачивания APK файлов и установки приложений на устройства Android TV необходимо из Плей Маркета установить программу “Downloader”,
На Android TV 5-7 в настройках устройства,в разделе “Безопасность”,необходимо активировать опцию “Разрешить установку из неизвестных источников”,на Android TV 8+ в приложении будет предложено “Разрешить установку из этого источника”,если этого не произошло,так же надо открыть настройки устройства и предоставить разрешение приложению.При первом запуске “Downloader” необходимо дать разрешение для доступа к памяти устройства,это будет предложено в приложении,
Для скачивания APK файлов с дальнейшей установкой приложений в адресную строку необходимо ввести ссылку на установочный APK файл приложения которое необходимо установить,не путаем заглавные и строчные буквы,в ссылке не должно быть пропусков, в новой версии “Downloader” http:// вводить не обязательно,
Открываем Программу,
Открываем «Setup Permissions»,
«Показывать поверх других приложений«,далее нажимаем кнопку «Назад«,
Активируем «Mouse Toggle Service«,нажимаем кнопку «Назад»,возвращаемся в приложение,Если из программы, ( Характерно для Android TV 9+ ),не получилось предоставить зти разрешения посмотрим как это всë сделать в настройках устройства,
Открываем «Настройки Устройства«,
Далее «Приложения«,
Открываем «Специальный доступ«,
Открываем «Поверх других приложений«,в дальнейшем,если система будет выгружать приложение из памяти, ( Закрывать приложение ),необходимо будет открыть первй пункт «Экономия энергии» и отключить у программы «Экономию энергии»,
Включаем ползунок,( Триггер ),в положение вкл.,кнопкой «Назад » возвоащаемся в настройки устройства,
Открываем «Настройки устройства«,
Далее открываем «Специальные возможности»,
Активируем службу «Mouse Toggle Service«,
Перемещаем ползунок ( Триггер ) в положение ВКЛ.,
Подтверждаем «ОК«,
Возвращаемся к приложению,
- 1 Изменить размер указателя,курсора,Влево меньше,Вправо больше
- 2 Изменить скорость прокрутки,Влево быстрее,Вправо медленнее
- 3 Изменить цвет указателя,курсора
- 4 Граница экрана ( Не даëт указателю прокрутиться через экран,пропал внизу,появился вверху )
- 5 Полноразмерный пульт ( Пример пульт ТВ,много кнопок,управление указателем цветными кнопками,если обычный пульт,галочку не ставить )
- 6Долгое нажатие ( Если на пульте нет лишних кнопок галочку не ставим,на назначенной кнопке по короткому нажатию будет срабатывать стандартное действие,при удержании активироваться указатель )
- 7 Активировать код кнопки ( Необходимо на пульте выбрать кнопку и указать еë код ниже,указатель мышки будет активироваться назначенной кнопкой )
- 8 Ввести код выбранной кнопки ( По умоччанию 164, это кнопка ОТКЛ.ВКЛ. Звука )
В общем,выбираем на пульте кнопку которой не пользуемся,вводим код этой кнопки, нажимаем «SAVE«,указатель,курсор будет активироваться нажатием на эту кнопку,если на пульте нет лишних кнопок,смотри пункт 6.По умолчанию установлен код 164 это ОТКЛ.,ВКЛ.звука,если на пульте присутствует данная кнопка,код нужно оставить без изменений,просто нажав «SAVE«,указатель будет активироваться нажатием на эту кнопку.На MI BOX S можно выбрать кнопку Панель,( Меню ),Приложений,кнопка находится слева под кольцом.На этом устройстве,на пульте,я выберу кнопку «Меню«,код 82.
Ввëл код 82,далее «SAVE«, кнопкой «Назад«выходим из программы,
Нажимаем на назначенную кнопку,функция указателя активирована,
Нажимаем на кнопку ещë раз,активирована функция прокрутки,
Нажатием на кнопку в третий раз возвращаемся к управлению пультом,
Открываем Google Chrome,
Нажимаем на назначенную кнопку,пользуемся.
Источник
Cursor
Изучим объект Cursor. Не путайте его с курсором мыши, который бегает у вас на экране.
Работа с курсором
- Курсор — это набор строк в табличном виде
- Для доступа курсора вы должны использовать метод moveToFirst(), так как курсор размещается перед первой строкой
- Вы должны знать названия столбцов
- Вы должны знать типы столбцов
- Все методы доступа к массивам основываются на номере столбца, поэтому сначала нужно преобразовать название столбца в номер столбца
- Курсор является случайным (random cursor) — вы можете переходить вперед, назад и со строки на строку
- Поскольку курсор является случайным, у него можно запрашивать количество строк (row count)
Класс Cursor содержит немало возможностей для навигации (но не ограничивается только ими):
- moveToFirst() — перемещает курсор на первую строку в результате запроса;
- moveToNext() — перемещает курсор на следующую строку;
- moveToLast() — перемещает курсор на последнюю строку;
- moveToPrevious() — перемещает курсор на предыдущую строку;
- getCount() — возвращает количество строк в результирующем наборе данных;
- getColumnIndexOrThrow() — возвращает индекс для столбца с указанным именем (выбрасывает исключение, если столбец с таким именем не существует);
- getColumnName() — возвращает имя столбца с указанным индексом;
- getColumnNames() — возвращает массив строк, содержащий имена всех столбцов в объекте Cursor;
- moveToPosition() — перемещает курсор на указанную строку;
- getPosition() — возвращает текущую позицию курсора
Также Android предоставляет следующие методы:
- isBeforeFirst()
- isAfterLast() — полезный метод, сигнализирующий о достижении конца запроса. Используется в циклах
- isClosed()
И другие методы, о которых можно узнать в документации или из примеров.
Курсор обязательно следует закрывать методом close() для освобождения памяти.
Наглядно о курсорах
Чтобы было проще понять, что такое курсоры, представляйте их в виде таблицы. Пусть у нас есть таблица из столбцов: _id (идентификатор) и catname (имя котов). Допустим, мы ввели в базу имена четырех котов и таблица базы данных выглядит таким образом:
_id | catname |
---|---|
1 | Мурзик |
2 | Васька |
3 | Барсик |
4 | Рыжик |
Как было сказано выше, при работе с курсорами необходимо вызвать метод moveToFirst() (перейти к первой строке), после чего таблица будет выглядеть следующим образом:
_id | catname |
---|---|
1 | Мурзик |
2 | Васька |
3 | Барсик |
4 | Рыжик |
Как видите, после вызова метода первая строчка таблицы подсвечена. Именно данные этой строки и содержит сейчас курсор. Можно проверить следующим образом. Добавим новую кнопку в проект и напишем код:
На первой строке содержатся данные 1, Мурзик. Мы не знаем, как хранятся данные в курсоре, но нам это и не нужно. С помощью метода getColumnIndex() с указанием имени колонки мы можем извлечь данные, которые хранятся в них.
Теперь вызовем метод moveToNext() (перейти к следующей строке). Таблица будет выглядеть уже так:
_id | catname |
---|---|
1 | Мурзик |
2 | Васька |
3 | Барсик |
4 | Рыжик |
Код для проверки:
Если вызвать метод moveToNext() ещё раз, то переместимся на третью позицию. А теперь представьте ситуацию, что у нас в базе более ста котов, и чтобы узнать имя 85-го кота, нам придётся 85 раз вызывать метод. Не удобно. К счастью, есть метод moveToPosition() (перейти в позицию), в котором сразу можно указать нужную строку (отсчет идет от 0):
А таблица выглядит уже так:
_id | catname |
---|---|
1 | Мурзик |
2 | Васька |
3 | Барсик |
4 | Рыжик |
Надеюсь, вы поняли общий принцип работы с курсором. Теперь вы можете понять, как выглядит курсор после вызова метода moveToLast() (перейти на последнюю запись).
Если нам надо получить имена всех котов из таблицы базы данных, то нужно последовательно вызывать методы moveToNext(). Это проще сделать через цикл. Условием для остановки цикла является проверка возвращаемого значения метода. Если вернётся значение false, значит мы дошли до конца таблицы. В данном случае не нужно вызывать метод moveToFirst(), чтобы не пропустить первую запись:
Цикл можно переписать по другому. Метод isAfterLast() возвращает true, когда курсор с последней записи пытается переместиться в никуда. А пока курсор возвращает false, можно двигать его на следующую позицию. Пример будет выглядеть так:
В примерах мы извлекали строковое значение записи через метод getString():
По аналогии можно получить числовое значение, например, номер ресурса изображения.
Думаю, приведённых примеров достаточно, чтобы понять с чем едят курсоры. Они совсем не страшные.
Устаревшие методы (deprecated)
Начиная с Android 3.0, многие методы для работы с курсором считаются устаревшими.
- startManagingCursor()
- stopManagingCursor()
- managedQuery()
- reQuery()
При использовании устаревших методов вы можете получить исключение типа:
Кроме того, студия будет подчёркивать устаревшие методы, от которых желательно избавляться в новых проектах.
Наиболее распространён метод managedQuery(), в сети постоянно натыкаюсь на примеры с использованием данного метода.
Обычно, код выглядит следующим образом:
Данный код следует переработать следующим образом:
Метод reQuery() следует заменить на вызов LoaderManager.
Класс CursorLoader и связанный с ним LoaderManager гарантируют, что запросы будут выполняться асинхронно.
Мне пока не приходилось использовать данный приём в своей практике, поэтому просто скопирую из других источников:
- реализуйте интерфейс в вашем классе как LoaderManager.LoaderCallbacks
- в методе onCreate() инициализируйте loader как First implement the interface in your class as getLoaderManager().initLoader(0, null, this);
- вместо reQuery используйте getLoaderManager().restartLoader(0, null, this);
- переопределите три метода onCreateLoader(), onLoadFinished(), onLoaderReset()
MatrixCursor
Иногда попадаются примеры с использованием класса MatrixCursor. Сам пока не изучал, оставлю вам в качестве домашнего задания. Небольшой пример на память:
Источник