Giter Site home page Giter Site logo

slayred / kotlin-mvvm-rxjava-dagger-retrofit Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sepidevatankhah/kotlin-mvvm-rxjava-dagger-retrofit

0.0 0.0 0.0 367 KB

Kotlin Photo list sample with MVVM(Google Component Architecture), Rxjava, Dagger2, Navigation and Paging Infinite Scrolling

Kotlin 100.00%

kotlin-mvvm-rxjava-dagger-retrofit's Introduction

Kotlin - MVVM - Rxjava - Dagger - Paging Infinite Scrolling

A Photo list sample that retrieves pictures from Pixabay site

  • The application supports both portrait and landscape mode 
  • The user is able to search for images entering a search term with at least 3  characters 
  • When the app starts it triggers a search for the string "flowers"
  • When an item in the result list gets clicked, a new detail screen will be opened

What is used in project?

  1. Kotlin
  2. Clean Architecture: An app using layered architecture based on Clean Architecture by Uncle Bob.
  3. Retrofit: To retrieve data from the network
  4. Architecture components and using MVVM: LiveData and ViewModel
  5. Paging library: Using PagedList to fetch more data from network.
  6. Navigation component: At last it's settled, single activity is what's Google recommend now. Navigation editor makes things easy for us to design navigation path of our app.
  7. Dagger 2: Using Dependency injection to manage the dependencies in an optimal way.
  8. Glide: To view images from the network

Library reference resources:

  1. Dagger2: GitHub - google/dagger: A fast dependency injector for Android and Java.
  2. Retrofit: GitHub - square/retrofit: Type-safe HTTP client for Android and Java by Square, Inc.
  3. RxJava2: GitHub - ReactiveX/RxJava: RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.
  4. Constraint-Layout: Build a Responsive UI with ConstraintLayout | Android Developers
  5. Glide: An image loading and caching library for Android focused on smooth scrolling

kotlin-mvvm-rxjava-dagger-retrofit's People

Contributors

sepidevatankhah avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.