You can do a SQL text query by using the LIKE operator. The issue is that using it requires a lot of computation, as a complete string query is done. Also if you want to have more search options (more fields), your query will grow a lot in complexity. To solve this issue, there's a concept of virtual tables for full text search (FTS).
We will build our solution using Room (already set in the project). We're using version 2.2.0-rc01 for that.
With Room, the only thing we need is to create the new class with @FTS4
notation. By specifying contentEntity
to be the Route class, it means that it will reuse the values from the Route table instead of populating this one with copies. The fields in question should match the ones from the Route table. In this example we only need the title.