codepath/android-booksearch-exercise

Name: android-booksearch-exercise

Owner: CodePath

Description: Android app for searching books using the OpenLibrary api.

Created: 2015-02-07 00:21:13.0

Updated: 2018-05-08 08:55:12.0

Pushed: 2018-05-08 08:55:10.0

Homepage: null

Size: 542

Language: Java

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Book Search App

Android app that leverages the OpenLibrary API to search books and display cover images. This app is to be used as the base app for adding suggested extensions.

Imgur

Overview

The app does the following:

  1. Fetch the books from the OpenLibrary Search API in JSON format
  2. Deserialize the JSON data for each of the books into Book objects
  3. Build an array of Book objects and notify the adapter to display the new data.
  4. Define a view holder so the adapter can render each book model.

To achieve this, there are four different components in this app:

  1. BookClient - Responsible for executing the API requests and retrieving the JSON
  2. Book - Model object responsible for encapsulating the attributes for each individual book
  3. BookAdapter - Responsible for mapping each Book to a particular view layout
  4. BookListActivity - Responsible for fetching and deserializing the data and configuring the adapter
Usage

This app is intended to be the base project on top of which new features can be added. To use it, clone the project and import it using the following steps:

Imgur

Suggested Extensions
  1. Use SearchView to search for books with a title
  2. Show ProgressBar before each network request
  3. Add a detail view to display more information about the selected book from the list
  4. Use a share intent to recommend a book to friends
Libraries

This app leverages two third-party libraries:


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.