I am developing an app that for the most part presents large static textual information. I intend the app to be offline so no fetching of data from server. As already discussed on many posts I have following options as per my understanding:
- Storing it in XML resource file
- text file in assets folder
- SQLite database
Though initially I decided to go with XML, but for features like proper sorting, filtering and indexing of data SQLite is handy. I read here, here and here about trade-offs between various methods. Now, if I am storing data in SQLite:
- From where should I feed data? Won't I have to first store it in a text file or Strings.xml?
- If yes, then I would need to parse XML(may be multiple files) to insert it in database tables
and then reading tables to display data in Views, leading to redundancy (as I could directly populate views after parsing XML) and also taking double the size for data(XML and database). Am sure there is nothing in android studio like "feeding database from some resource while generating apk and not bundle up that resource as a part of apk". So my question essentially is how to effectively use SQLite for large static text data? Thanks
(sorry if my description is bit lengthy than necessary)
EDIT: Also there will be no data manipulation while the app is being used.