Как стать автором
Обновить

Комментарии 9

Если список уже в памяти, то зачем делать запросы к БД, это же будет дольше?
Room уже вроде начал поддерживать FTS из коробки и всё должно быть проще?
Наполнение базы данных из ассетов сделано для примера. В реальном проекте данные будут загружаться с сервера, а между наполнением базы данных и поиском может пройти значительное время (причем поиск будет происходить без наличия интернета).
По поводу Room я с вами согласен, реально удобнее, но, по тем или иным причинам, не все используют Room. Единственный момент, что с поддержкой русского языка так и не разобрались (если я не прав — поправьте пожалуйста).
val query = «SELECT * FROM movies WHERE movies MATCH '$searchString'»
SQL-инъекция?
Хорошее замечание. Возможно стоило оставить небольшую заметку про возможность инъекции. Но раскрывать тему SQL-инъекций в рамках данной статьи не вижу смысла, так как на хабре есть несколько интересных статей на эту тему.
Имхо, проще ничего не раскрывать, а отредактировать пример, чтобы использовались параметризованные запросы. Это увеличит размер кода на 1 строку. Всё-таки, публиковать примеры с дырами в корпоративном блоге банка — опасная для репутации затея )))
А смысл делать инъекциию? Если клиент можно просто достать базу данных и посмотреть. (: Разве только для того что-бы приложение не упало.
А ничего, что по этой статье начинающие программисты учиться будут, и код копипастить, как образец наилучших практик.
Начинающие программисты и полнотекстовый поиск? Ну ладно (: А автору кстати можно поправить код и добавить вызов вот этой функции и если введут всякие кавычки и прочее то ничего не упадет developer.android.com/reference/android/database/DatabaseUtils.html#sqlEscapeString(java.lang.String)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий