Avant le premier cours, vérifiez que votre poste de travail est opérationnel:

Prenez en main l'IDE: vous pouvez aller dans les paramètres (File > Settings ou Android Studio > Preferences) et personnalisez l'IDE, je vous conseille notamment ceci:

🚀 Aidez vous de l'IDE: Android Studio fait beaucoup de travail pour vous donc utilisez l'autocompletion et les raccourcis:

val text: String = "hello"

val user: User? = null

class MutableList<T> : List<T> {
  // ...
  val count: String
  override fun add(element: E): Boolean
 }

Dans cet exemple:

Voir aussi d'autres notions de Programmation Orientée Objet: cours

Pour prendre en main les bases du langage, avec qq indices:

  // on peut "chaîner" les appels nullable avec `?.`:
  val email = client?.personalInfo?.email
 // pour "interpoler" une variable dans une string on utilise '$'
 fun getPattern(): String = """<pattern qui match 2 digits> $month <pattern qui match 4 digits>"""
val isEven = number % 2 == 0 // check division par 2
val lambdaWithExplicitParam = { explicitParam -> explicitParam == 42 }
val lambdaWithImplicitParam = { it == 42 }
data class Person(
  val ...
  val ...
)

Codelab: Jetpack Compose Basics

Pour continuer voir les autres codelabs Google

Pendant les prochains TP, vous allez créer un projet en binôme que vous compléterez au fil des TPs.

On prends comme base une simple Todo app, mais vous choisirez ensuite un autre sujet que l'on intégrera dans le même projet pour simplifier le rendu. L'objectif est d'utiliser les briques de base suivantes:

Et selon le sujet choisi, vous pourrez aussi implémenter:

Quelques idées d'applications:

Si vous avex un mac et/ou un iPhone (ou juste si ça vous intéresse) on fera du Kotlin Mutliplatform afin de pouvoir lancer votre app également sur iOS !

Exemples d'années précédentes:

Exemples d'API gratuites:

Moins permissives (pas de POST par ex):

Ne perdez pas de temps et passez au TP1 !