É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
final
devant la déclaration de SharedPreferences 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
RecyclerView
est-il plus adapté que ListView
dans ce cas ?
- Quelle est la différence entre
LinearLayout
et RelativeLayout
pour positionner des boutons ?
- À quoi sert la méthode
setContentView()
dans une activité Android ?
- Pourquoi utilise-t-on
R.id.nomDuComposant
dans les appels à findViewById()
?
- Comment pourrait-on mettre à jour dynamiquement un
TextView
pour 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
SharedPreferences
pour 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(...)
et intent.putExtras(Bundle)
?
- Dans quel cas le
Bundle
est-il plus approprié qu’un simple extra ?
- Comment serait structurée la classe
ProductAdapter
utilisée avec le RecyclerView
?
- Quelle est l’utilité d’une classe
Product
contenant 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
TextView
affichant 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 si savedUser
ou savedPass
est null
?
- 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