Skip to content

conqtc/CVox

Repository files navigation

CVox

Meet CVox, a client mobile app for classic audio book website Librivox (https://librivox.org/) running on Oreo (API 26).

User Interface

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

Networking Handling and Concurrent Programming

  • 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

Asynchronous list image loading

  • Asynchronously download and load bitmap to ImageView by matching "tag"
  • Cancel previous download task for new re-use view (view holder pattern)

Media Streaming

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/).

Media Notification

Implement Notification Channel for Oreo compatibility

Data Parsing (XML and JSON)

CVox uses AsynTask to parse:

  • XML (using XmlPullParser)
  • JSON (using JsonReader)

Screenshots

Main

Main

Podcast

Podcast

Blog

Blog

Comment

Comment

Book detail

Book detail

Book detail (landscape)

Book detail (landscape)

Buffering

Buffering

Playing (lanscape)

Playing

Playing

Playing

Search

Search

About

An Android audio book app for Librivox

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages