This Flutter project demonstrates the basic concepts of making HTTP requests, implementing an endless scroll ListView, navigating between screens with parameter passing, implementing dark and light themes with system-aware theme changes, and writing unit tests including mocking Image.Network requests. Additionally, it showcases native integration using the home_widget
library, establishing communication between Flutter and native platforms with a third-party library on the native side.
The project showcases how to make HTTP requests using Flutter's built-in libraries.
Demonstrates the implementation of an endless scroll ListView, allowing seamless scrolling through a large dataset without loading all items at once.
This project demonstrates how to integrate native Android functionality into a Flutter app. It includes an example of using the home_widget
library in Android projects and demonstrates how to display an image URL in a widget using the Glide library in Android Kotlin.
Illustrates how to navigate between different screens in Flutter and pass parameters between them. This is useful for passing data from one screen to another.
Shows how to implement both dark and light themes in a Flutter app. Additionally, it demonstrates how the app can automatically switch between light and dark themes based on the system settings.
Includes unit tests covering various aspects of the application's functionality. Specifically, it demonstrates how to mock Image.Network requests in unit tests to ensure reliable testing even with network-dependent widgets.
Follow these steps to get started with the project:
- Clone this repository to your local machine.
git clone https://github.com/ahmetfarukekinci/Flutter-HTTP-Request-and-Testable-ListView-Example.git
- Navigate to the project directory.
cd Flutter-HTTP-Request-and-Testable-ListView-Example
- Navigate to the project directory.
flutter pub get
- Run the app.
Contributions are welcome! Please feel free to submit a pull request or open an issue if you encounter any problems or have suggestions for improvements.