MyTetroid – Android приложение

Mytetroid – это Android-просмотрщик хранилища данных настольной версии программы MyTetra.

MyTetra (не путать с MyTetroid) — полнофункциональный кроссплатформенный менеджер заметок (PIM-manager), использующийся для сбора и накопления различного рода информации. Все записи (заметки, статьи) организуются в древовидную структуру, а так же снабжаются ключевыми словами-тегами, позволяющими быстро находить нужные записи. Ссылки между записями, прикрепляемые файлы, шифрование, развернутый поиск, синхронизация, копирование из браузера, кроссплатформенность, один из лучших визуальных WYSIWYG редакторов текста – все это есть в PIM-менеджере MyTetra.

Хранилище данных реализованно в виде множества html-файлов, структура которого хранится в xml, а настройки в файлах ini. Подробнее о формате хранения данных в MyTetra здесь

Благодаря простому устройству хранения данных, легко нстроить их синхронизацию через интернет с помощью любых систем облачного хранения или систем контроля версий. О синхронизации данных через интернет подробнее здесь.

Для шифрования используется открытая библиотека RC5-Simple, реализующая алгоритм RC5-32/12/16 c CBC-режимом сцепления. Также используется реализация алгоритма хеширования Pbkdf2 для хорошего перемешивания бит пароля и сильного замедления перебора. О системе шифрования в MyTetra подробнее здесь и здесь.

Лицензия: GPL v.3

Основной функционал приложения:

  • древовидная структура веток, как в оригинальной программе
  • список записей в ветках и прикрепленных файлов к записям
  • отдельный список меток по записям
  • ПРОСМОТР содержимого записей
  • расшифровка закрытых веток, записей и файлов
  • открытие прикрепленных файлов и каталога записи
  • глобальный поиск по всем объектам хранилища
  • фильтрация списков веток, записей и меток
  • просмотр статистических данных о хранилище
  • некоторые опциональные возможности:
    • хранение пароля локально на устройстве или спрашивать постоянно
    • выбор подсветки записей с файлами
    • формат отображения даты/времени создания записей
    • использование временного каталога для расшифровки файлов
    • запись логов в файл
    • полноэкранный режим
    • отмена отключения экрана при просмотре записи

Скриншоты:

 

Уже реализовано в еще неопубликованной новой версии:

  •  

Планируется реализовать:

  • поиск по тексту записи как в браузере (с навигацией по найденным совпадениям)
  • функционал использования сразу нескольких баз и переключения между ними
  • ну и конечно же возможность РЕДАКТИРОВАНИЯ записей
  • в т.ч. визуальный редактор

Возможно будет реализовано:

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

Также остается открытым вопрос о синхронизации хранилища на устройстве с удаленным репозиторием. На данный момент я использую сторонние git-клиенты, например, MGit. Можно использовать клиенты для синхронизации с облачными дисками (Яндекс.Диск, Google.Drive и др.).

 

Репозиторий проекта: https://github.com/gee12/MyTetroid

Ссылка на GooglePlay (бета-тестирование): https://play.google.com/store/apps/details?id=com.gee12.mytetroid

Оригинальный проект MyTetra: https://webhamster.ru/site/page/index/articles/projectcode/105

 

Ускорить выход новых версий:


Changelist

1.13:

  • Исправлена ошибка чтения файла записи, когда в пути были пробелы
  • Исправлена ошибка при отсутствии файла mytetra.xml
  • Исправлено поведение SearchView (элемент управления для фильтрации записей)

1.12:

  • Исправлена ошибка NPE в методе MainPageFragment.initListViews()
  • Добавлена опция в настройки “Не гасить экран при просмотре записи”
  • Добавлен пункт меню “Статистика хранилища” для просмотра статистических данных
  • Исправлена работа глобального поиска с параметром “По целым словам”

1.11:

  • Исправлена ​​ошибка при попытке повторной загрузки хранилища (empty context in function MainPageFragment.initListViews)
  • Исправлена ​​ошибка при попытке открыть файл на устройствах с API >=24 (добавлено использование FileProvider)
  • Реализовал выполнение глобального поиска в отдельном потоке
  • Метки к записи сделал интерактивными ссылками

1.10:

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

1.9:

  • добавлен глобальный поиск (по веткам, меткам, записям, тексту записей, прикрепленным файлам, авторам записей, url записей)
  • добавлена шторка справа со списком всех меток в базе
  • добавлены поля SearchView для фильтрации списков веток, записей, меток
  • добавлена анимация во время загрузки хранилища
  • добавлено уведомление, если прикрепленный файл к записи отсутствует на диске
  • кастомизирован ToolBar: вывод заголовка и типа отображаемого объекта (Ветка/Запись/Файлы/Метка/Найдено)
  • исправлен переход по внешним ссылкам (чтобы открывалось в браузере) и по внутренним ссылкам на другие записи (mytetra://note/ID)

1.7:

  • добавлена запись логов (опционально)
  • оптимизирована расшифровка: убран отдельный этап отсечения служебной информации в начале и в конце результирующего массива байт
  • добавлена расшифровка файлов во временный файл (опционально)
  • добавлена возможность установки приложения на карту памяти
  • добавлена команда “Открыть каталог” в контексном меню записи
  • добавлено вычисление размера прикрепленных файлов
  • добавлен пункт меню “О программе” с указанием текущей версии и др.
  • увеличена ширина кнопок (стрелок) для разворачивания веток

1.4:

  • исправлена прокрутка в начало WebView при смене записи
  • на активити записи добавлена скрываемая панель с полями (дата, автор, url, метки)
  • добавлена опция “Формат даты” в настройки
  • исправлено пересоздание элементов управления при изменении ориентации экрана

1.2:

  • реализовано открытие файлов
  • добавлен CcolorPicker в настройки для выбора цвета выделения записей с файлами
  • добавлена иконка в приложение

1.0:

  • долго перечислять (а нужно ли?)

 

2 thoughts on “MyTetroid – Android приложение

  1. Привет, Иван!

    Напишу здесь, что нужно доделать в первую очередь.

    – Где-то нужно отображать номер версии. Сделать пункт меню “О программе”, и там показывать.
    – Разворачивание веток – максимально расширить область кнопки “стрелка вниз”
    – Открытие зашифрованных веток – доделать, чтобы не было сегфолта
    – Поиск, для начала хотя бы по параметрам записи (название,теги…) потом и по содержимому

    Чтобы программа превратилась в полноценного клиента, а не просмоторщик:

    – Создание, удаление, редактирование веток
    – Создание, удаление и редактирование записей

    0
    1. Спасибо за замечания!!
      Показывать версию нужно однозначно.
      И по остальному – нужно дорабатывать.
      Самая большая и нужная работа – с редактированием, со временем реализую.

      0

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *