Meet CVox, a client mobile app for classic audio book website Librivox (https://librivox.org/) running on Oreo (API 26).
This app targets from Android Marshmallow (API 23) to Oreo (API 26) and applies some Material Design guidelines.
- SearchView using configuration in manifest files which define “android.app.default_searchable” and “android.app.searchable” tag
- Alert-themed activities
- Animation for activity display and image loading
- Retrieve the list of new audio book from archive.org (RSS)
- Retrieve the list of new podcast from librivox.org (RSS)
- Retrieve the list of new blog feeds from librivox (RSS)
- Lookup book’s details and list of tracks information based on book’ id (JSON)
- Increase async task priority by executing in executor thread pool
- Asynchronously download and load bitmap to ImageView by matching "tag"
- Cancel previous download task for new re-use view (view holder pattern)
Implement a media service to stream audio tracks (based on https://www.sitepoint.com/a-step-by-step-guide-to-building-an-android-audio-player-app/).
Implement Notification Channel for Oreo compatibility
CVox uses AsynTask to parse:
- XML (using XmlPullParser)
- JSON (using JsonReader)
Screenshots