 <p>You need to <strong><em>persisting the song data to the device</em></strong>.</p> <p>The Android framework offers several options and strategies for persistence:</p> <ul> <li><strong>Shared Preferences</strong> - Easily save basic data as key-value pairs in a private persisted dictionary.</li> <li><strong>Local Files</strong> - Save arbitrary files to internal or external device storage.</li> <li><strong>SQLite Database</strong> - Persist data in tables within an application specific database.</li> <li><strong>ORM</strong> - Describe and persist model objects using a higher level query/update syntax.</li> </ul> <p><strong>Use Cases</strong></p> <p>Each storage option has typically associated use cases as follows:</p> <ul> <li><strong>Shared Preferences</strong> - Used for app preferences, keys, and session information.</li> <li><strong>Local Files</strong> - Often used for blob data or data file caches (i.e disk image cache)</li> <li><strong>SQLite Database</strong> - Used for complex local data manipulation or for raw speed</li> <li><strong>ORM</strong> - Used to store simple relational data locally to reduce SQL boilerplate</li> </ul> <p>Read more: <a href="https://guides.codepath.com/android/Persisting-Data-to-the-Device" rel="nofollow noreferrer">Persisting Data To Device</a>.</p> <p><br/></p> <p>You can use one of the options, but for your purpose, <strong>SQLite Database</strong> or <strong>ORM</strong> is the better options.</p> <p>You can visit <a href="https://guides.codepath.com/android/Local-Databases-with-SQLiteOpenHelper" rel="nofollow noreferrer">Local Databases with SQLiteOpenHelper</a> for SQLite Database.</p> <p>For ORM, you can try <a href="http://greenrobot.org/greendao/" rel="nofollow noreferrer">greenDAO</a>.</p>