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 image in results to see the full text of article full-screen
- 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:
- Implements robust error handling, check if internet is available, handle error cases, network failures
- Used the ActionBar SearchView or custom layout as the query box instead of an EditText
- User can share an article link to their friends or email it to themselves
- Replaced Filter Settings Activity with a lightweight modal overlay
- Improved the user interface and experiment with image assets and/or styling and coloring
The following bonus features are implemented:
- Use the RecyclerView with the
StaggeredGridLayoutManager
to display improve the grid of image results - For different news articles that only have text or only have images, use Heterogenous Layouts with RecyclerView
- Apply the popular Butterknife annotation library to reduce view boilerplate.
- Leverage the popular GSON library to streamline the parsing of JSON data.