/NYT

Primary LanguageJavaMIT LicenseMIT

Homework 2 - The New York Times

NYT is an android app that allows a user to search for articles on web using simple filters. The app utilizes New York Times Search API.

Time spent: 12 hours spent in total

User Stories

The following required functionality is completed:

  • User can search for news article by specifying a query and launching a search. Search displays a grid of image results from the New York Times Search API.
  • User can click on "settings" which allows selection of advanced search options to filter results
  • User can configure advanced search filters such as:
  • Begin Date (using a date picker)
  • News desk values (Arts, Fashion & Style, Sports)
  • Sort order (oldest or newest)
  • Subsequent searches have any filters applied to the search results
  • User can tap on any article in results to view the contents in an embedded browser.
  • User can scroll down to see more articles. The maximum number of articles is limited by the API search.

The following optional features are implemented:

  • Used the ActionBar SearchView or custom layout as the query box instead of an EditText

The following bonus features are implemented:

  • Use the RecyclerView with the StaggeredGridLayoutManager to display improve the grid of image results
  • Leverages the popular GSON library to streamline the parsing of JSON data.
  • Replace the embedded WebView with Chrome Custom Tabs using a custom action button for sharing. (2 points)

Video Walkthrough

Here's a walkthrough of implemented user stories:

loading the initial articles, and open it in webview

img

Search

img

Pagination

img

Advanced Filter

img

Notes

Describe any challenges encountered while building the app.

Open-source libraries used

  • Android Async HTTP - Simple asynchronous HTTP requests with JSON parsing
  • Picasso - Image loading and caching library for Android