kotlin-news-for-android
A simple Android app for browsing Kotlin news, meant to demonstrate architectural principles and
implement core functionality applicable to most apps.
Goal
Requirements
- Display news item titles and their associated thumbnails in the news feed.
- Display a news item's thumbnail and body on the individual item view, with its title in the
navigation bar.
- News item layouts should accommodate for images of different sizes, preserving their aspect
ratios, in the newsfeed and the individual item view.
- Layouts should work on different screen sizes.
- Network errors and missing data should be handled appropriately.
- Code should be clean and readable.
- Code should be unit tested.
Plan
- Implement networking with tools like Retrofit and OkHttp and request the news feed on app launch.
Create a Newsfeed model from the response.
- Create Fragments for each screen and use Android Jetpack's Navigation component to define paths
between them.
- Use ConstraintLayout and RecyclerView to implement the news feed view.
- Connect the RecyclerView to the news feed with an Adapter. Separate the logic from the view with
an architectural pattern like MVP or MVVM.
- Implement the individual news item view. Pass a NewsItem to it from the newsfeed view when one is
selected.