Skip to content

Instantly share code, notes, and snippets.

@Khoding
Last active February 28, 2020 14:00
Show Gist options
  • Save Khoding/e6f0056188b16c2f392cd4b7227a1164 to your computer and use it in GitHub Desktop.
Save Khoding/e6f0056188b16c2f392cd4b7227a1164 to your computer and use it in GitHub Desktop.
CIE 335 - 2

Java

Notes 28022020

Plan de la journée

  • Traces
  • Pile d’exécution
  • Debugger
Projet Recap 1
Voyage
Projet Recap théorie
Propositions de questions (5)
  • Pivotement du device
Lire un fichier
Recap 1bis
  • Pattern de navigation
Parent - enfant (Toolbar)
Recap 2
Parcelable
Passage d’objet
Quiz

Traces

  • Logcat

2020-02-28 07:54:15.881 6034-6034/ch-ceff-android.monquiz D/MainActivity: —> onCreate()

Date-heure ID_processus/application(package) niveau_de_sévérité/TAG: MESSAGE

Log.v (VERBOSE) --> Ne pas utiliser
Log.d (DEBUG) --> Affichage d’une variable, contrôle lecture fichier (Dev)
Log.i (INFO) --> Etape importante (Succès) (Prod)
Log.w (WARNING) --> Problème récurrent mais non bloquant (Perte temporaire connexion)
Log.e (ERROR) --> Problème bloquant (Ne pas l’utiliser)

TAG : Constante !

File > Settings > Couleur des logs

TODO

Raccourcis pour le TAG —> Live template
TAG: Dans les projets impoortants pas uniquement le nom de la classe (UI --> Interface, DATA --> Données, NETWORK --> Réseau, APP --> Contrôleur)

Pile de type LIFO (Last In First Out)

Quand le programme plante --> Run: Caused By:
Si l’erreur est incompréhensible : copier Cause By --> Google --> Stack overflow

Debugger
  • Breakpoint : point d’arrêt
  • Watchpoint : Surveillance d’une variable

Il est possible de debug depuis l’IDE (Insecte vert) depuis le lancement ou de crocher le debug à une application qui tourne

Démarrage : Mode portrait --> Rotation du périphérique --> Mode landscape

Lors de chaque basculement --> Destruction et redémarrage de l’activité en cours
Les View EditText, CheckBox, etc. conservent leur valeur --> OS
Tous les objets du code (Question, QuestionBank, etc.) --> Détruits

Pour conserver nos objets importants on peut réécrire la méthode onSaveInstanceState() car elle est appelée avant de détruire l’Activity

Fichier

Pour lire un fichier csv --> voir code lol (créer un dossier /raw dans res/ et y placer le csv)

Navigation

Comment le user va accéder à toutes les activités de votre application

Toolbar - Navigation parent enfant - Menu

Navigation simple : 2 activités sans trop de données.

Liste --> Liste / Détails

Onglets --> Swipe (Rafraîchissement) Fragments

Projet toolbar

  1. Modifier le style du AppTheme (res/values/styles.xml)
    parents="…NoActionBar">
  2. Ajouter un composant ToolBar au Layout
  3. Gérer la ToolBar par le code
  4. Récupérer des icones depuis material.io/resources/icons (android)
  5. Créer ime ressource menu
  6. Inclure la Toolbar dans les Activity
  7. Code java pour activer les Toolbar --> 3)
    • Navigation voir EnfantActivity.java

Dans le fichier AndroidManifest

<activity android:name=".EnfantActivity"  
  android:label="Enfant"  
  android:parentActivityName=".MainActivity">  
 <meta-data  
  android:name="android.support.PARENT_ACTIVITY"  
  android:value=".MainActivity"  
  />  
</activity>

Khodok's Logo

Written by Khodok
Khoding

Written with StackEdit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment