I’m developing a “funny quotes” app for android. I have over 1000 quotes which I want to use inside my app but I don’t know whether I should use a database or text file. Please note that the app should not read the same sentence twice. and it has a previous/next button so i need to keep track of the previous quotes. please tell me which one is better and more optimized. Also, if you can please link me to a good tutorial about storing/reading the data.
thanks
Use a database. It’s faster and more flexible than a text file. One day you will extend the app and then you will be glad you used a database. I recommend to, when you boot up the app, just select all the rows using the in-built random functionality of your database. 1000 rows should not take too long. Then just iterate through the resulting ArrayList (or whatever you choose to use) of strings you end up with – the first quote you show will be element 0 from that list, the second element element 1 from that list, and so on. If you use this approach, you won’t need any other structure to keep track of used quotes – just use the iterator variable that you use for indexing the quote array.
fetchAllRowson this page seems to be what you want for getting the data.If you choose not to keep too much in memory, you could keep just a list of quote IDs that have been used so far. The last element of that list would be the current quote, and the previous elements would be what the user should see when they press the back button.