Besoin d'aide pour la compréhension d'une application

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par Tinoob, 1 Août 2021.

  1. Tinoob
    Tinoob Nouveau WRInaute
    Inscrit:
    1 Août 2021
    Messages:
    1
    J'aime reçus:
    0
    Bonjour,

    Je suis débutant et j’ai un exercice à réaliser mais je ne comprends pas comment m’y prendre pour le réaliser et j’aurais besoin d’aide pour m’aiguiller.

    Voici les différents codes sur lesquels je dois travailler :
    Code:
    package com.openclassrooms.magicgithub.api;
    
    import com.openclassrooms.magicgithub.model.User;
    import java.util.List;
    import static com.openclassrooms.magicgithub.api.FakeApiServiceGenerator.generateUsers;
    
    public class FakeApiService implements ApiService {
    
        private final List<User> users = generateUsers();
    
        /**
         * Return a list of {@link User}
         * Those users must be generated by {@link FakeApiServiceGenerator}
         */
        @Override
        public List<User> getUsers() {
            // TODO: A modifier
            return null;
        }
    
        /**
         * Generate a random {@link User} and add it {@link FakeApiService#users} list.
         * This user must be get from the {@link FakeApiServiceGenerator#FAKE_USERS_RANDOM} list.
         */
        @Override
        public void generateRandomUser() {
            // TODO: A modifier
          
        }
    
        /**
         * Delete a {@link User} from the {@link FakeApiService#users} list.
         */
        @Override
        public void deleteUser(User user) {
            // TODO: A modifier
          
        }
    }
    
    package com.openclassrooms.magicgithub.repository;
    
    import com.openclassrooms.magicgithub.api.ApiService;
    import com.openclassrooms.magicgithub.model.User;
    
    import java.util.List;
    
    public class UserRepository {
    
        private final ApiService apiService; // TODO: A utiliser
        private Object User;
    
        public UserRepository(ApiService apiService) {
            this.apiService = apiService;
        }
    
        public List<User> getUsers() {
            // TODO: A modifier
            return null;
    
        }
    
        public void generateRandomUser() {
            // TODO: A modifier
          
        }
    
        public void deleteUser(User user) {
            // TODO: A modifier
          
        }
    }
    
    package com.openclassrooms.magicgithub.model;
    
    import java.util.Objects;
    import java.util.Random;
    import androidx.annotation.Nullable;
    import static com.openclassrooms.magicgithub.api.FakeApiServiceGenerator.FAKE_USERS_RANDOM;
    
    public class User {
    
        private final String id;
        private final String login;
        private final String avatarUrl;
    
        public User(String id, String login, String avatarUrl) {
            this.id = id;
            this.login = login;
            this.avatarUrl = avatarUrl;
        }
    
        // --- GETTERS ---
        public String getId() { return id; }
        public String getLogin() { return login; }
        public String getAvatarUrl() { return avatarUrl; }
    
        /**
         * Generate random user
         */
        public static User random(){
            return FAKE_USERS_RANDOM.get(new Random().nextInt(FAKE_USERS_RANDOM.size()));
        }
    
        @Override
        public boolean equals(@Nullable Object obj) {
            if (obj == null) return false;
            if (obj == this) return true;
            if (!(obj instanceof User)) return false;
            return (((User) obj).avatarUrl == this.avatarUrl && ((User) obj).login == this.login);
        }
    
        @Override
        public int hashCode() {
            return Objects.hash(login, avatarUrl);
        }
    }
    
    package com.openclassrooms.magicgithub.api;
    
    import com.openclassrooms.magicgithub.model.User;
    
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;
    import java.util.UUID;
    
    public abstract class FakeApiServiceGenerator {
    
    
        static List<User> generateUsers() {
            return new ArrayList<>(FAKE_USERS);
        }
    
        public static List<User> FAKE_USERS = Arrays.asList(
                new User("001", "Jake", "https://api.adorable.io/AVATARS/512/1.png"),
                new User("002", "Paul", "https://api.adorable.io/AVATARS/512/2.png"),
                new User("003", "Phil", "https://api.adorable.io/AVATARS/512/3.png"),
                new User("004", "Guillaume", "https://api.adorable.io/AVATARS/512/4.png"),
                new User("005", "Francis", "https://api.adorable.io/AVATARS/512/5.png"),
                new User("006", "George", "https://api.adorable.io/AVATARS/512/6.png"),
                new User("007", "Louis", "https://api.adorable.io/AVATARS/512/7.png"),
                new User("008", "Mateo", "https://api.adorable.io/AVATARS/512/8.png"),
                new User("009", "April", "https://api.adorable.io/AVATARS/512/9.png"),
                new User("010", "Louise", "https://api.adorable.io/AVATARS/512/10.png"),
                new User("011", "Elodie", "https://api.adorable.io/AVATARS/512/11.png"),
                new User("012", "Helene", "https://api.adorable.io/AVATARS/512/12.png"),
                new User("013", "Fanny", "https://api.adorable.io/AVATARS/512/13.png"),
                new User("014", "Laura", "https://api.adorable.io/AVATARS/512/14.png"),
                new User("015", "Gertrude", "https://api.adorable.io/AVATARS/512/15.png"),
                new User("016", "Chloé", "https://api.adorable.io/AVATARS/512/16.png"),
                new User("017", "April", "https://api.adorable.io/AVATARS/512/17.png"),
                new User("018", "Marie", "https://api.adorable.io/AVATARS/512/18.png"),
                new User("019", "Henri", "https://api.adorable.io/AVATARS/512/19.png"),
                new User("020", "Rémi", "https://api.adorable.io/AVATARS/512/20.png")
        );
    
        public static List<User> FAKE_USERS_RANDOM = Arrays.asList(
                new User("021", "Lea", "https://api.adorable.io/AVATARS/512/21.png"),
                new User("022", "Geoffrey", "https://api.adorable.io/AVATARS/512/22.png"),
                new User("023", "Simon", "https://api.adorable.io/AVATARS/512/23.png"),
                new User("024", "André", "https://api.adorable.io/AVATARS/512/24.png"),
                new User("025", "Leopold", "https://api.adorable.io/AVATARS/512/25.png")
        );
    }
    
    package com.openclassrooms.magicgithub.api;
    
    import com.openclassrooms.magicgithub.model.User;
    import java.util.List;
    import androidx.annotation.Nullable;
    
    public interface ApiService {
        List<User> getUsers();
        void generateRandomUser();
        void deleteUser(User username);
    }
    Dans le premier code j’ai 3 fonctions a modifier La première fonction doit retourner la liste d’utilisateur donc je suppose qu’il faut utiliser la variable users en faisant return users La deuxième fonction dois générer un utilisateur aléatoirement, j’utilise à nouveau la variable users en faisant users.add(User.random()), j’utilise la fonction random() de la classe User pour générer un utilisateur aléatoire et j’utilise la fonction add() pour ajouter l’utilisateur à la liste dans users Pour la troisième fonction je suppose que ç’est users.remove(user) mais je ne comprends pas le lien entre deleteUser(User user) de la classe FakeApiService avec la classe User et l’interface ApiService où la fonction est deleteUser(User username)

    Dans le deuxième code je comprends que je dois utiliser la variable apiService mais je ne comprends pas quoi faire.

    Et je ne comprends pas que fais ce bout de code, même si je sais que c’est un constructeur.

    public UserRepository(ApiService apiService) {
    this.apiService = apiService;
    }

    Merci d’avance pour votre aide
     
Chargement...
Similar Threads - Besoin aide compréhension Forum Date
Besoin d'aide pour le lancement de mon Application Demandes d'avis et de conseils sur vos sites 12 Août 2021
Besoin d'aide SEO pour mon site Débuter en référencement 13 Mai 2021
Besoin d'aide pour soucis avec le certbot chez OVH - VPS URL Rewriting et .htaccess 6 Avril 2021
Récapitulatif Besoin d'avis et d'aide pour mon site web. Débuter en référencement 1 Novembre 2020
WordPress Besoin d’aide sur plugin Formidable Pro, Développement d'un site Web ou d'une appli mobile 8 Septembre 2020
Besoin d'aide pour comprendre mon Analyse Dareboost Débuter en référencement 24 Août 2019
Besoin d'aide pour configurer mon htaccess URL Rewriting et .htaccess 24 Octobre 2018
Besoin d'aide concernant modification sur mon blog dans la barre URL. Développement d'un site Web ou d'une appli mobile 25 Juillet 2018
AJAX BESOIN D'AIDE Développement d'un site Web ou d'une appli mobile 2 Juin 2018
Besoin d'aide pour le référencement Débuter en référencement 25 Mai 2018