NewsFeedAggregator is a news aggregation app that fetches news articles from the NewsAPI service and presents them in a user-friendly interface. This app utilizes the Paging3 library to implement features such as infinite scrolling, caching, and offline support.
- Infinite Scrolling: The app supports infinite scrolling, allowing users to seamlessly load more news articles as they scroll through the list.
- Caching: The app utilizes a local database for caching news articles, ensuring a smooth user experience even in offline mode.
- Offline Support: Users can access previously loaded news articles even without an active internet connection, thanks to the caching mechanism.
- Customizable Sources: The app fetches news articles from the NewsAPI service, which provides a wide range of news sources. Users can customize the sources to display news from their preferred providers.
- Paging3: The Paging3 library is used to implement pagination and infinite scrolling for fetching news articles.
- Room: Room is utilized as a local database for caching news articles.
- Retrofit: Retrofit is used for making API requests to the NewsAPI service.
- Glide: Glide library is used for efficient image loading and caching.
To run the app locally, follow these steps:
-
Clone this repository to your local machine using the following command: git clone https://github.com/your-username/NewsFeedAggregator.git
-
Open the project in Android Studio.
-
Obtain an API key from NewsAPI by signing up for an account.
-
Add your API key in local.properties file in a variable
API_KEY
. -
Build and run the app on an emulator or physical device.
Contributions are welcome! If you encounter any issues or have suggestions for improvements, please open an issue on the GitHub repository. If you'd like to contribute code, you can open a pull request with your changes.
When contributing to this project, please ensure that your code adheres to the existing coding style and conventions. Also, make sure to test your changes thoroughly before submitting a pull request.
This project is licensed under the MIT License.
- NewsAPI: The NewsAPI service provides the data source for this app.
- Paging3: The Paging3 library is used to implement pagination and infinite scrolling.
- Room: Room is used as a local database for caching news articles.
- Retrofit: Retrofit library is used for making API requests to fetch news articles.
- Glide: Glide library is used for efficient image loading and caching.
For any inquiries or feedback, please contact [email protected].