Использование Git на Android (+Termux)

Как известно, Android хоть и основан на Linux, но в нем не существует механизма для работы с нативными пакетами, такими, например, как git. Но существуют другие способы работы с git-репозиториями (локальными и удаленными):

1) использовать специализированные приложения, реализующие функциональность git.

2) использовать нативный пакет git с помощью приложения Termux (для Android >=7), которое реализует Linux-подобную среду и терминал для взаимодействия с ней (основная статья о Termux).

Read more “Использование Git на Android (+Termux)”

Отслеживание модификации файла (Android)

Чтобы отследить события модификации файла (-ов), существует класс FileObserver, который умеет мониторить объекты файловой системы в отдельном потоке.

Также, для пущей важности можно создать отдельный сервис и запихнуть этот механизм туда.

Read more “Отслеживание модификации файла (Android)”

Деактивированный Preference с реакцией на нажатия (Android)

Обычный Preference не будет обрабатывать нажатия, если его отключить (установить setEnabled(false)). Но обработать события нажатия ( OnPreferenceClickListener) на деакцивированную опцию иногда может понадобится.

Я использовал такой способ, но может есть способ проще.

Read more “Деактивированный Preference с реакцией на нажатия (Android)”

BuildVariants, ContentProvider и authorities (Android)

Имеем:

  • использование BuildVariants ( Build Types и/или Product Flavors) для создания разных версий приложения с одной кодовой базой (проектом)
  • использование ContentProvider (например, FileProvider или SuggestionsProvider), описанного в манифесте

Получаем:

При попытке установки 2-х разных версий приложения на одном устройстве получаем ошибку:

Read more “BuildVariants, ContentProvider и authorities (Android)”

Синхронизация MyTetroid на Android (git)

Mytetroid — это Android-клиент полноценного менеджера заметок MyTetra.

Для работы с одним и тем же хранилищем данных на разных устройствах (Android/Windows/Linux) можно использовать синхронизацию с помощью системы версионирования git. Для этого были написаны bash-скрипты с командами git.

Как известно, Android хоть и основан на Linux, но в нем нет возможности установить и использовать нативный git-клиент. Но есть другие способы работы с git: Read more “Синхронизация MyTetroid на Android (git)”

Termux – Linux-терминал в Android

Termux – приложение с открытым исходным кодом, реализующее Linux-подобную среду, взаимодействие с которой происходит посредством консоли без необходимости иметь root-права на устройстве. Доступно для устройств с Android >= 7 (раньше было 5).

Termux бесплатен. Имеет несколько дополнительных модулей (см.ниже), которые можно купить  на Google Play, свободно скачать на F-Droid или самостоятельно собрать из исходников на github. При этом, нельзя смешивать установку приложения, скачанного, например, на Google Play с установкой модуля, скачанного на F-Droid, т.к. они будут несовместимы из-за разных ключей подписи, используемых при сборке (сам не проверял). Read more “Termux – Linux-терминал в Android”

Облачные синхронизаторы на различные платформы

Перечень наиболее известных сервисов для хранения файлов в облаке, их клиентов (синхронизаторов между локальным устройством и облаком) на различные платформы, ссылки на их дистрибутивы и исходники (если есть). Не затрагивается тема стоимости и доступного объема данных. Read more “Облачные синхронизаторы на различные платформы”

Удаленная отладка Android-приложения (Genymotion)

Что имеем:

Локальная система (Xubuntu 16.04) с отладчиком (Android studio)
Удаленная система (Windows 7) с эмулятором (Genymotion)

Решение: Read more “Удаленная отладка Android-приложения (Genymotion)”

Genymotion – ошибка настройки сети в режиме моста

Genymotion – кроссплатформенный эмулятор Android-устройств.

Сеть виртуального устройства можно настроить в режима моста.

Но при запуске устройства (в версии 3.0.2) вываливается ошибка: Read more “Genymotion – ошибка настройки сети в режиме моста”

iText 5.5 установка шрифта для кириллицы

Для создания PDF есть библиотека iText, написанная на Java, начиная с версии 5 распространяющаяся по лицензии AGPL.

Для создания отчета в виде таблицы для Android я использовал версию 5.5.10:

Но с отображением кириллицы есть нюанс. Нужно загрузить шрифт (из assets, например) и правильно его установить. Read more “iText 5.5 установка шрифта для кириллицы”