Coder Social home page Coder Social logo

photoalbum's Introduction

Photo Album

L'ensemble du projet m'a pris environ 10 heures, dont la plupart ont été consacrées à la réflexion. Selon les exigences du projet, deux interfaces RecyclerView sont nécessaires, une affiche tous les albums et leurs auteurs. Un autre montrant toutes les photos de cet album. J'ai choisi l'architecture MVVM que je connais mieux.

L'application n'a qu'une seule activité, qui utilise des fragments pour afficher l'interface utilisateur et la navigation pour opérer les sauts entre eux. Le ViewModel est utilisé pour conserver les données liées aux éléments de l'interface utilisateur afin de garantir que ces données ne sont pas perdues lors de la rotation de l'écran et est responsable de la communication avec les données. Le Repository est utilisé pour mettre en cache les données du réseau, afin que les utilisateurs puissent continuer à accéder aux données mises en cache lorsqu'ils n'ont plus le réseau, afin d'assurer l'expérience utilisateur autant que possible.

Photo Album application avec Dagger-Hilt, Coroutines, ViewBinding, Room, Retrofit et Picasso basé sur l'architecture MVVM.

L'application a les packages suivants:

  1. adatper : Il contient tous les adaptateurs.
  2. api: Il s'agit d'un service de Retrofit contenant l'interface de requête.
  3. di: Dépendance fournissant des classes avec Dagger-Hilt.
  4. model: les data models.
  5. repository: Il contient tous les repository pour pour la gestion des opérations de données.
  6. ui: Il contient tous les calsses de vue.
  7. viewmodels: Il contient tous les viewmodels.

Tech-stack

  • Coroutines - effectuer des opérations en arrière-plan
  • Retrofit - appel réseau
  • Navigation - navigation dans l'application
  • LiveData - informer les vues des modifications de la base de données
  • ViewModel - stocker et gérer les données liées à l'interface utilisateur d'une manière consciente du cycle de vie
  • Room - stocker le cache en cas non connecté
  • Picasso - Chargement d'images depuis le réseau

Modern Architecture

  • Clean Architecture
  • Single activity architecture using Navigation component
  • MVVM
  • Android Architecture components (ViewModel, LiveData, Navigation)
  • Android KTX - Jetpack Kotlin extensions

A faire:

  • Migrer de LiveData vers Flow
  • Gestion des erreurs réseau
  • Test unitaire

photoalbum's People

Contributors

dwzrlp avatar

Watchers

 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.