ÉVALUATION EN PROGRAMMATION MOBILE TEST  11/ XX   
Examen Corrige en Programmation mobile 
Examen Corrige sujet android, examen programmation mobile.
	- 
	Quel composant Android est le plus couramment utilisé pour afficher un texte statique à l’écran ? 
		- A. EditText
- B. TextView 
- C. Button
- D. ImageView
 
- 
	Quel composant est utilisé pour permettre à l’utilisateur de saisir du texte ? 
		- A. TextView
- B. EditText 
- C. Spinner
- D. RadioButton
 
- 
	Lequel des composants suivants permet de déclencher une action lorsqu’on clique dessus ? 
		- A. LinearLayout
- B. TextView
- C. Button 
- D. CheckBox
 
- 
	Quel composant permet d’afficher une liste défilante d’éléments (par exemple des produits) ? 
		- A. RadioGroup
- B. ScrollView
- C. ListView
- D. RecyclerView 
 
- 
	Parmi les éléments suivants, lequel est un conteneur (ViewGroup) ? 
		- A. EditText
- B. ConstraintLayout 
- C. TextView
- D. ImageButton
 
Probleme :Android - ShoesMarket/15pts
 
 
Vous développez avec raphael une application Android de vente de chaussures appelée "ShoesMarket". L’application comporte un écran de connexion, une liste de produits, et un système de panier. 
Grace a ses connaissances il a démandé de l'aide a un étudiant du Groupe Génius qui a fournis le code suivant Code fourni :
// Stockage des identifiants utilisateur
SharedPreferences prefs = getSharedPreferences("UserPrefs", MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putString("username", "joel");
editor.putString("password", "genius237");
editor.apply();
// Vérification lors de la connexion
String savedUser = prefs.getString("username", null);
String savedPass = prefs.getString("password", null);
if (inputUser.equals(savedUser) && inputPass.equals(savedPass)) {
    Toast.makeText(getApplicationContext(), "Connexion réussie", Toast.LENGTH_SHORT).show();
    Intent intent = new Intent(MainActivity.this, ProductListActivity.class);
    intent.putExtra("username", savedUser);
    startActivity(intent);
} else {
    Toast.makeText(getApplicationContext(), "Identifiants incorrects", Toast.LENGTH_SHORT).show();
}
     
Questions :
	- Quelles sont les fonctionnalités qu’on réalise généralement dans OnCreate() ? 
- Quelles lignes du code permettent de sauvegarder localement les données utilisateur ?
- Quelle technologie Android est utilisée ici pour sauvegarder les données ? Pourquoi ce choix est-il pertinent ?
- Quel est le processus utilisé pour vérifier les identifiants de l’utilisateur dans ce code ?
- Que se passe-t-il si les identifiants sont incorrects ? Quel composant Android est utilisé pour afficher ce retour ?
- Si on ajoute finaldevant la déclaration deSharedPreferences prefs, quelle en est la conséquence ?
- Quel mécanisme est utilisé pour envoyer le nom d’utilisateur à la seconde activité ?
- Comment cette donnée est-elle récupérée dans ProductListActivity?
- Quel composant permet d’afficher la liste des produits dans la seconde activité ?
- Pourquoi RecyclerViewest-il plus adapté queListViewdans ce cas ?
- Quelle est la différence entre LinearLayoutetRelativeLayoutpour positionner des boutons ?
- À quoi sert la méthode setContentView()dans une activité Android ?
- Pourquoi utilise-t-on R.id.nomDuComposantdans les appels àfindViewById()?
- Comment pourrait-on mettre à jour dynamiquement un TextViewpour afficher le prix total d’un produit sélectionné ?
- Quelles méthodes du cycle de vie d’une activité sont appelées lorsqu’on passe de AuthActivityàProductListActivity?
- Que se passe-t-il si l'utilisateur appuie sur le bouton retour ? Quelle méthode du cycle de vie est alors relancée ?
- Quels sont les risques liés à l’utilisation de SharedPreferencespour stocker des informations sensibles comme un mot de passe ?
- Comment pourrait-on améliorer la sécurité des données enregistrées dans SharedPreferences?
- Quelle est la différence entre utiliser intent.putExtra(...)etintent.putExtras(Bundle)?
- Dans quel cas le Bundleest-il plus approprié qu’un simple extra ?
- Comment serait structurée la classe ProductAdapterutilisée avec leRecyclerView?
- Quelle est l’utilité d’une classe Productcontenant les attributs comme le nom et le prix ?
- Si vous deviez implémenter un ajout au panier à partir de la liste des produits, comment organiseriez-vous les données ?
- Quelle structure Java utiliseriez-vous pour stocker plusieurs produits ajoutés au panier ainsi que leurs quantités ?
- Comment mettrait-on à jour dynamiquement un TextViewaffichant le prix total à chaque ajout de produit dans le panier ?
- Dans le bloc de code if (user.equals(savedUser) && pass.equals(savedPass)), que se passe-t-il sisavedUserousavedPassestnull?
- Comment améliorer ce code pour éviter un crash potentiel dû à une NullPointerException?
- Comment pourrait-on adapter l'application pour qu’elle fonctionne aussi bien en anglais qu’en français avec des textes traduits automatiquement ?
- Comment intégrer des images de chaussures dans chaque élément affiché du RecyclerView?
- Quels types de fichiers ou bibliothèques Android recommandez-vous pour gérer les images dans une application Android (exemples : Glide, Picasso) ?
 
Contact WhatsApp : +237 652027193
Réaliser Par Joël_Yk