Skip to content

News App Project as a part of Android Basics Nanodegree at Udacity. Navigation Drawer | ViewPager plus TabLayout | Loaders | JSON Parsing | SharedPreferences

License

Notifications You must be signed in to change notification settings

sooshin/android-news-app

Repository files navigation

News App

Project as a part of Android Basics Nanodegree at Udacity

Project Overview

The goal is to create a News Feed app which gives a user regularly-updated news from the internet related to a particular topic, person, or location. In this project, use Guardian API. This is a well-maintained API which returns information in a JSON format.

API Key Note

You need to insert your API key. Go to a file named Constants.java and find the value of API_KEY. Replace "test" with "YOUR-API-KEY".

public static final String API_KEY = "YOUR-API-KEY";

Features

  • Navigation Drawer
  • Fragments
  • ViewPager plus TabLayout
  • Loaders
  • Intent
  • Guardian API
  • JSON Parsing
  • Glide
  • CardView
  • RecyclerView
  • SharedPreferences

Screenshots

screenshot_main screenshot_navi screenshot_swipe screenshot_settings screenshot_from_date screenshot_color_theme screenshot_sky_blue_medium screenshot_green_large

Image resources

Icon by Yannick Lung
Icon by Just Icon

MIT License

Copyright (c) 2018 Soojeong Shin

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

NewsFeed

I would like to share with you my first app published on the Google Play Store.

google-play-badge ic_launcher

I built the Guardian NewsFeed app from scratch. I made use of the design of my News app one of the Android Basics Nanodegree projects, which is on this GitHub, but the code is different from my News app. I added the podcast feature which allows you to stream the guardian podcasts for free.

The differences are as follows.

  • Use the Paging library to load news data gradually and gracefully, so that you do not need to adjust the Number of Items in the Settings
  • Search articles by keyword
  • Add Podcast section. You can listen to Guardian podcasts anywhere, anytime for free, add favorite episodes, download episodes for offline listening
  • Use Constraint layout which allows you to make complex layouts with a flat view hierarchy
  • Use Third-party libraries – Android Architecture Components, Android Data Binding, Retrofit, Gson, OkHttp, ExoPlayer, Glide, Glide Transformations, SimpleXmlConverter, Timber, Firebase Analytics, Crashlytics
  • Replace Toast message with SnackBar message
  • Minimum SDK is 16, Android 4.1 (JELLY_BEAN)
  • Add the launcher icon that I created

I’m happy that I was able to build something useful, and I want to thank you for your support. Please note that this app is not an open source app. If you have any issues, please feel free to contact me. Your comments and suggestions are important to me. I love your feedback. pinkbee.dev@gmail.com

If you like my app, you can download it on Google Play.

https://play.google.com/store/apps/details?id=com.soojeongshin.newsfeed.free

pod_1 pod_2 pod_3

About

News App Project as a part of Android Basics Nanodegree at Udacity. Navigation Drawer | ViewPager plus TabLayout | Loaders | JSON Parsing | SharedPreferences

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages