Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
CyrilFind committed Dec 16, 2024
1 parent 1fcbe6b commit 9f87fec
Show file tree
Hide file tree
Showing 7 changed files with 26 additions and 13 deletions.
Binary file added assets/layers.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions slides/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,5 @@

{% endif %}
{% endfor %}

[→ TPs](codelabs/)
7 changes: 7 additions & 0 deletions src/10 - architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ Model View Intent

💡 Ceci s'adapte encore plus directement avec Jetpack Compose

## Layers

![bg right:60% 95%](../assets/layers.png)

## Dependency Rule

![bg right:60% 95%](../assets/dependency.png)
Expand Down Expand Up @@ -61,4 +65,7 @@ Analogie: Cuisine

## Compose

- Similaire: MVVM / MVI
- Inspirations de React ?

<https://developer.android.com/jetpack/compose/architecture>
16 changes: 12 additions & 4 deletions tp/TP1.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,7 @@ Vous allez créer un unique projet que vous mettrez à jour au fur à mesure des

- Créer un nouveau projet avec une `Empty VIEWS Activity` (⚠️ pas `Empty Activity` SVP ⚠️)
- Donnez lui un nom personnalisé comme `TodoNicolasAlexandre` (⚠️ pas `TP1` SVP ⚠️)
- Choisissez un package name unique de ce genre: `com.nicoalex.todo`
- Language: `Kotlin`
- Choisissez un package name unique de ce genre: `com.nicoalex.todo` (ce sera la racine de tous vos packages et sert d'identifiant unique d'application)
- Minimum API Level: laissez la valeur proposée par défaut
- Initialisez un projet git et faites un commit initial

Expand Down Expand Up @@ -55,6 +54,13 @@ Mais il peut parfois être pratique de passer en "Project Files" par ex pour voi

</aside>

Parcourez les différents fichiers de config, notamment les plus importants:

- `app/build.gradle.kts`: contient la configuration de module principal (`app`), notamment les versions compatibles, son propre numéro de version, etc et surtout les différentes dépendances.
- `./build.gradle.kts`: contient moins de choses, en général des plugins, mais concerne tout le projet
- `libs.versions.toml`: un catalogue de dépendances, de plugins et de versions, qui est utilisé par les fichiers précédents. Vérifiez que vous utilisez les dernières versions disponible, surtout pour `kotlin`.
- `app/src/main/AndroidManifest.xml`: contient les info de packaging de l'app comme les activités existantes, le nom de l'app, l'icône, etc.

<aside class="negative">

Les packages surlignés en vert contiennent le code de test uniquement: ne vous en occupez pas pour l'instant
Expand All @@ -72,14 +78,16 @@ Vous y mettrez tous les fichiers source (Kotlin) concernant la liste de tâches
- Créez dans votre nouveau package un fichier kotlin `TaskListFragment.kt` qui contiendra la classe `TaskListFragment`:

```kotlin
class TaskListFragment : Fragment() {}
class TaskListFragment : Fragment() {
//...
}
```

- Créer le layout associé `fragment_task_list.xml` dans `res/layout`

<aside class="positive">

vous pouvez aussi utiliser Android Studio pour créer les 2 fichiers à la fois: `Clic droit sur le package > New > Fragment > Fragment (Blank)`
vous pouvez aussi utiliser Android Studio pour créer les 2 fichiers à la fois: `Clic droit sur le package > New > Fragment > Fragment (Blank)`, mais la classe sera remplie de plein de code inutile -> supprimez-le

</aside>

Expand Down
8 changes: 2 additions & 6 deletions tp/TP2.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,18 +56,14 @@ Cet écran étant assez simple, on va en profiter pour s'initer à Jetpack Compo

<aside class="positive">

Afin de naviguer vers notre nouvelle Activity, nous allons utiliser un [Intent explicite](https://developer.android.com/guide/components/intents-filters#Types):

```kotlin
val intent = Intent(context, DetailActivity::class.java)
```
Afin de naviguer vers notre nouvelle Activity, nous allons utiliser un [Intent explicite](https://developer.android.com/guide/components/intents-filters#Types)

</aside>

- Faire en sorte de lancer la nouvelle Activity depuis le bouton + de la première activity

```kotlin
startActivity(intent)
startActivity(Intent(context, ...))
```

- Renommez `Greeting` en `Detail` et `GreetingPreview` en `DetailPreview` et supprimez l'argument `name`
Expand Down
2 changes: 2 additions & 0 deletions tp/TP4.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

## Coil

**Prérequis**: Terminez totalement le TP précédent

<aside class="positive">

La lib `Coil` permet d'afficher des images depuis une URL de façon efficace en gérant la taille, le cache, etc... (`Picasso` et `Glide` sont également souvent utilisées et assez similaires)
Expand Down
4 changes: 1 addition & 3 deletions tp/index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
# TP

⚠️ Selon les classes et le temps disponible nous ne feront pas forcément tout ça:

{% for file in site.static_files %}
{% if file.path contains 'tp/' and file.name contains '.md' %}

Expand All @@ -10,4 +8,4 @@
{% endif %}
{% endfor %}

Aussi dispo au format [Codelab](../codelabs/)
[→ Slides](slides/)

0 comments on commit 9f87fec

Please sign in to comment.