Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sandesh300/news-app

Android News Application
https://github.com/sandesh300/news-app

android-studio java mvvm-architecture news-api retrofit2

Last synced: about 2 months ago
JSON representation

Android News Application

Awesome Lists containing this project

README

        

# News-App
## Introduction -
This project is an Android News Application developed using Java and Android Studio. It leverages the Retrofit2 library for making network requests to the News API. The application follows the MVVM (Model-View-ViewModel) architecture pattern, providing users with a modern and intuitive interface for accessing the latest news articles from various sources.

## Technologies -
### - Java:
Primary programming language for Android application development.
### Retrofit2:
HTTP client for making network requests to the News API and handling API responses.
### Android Studio:
Integrated Development Environment (IDE) for building Android applications.
### MVVM Architecture:
Separation of concerns between the UI (View), business logic (ViewModel), and data (Model) layers.
### News API:
External API providing access to news articles from various sources and categories.

## Features -
- Browse News: Users can browse the latest news articles from different sources and categories.
- Search Functionality: Enables users to search for specific news articles by keywords.
- Offline Reading: Articles can be cached for offline reading, allowing users to access content even without an internet connection.
- Bookmarking: Users can bookmark their favorite articles for easy access later.
- Sharing: Allows users to share interesting articles with friends via social media or other messaging platforms.

## Architecture -
The application follows the MVVM (Model-View-ViewModel) architecture pattern:

### - Model:
Represents the data layer of the application. It includes data models and repositories responsible for fetching data from the News API.
### - View:
Defines the user interface components of the application. Activities, fragments, and XML layout files are used to create the UI elements.
### - ViewModel:
Acts as an intermediary between the View and the Model. It retrieves data from the Model and prepares it for presentation in the View. LiveData and MutableLiveData are used for observing and updating UI
components.

## Modules -
The key modules of the application include:

### Network Module:-
Handles network requests to the News API using Retrofit2.
### UI Module:-
Defines the user interface components and layouts for displaying news articles.
### Data Module:
Manages data retrieval from the News API and caching for offline reading.
### ViewModel Module:
Implements the ViewModel classes responsible for preparing data for presentation in the UI.

## Images-