Best_2048_Android_9-13/gradle/libs.versions.toml
Muyue be983a1107 feat: Intégration WebSocket pour l'interaction multijoueur
Remplace le polling REST inefficace et les tentatives d'envoi de mouvements via REST par une communication WebSocket complète dans MultiplayerActivity.

Modifications clés :
- Ajout de la dépendance OkHttp pour le support WebSocket (action manuelle).
- Utilisation de OkHttp pour établir et gérer la connexion WebSocket (, ).
- Implémentation d'un  () pour gérer les événements :
    - Envoi du message 'register' à l'ouverture ().
    - Réception et traitement des messages 'gameStateUpdate', 'error', 'info' ().
    - Gestion de la fermeture et des erreurs (, , ).
- Mise à jour de l'interface utilisateur (, ) en temps réel basée sur les messages  reçus (en utilisant ).
- Modification de  pour créer et envoyer les messages 'move' via WebSocket ().
- Suppression complète du mécanisme de polling basé sur .
- Gestion du cycle de vie de la connexion WebSocket dans , , .
- Ajout de classes de données internes pour parser/créer les messages WebSocket JSON (, , , etc.).
2025-04-05 11:16:48 +02:00

37 lines
1.8 KiB
TOML

[versions]
activityVersion = "26"
agp = "8.9.1"
androidxActivity = "1.9.0"
gson = "2.10.1"
junit = "4.13.2"
junitVersion = "1.1.5"
espressoCore = "3.5.1"
appcompat = "1.6.1"
loggingInterceptor = "4.9.3"
material = "1.10.0"
activity = "1.8.0"
constraintlayout = "2.1.4"
gridlayout = "1.0.0"
retrofit = "2.9.0"
[libraries]
activity-v190 = { module = "androidx.activity:activity", version.ref = "androidxActivity" }
activity-v26 = { module = "androidx.activity:activity", version.ref = "activityVersion" }
converter-gson = { module = "com.squareup.retrofit2:converter-gson", version.ref = "retrofit" }
gson = { module = "com.google.code.gson:gson", version.ref = "gson" }
junit = { group = "junit", name = "junit", version.ref = "junit" }
ext-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" }
espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" }
appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
logging-interceptor = { module = "com.squareup.okhttp3:logging-interceptor", version.ref = "loggingInterceptor" }
material = { group = "com.google.android.material", name = "material", version.ref = "material" }
activity = { group = "androidx.activity", name = "activity", version.ref = "activity" }
constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" }
gridlayout = { group = "androidx.gridlayout", name = "gridlayout", version.ref = "gridlayout" }
okhttp = { module = "com.squareup.okhttp3:okhttp", version.ref = "loggingInterceptor" }
retrofit = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit" }
[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }