Расстояние Левенштейна в базе данных ROOM - PullRequest
1 голос
/ 24 июня 2019

Я создал приложение, которое использует некоторые предопределенные словари (для разных языков) для отображения подходящего для пользователя слова (каждое слово atm - это поиск по нормализованному значению, например, «łowić» -> «lowic» и поиск по заданному префиксу). Проблема в том, что это не очень полезно, так как обычно пользователь неправильно набирает некоторые символы, и, используя это решение, я не могу показать ему правильную подсказку. Поскольку в SQLite было доступно добавление расширений, в базе данных ROOM я не могу найти никакого способа сделать это. Дополнительная проблема в том, что словари могут содержать огромное количество слов, поэтому я не могу рассчитать это самостоятельно.

Итак:

  • есть ли способ использовать такие расширения, как https://github.com/agusibrahim/android-sqlite-extension в базе данных комнат?

  • если нет, использовать ли другую базу данных или я могу сделать это другим способом?

Любой совет будет оценен.

1 Ответ

0 голосов
/ 24 июня 2019

Хотя я еще не пробовал, я думаю, нет, но вы не можете использовать Room с библиотекой поддержки Android SQLite .Причина в том, что Room зависит от встроенных пакетов SQLite3 и не «знает», что эта библиотека существует в вашем проекте.

Вы можете пропустить использование Room и включить этот пакет в свой проект, а затем использоватьрасширение, как описано в базовом проекте: библиотека поддержки Android SQLite

и проект расширений: расширение SQLite3 для Android

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...