title: Android - Offline Data Architecture for Thousands of Data
body: <p>According to <strong>Yigit Boyar</strong> <a href="https://www.youtube.com/watch?v=70WqJxymPr8" rel="nofollow noreferrer">excellent talk</a> at Google IO 2016, the Mobile App should be usable whether <strong>online</strong> or <strong>offline</strong>. On top of that, the data should only come from <strong>disk</strong> (local storage) to display on screen.</p>
  
  <p>Currently I am implementing <strong>e-book store Android app</strong>. In my App, I would like to pull data from network about 10 books to show in the list (<code>RecyclerView</code>).
  With endless scrolling feature (like Facebook), the app will pull more data from the network when the user scrolls down to the end of the list.</p>
  
  <p>If I keep all the data in <strong>local storage</strong> (<code>sqlite database</code>), the database will be loaded with thousands of records of books eventually.</p>
  
  <p>Is it normal to store <strong>thousands of records</strong> in the <strong>local storage</strong> just only for <strong>offline support</strong>?</p>
  
  <p>So should I keep the data in Local Storage according to <strong>Yigit Boyar</strong>'s guidelines? Or is it enough to be based on <strong>Network cache</strong> (references by <a href="https://medium.com/@coreflodev/make-an-easy-offline-working-android-application-fdbf1d679710" rel="nofollow noreferrer">this article</a>)?</p>
  
  <p>Is there any other solutions that you would like to suggest for my scenario?</p>