File storage

May 26, 2020 · View on GitHub

Простое обьектное хранилище на основе файлов. Хранение данных происходит в формате key(String) - value(Object), где key используется как имя файла, а в качестве содержимого выступает value, сериализованный в массив байт.

Может использоваться для реализации кэша.

Использование

Наследованием от BaseFileStorage или более специфичных его реализаций:

Наследник определяет папку, в которой будут храниться файлы.

Важно: для имени папки не следует использовать имя класса из-за обфускации.

Внутренние сущности:

  • ObjectConverter - сериализатор/десериализатор, есть готовые реализации для Serializable, Json
  • NamingProcessor - преобразует ключ в имя файла, необходим из-за того, что ключ может быть любого размера а размер имени файла ограничен системой
  • FileProcessor - инкапслулирует действия с файлами внутри некоторой директории
  • Encryptor - позволяет шифровать сохраняемые данные

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

Подключение

Gradle:

    implementation "ru.surfstudio.android:filestorage:X.X.X"