Skip to content

csharathkumar/NewsSearch

Repository files navigation

New York Times Article Search

This Android application allows a user to find old articles using the New York Times Search API.

Time spent: 15 hours spent in total

Completed user stories:

  • Required: User can enter a search query that will display a grid of news articles using the thumbnail and headline from the New York Times Search API
  • Required: User can click on "filter" icon which allows selection of advanced search options to filter articles.
  • Required: User can configure advanced search filters such as: begin date, sort order and news desk values(categories)
  • Required: Subsequent searches will have any filters applied to the search results.
  • Required: User can tap on any article in results to view the contents in an embedded browser.
  • Required: User can scroll down "infinitely" to continue loading more news articles. The maximum number of articles is limited by the API search.

Completed advanced user stories:

  • Optional: Robust error handling, check if internet is available, handle error cases, network failures.
  • Optional: Use the ActionBar SearchView or custom layout as the query box instead of an EditText.
  • Optional: User can share a link to their friends or email it to themselves.
  • Optional: Replace Filter Settings Activity with a lightweight modal overlay.
  • Optional: Improve the user interface and experiment with image assets and/or styling and coloring.
  • Optional: Use the RecyclerView with the StaggeredGridLayoutManager to display improve the grid of image results.
  • Optional: For different news articles that only have text or have text with thumbnails, use Heterogenous Layouts with RecyclerView.
  • Optional: Apply the popular ButterKnife annotation library to reduce view boilerplate.
  • Optional: Use Parcelable instead of Serializable using the popular Parceler library.
  • Optional: Replace all icon drawables and other static image assets with vector drawables where appropriate.
  • Optional: Leverage the data binding support module to bind data into one or more activity layout templates.
  • Optional: Replace Picasso with Glide for more efficient image rendering.
  • Optional: Switch to using retrolambda expressions to cleanup event handling blocks.
  • Optional: Leverage the popular GSON library to streamline the parsing of JSON data.
  • Optional: Consume the New York Times API using the popular Retrofit networking library instead of Android Async HTTP.

Enhancements:

  • Optional: Included Chrome Custom tabs instead of Webview.

Video Walkthrough

Here's a walkthrough of implemented user stories:

Alt text Alt text

GIF created with LiceCap.

About

Codepath Bootcamp Assignment 2

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages