Pour s'assurer de la maîtrise des concepts fondamentaux du développement d'applications Android, vous développerez une preuve de concept qui vous servira de référence pour le reste de la session.
jhoffman@cshawi.ca
Créer les écrans suivants en respectant la structure de projet vue en classe.
Librairies suggérées
npx expo install react-native-radio-buttons-group
import { View } from 'react-native';
import RadioGroup from 'react-native-radio-buttons-group';
export default function App() {
const options = [
{
id: '1',
label: 'One',
value: '1'
},
{
id: '2',
label: 'Two',
value: '2'
}
];
return (
<View>
<RadioGroup radioButtons={ options } />
</View>
);
}
npx expo install @react-native-picker/picker
import { View } from 'react-native';
import { Picker } from '@react-native-picker/picker';
export default function App() {
return (
<View>
<Picker >
<Picker.Item label="One" value="1" />
<Picker.Item label="Two" value="2" />
</Picker>
</View>
);
}
À partir des écrans créé précédemment, ajouter la navigation en respectant le storyboard ci-dessous.
Pour nous permettre de continuer le développement, nous créons un écran provisoire pour afficher la liste des recettes. À court-terme, cet écran est responsable de stocker la liste des recettes et d'offrir des interactions de base.
JSON.stringify(...)
Permet d'ajouter une nouvelle recette ou de consulter une recette existante reçue en paramètre de navigation.
Structure d'une recette
{
category: Int,
name: String,
durationHours: Int,
durationMinutes: Int,
description: String
}
Ajouter l'affichage des recettes en utilisant un mécanisme de liste optimal en considérant les aspects suivants:
XhY
Penser également à créer manuellement des recettes de départ, seeds, pour tester votre affichage.
Implémenter les fonctionnalités d'authentification et CRUDL des recettes via l'API HTTP Martha à partir des fichiers fournis précédemment.
Nom: ____________________________________
Interface utilisateur 11 sept. 8h30 | |
Login | 0 |
Signup | 0 |
Recipe | 0 |
Structure du projet, Partage via Bitbucket | 0 |
Interactivité 25 sept. 8h30 | |
Navigation Login/Sign Up | 0 |
Navigation Log Out, back bloqué | 0 |
Navigation Liste/Ajout/Consultation | 0 |
UI/UX cohérent | 0 |
Liste brute des recettes, mise à jour | 0 |
Ouverture du détail d'une recette aléatoire, données cohérentes | 0 |
Interactions en ajout, validations | 0 |
Mise à jour du code sur Bitbucket, commits fréquents | 0 |
Liste 2 oct. 8h30 | |
Mécanisme optimal | 0 |
Liste vide | 0 |
Item: icône, durée formatée, nom, description | 0 |
Séparateur | 0 |
Item clic, rétroaction, navigue vers le détail correspondant | 0 |
Ajout, mise à jour de la liste, trié par nom ascendant | 0 |
Seeds pertinents | 0 |
UI/UX cohérent | 0 |
Mise à jour du code sur Bitbucket, commits fréquents | 0 |
Régression | 0 |
HTTP 16 oct. 8h30 | |
(Authentification via Martha) | 0 |
C R U D L des recettes via Martha | 0 |
Gestion des erreurs | 0 |
Implémentation judicieuse des services et models | 0 |
UI/UX cohérent | 0 |
Mise à jour du code sur Bitbucket, commits fréquents | 0 |
Refactoring 3 novembre 15h00 | 0 |