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

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

  • древовидная структура веток, как в оригинальной программе
  • списки записей в ветках и прикрепленных файлов к записям
  • отдельный список меток по записям
  • просмотр и ИЗМЕНЕНИЕ (тестируется) содержимого записей
  • расшифровка закрытых веток, записей и файлов
  • открытие прикрепленных файлов и каталога записи
  • глобальный поиск по всем объектам хранилища
  • фильтрация списков веток, записей и меток
  • просмотр статистических данных о хранилище
  • некоторые опциональные возможности:
    • хранение пароля локально на устройстве или ввод при необходимости
    • расшифровка прикрепленных файлов во временный каталог
    • запись логов работы приложения в файл
    • полноэкранный режим
    • блокировка отключения экрана при просмотре записи
    • отправка команды синхронизации сторонним приложениям (частично)

Для проверки работы приложения можно использовать тестовое хранилище.

Скриншоты:

Синхронизация хранилища

Начиная с версии 1.14 возможен вызов стороннего приложения для синхронизации хранилища. Это удобно, например, когда нужно автоматически обновить данные перед их загрузкой, или сохранить изменения при выходе из приложения. Но функционал ПРИЕМА команд синхронизации (запроса) нужно реализовывать в каждом конкретном приложении-синхронизаторе отдельно.

На данный момент прием команд на синхронизацию от MyTetroid поддерживается в:

  • git-клиенте MGit (пока в моем форке, но ожидается pull request в основную ветку приложения). Кому нужен скомпиллированный .apk с нововведением, пока оно не внесено в официальную версию, его можно скачать отсюда.

Планируется поддержка в:

С официальными клиентами облаков, такими как Google Drive, Яндекс.Диск, Dropbox и прочими, ничего не выйдет, т.к. они закрыты (так что при их использовании запускайте синхронизацию вручную).

Разрабатывается в данный момент:

  • изменение текста записи в WYSIWYG-редакторе кода html
  • сохранение зашифрованных записей
  • создание новых записей и веток
Голосовалка за новый функционал
  • Добавить свой вариант

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

Ссылка на GooglePlay (бета-тестирование): 

Доступно в Google Play

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

Политика конфиденциальности


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


Changelist

2.1:

  • Убран запрос на сохранение записи, даже когда запись не менялась
  • Исправдлено обновление подписей после изменения значений опций в настройках

2.0:

  • Работа с содержимым записи вынесена в отдельную активность
  • Реализовано редактирование текста записей (в режиме тестирования)
  • Создан WYSIWYG-редактор html-текста (список команд пока не полный)
  • Добавлена возможность редактирования “сырого” html-кода
  • Добавлены опции в настройки по работе с редактором текста
  • Добавлено требование разрешения на запись во внешнее хранилище
  • Модуль выбора каталога переведен на русский язык
  • Немного изменено отображение веток

1.14:

  • Реализован запуск синхронизации хранилища с помощью сторонних приложений
  • Исправлен баг проверки database.ini, когда middle_hash_check_data был равен “” (пустым кавычкам)
  • Исправлена ошибка получения размера у файлов без расширения
  • Исправлена ошибка открытия прикрепленных файлов на API >= 24

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 не будет опубликован. Обязательные поля помечены *