/Assignment

A assignment project in which have all new coding structured follows

Primary LanguageKotlin

Assignment

A assignment project in which have all new coding structured follows

Building using Android Studio...

  1. Open Android Studio and launch the Android SDK manager from it (Tools | Android | SDK Manager)
  2. Ensure the following components are installed and updated to the latest version.
    1. Android SDK Platform-Tools
    2. Android Support Repository
    3. Google Repository

IMPORTANT Ensure you have set the ANDROID_HOME environment variable.

SDk location
sdk.dir=/home/ashutosh/Android/Sdk
./gradlew build

Steps for run Code

  1. Clone the https://github.com/Kumarashutosh97/Assignment
  2. Sync the gradle
  3. Connect the device/ Emulator
  4. Run the project Note - Please create a project on NY times for API_Key and use own key for run the application/

Architecture 🗼

This app uses MVVM (Model View View-Model) architecture.

Built With 🛠

  • Kotlin - First class and official programming language for Android development.
  • Coroutines - For asynchronous and more..
  • Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
    • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
  • Material Components for Android - Modular and customizable Material Design UI components for Android.
  • [NY times API] - API for fetching most popular data within 7 days.
  • [Kotlin delegate]- The Delegation pattern has proven to be a good alternative to implementation inheritance, and Kotlin supports it natively requiring zero boilerplate code.
  • [Data binding] -The Data Binding Library is a support library that allows you to bind UI components in your layouts to data sources in your app using a declarative format rather than programmatically.
  • [Dagger 2] -agger 2 is dependency injection framework. It is based on the Java Specification Request (JSR) 330. It uses code generation and is based on annotations.

Package Structure 📦

com.assigmnent.cleararchitecture # Root Package
├── data                         # Model class
├── DI                           # Dagger 2 packages.
|
├── ktx                          # Kotlin Delegat method for Data binding
|
|___network                      # Retrofit provides and service API
|
├── UI                           # Activity/Fragment View layer
│   ├── Adapter                  # Adapter class
│   ├── master                   # Master Activity
│   ├── ViewModel                # Add ViewModel
│   ├── Webview                  # Details Activity
├── utils                        # All Utils classes