Mohamed Lokbani

IFT155

03-02-2025 Android Studio Ladybug Feature Drop | 2024.2.2
29-01-2024 Android Studio Hedgehog | 2023.1.1 Patch 2
25-01-2023 Android Studio Electric Eel | 2022.1.1
04-02-2022 Android Studio Bumblebee | 2021.1.1
29-01-2019 Android Studio 3.3
02-02-2018 Android Studio 3.0.1

================

Chapitre 05

2. Thread et Android

================

Cliquer sur le bouton "Cliquez pour changer le texte". Aprs quelques secondes, l'application va planter.

Examiner le contenu de la fentre "logcat":

2025-02-03 22:35:34.561  5394-5447  AndroidRuntime          ca....eal.iro.ift1155.basicthread02  E  FATAL EXCEPTION: Thread-2 (Ask Gemini)
                                    Process: ca.umontreal.iro.ift1155.basicthread02, PID: 5394
                                    android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. Expected: main Calling: Thread-2
                                    	at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:11023)
                                    	at android.view.ViewRootImpl.requestLayout(ViewRootImpl.java:2473)
                                    	at android.view.View.requestLayout(View.java:28020)
                                    	at android.view.View.requestLayout(View.java:28020)
                                    	at android.view.View.requestLayout(View.java:28020)
                                    	at android.view.View.requestLayout(View.java:28020)
                                    	at android.widget.RelativeLayout.requestLayout(RelativeLayout.java:380)
                                    	at android.view.View.requestLayout(View.java:28020)
                                    	at android.widget.TextView.checkForRelayout(TextView.java:11680)
                                    	at android.widget.TextView.setText(TextView.java:7467)
                                    	at android.widget.TextView.setText(TextView.java:7282)
                                    	at android.widget.TextView.setText(TextView.java:7220)
                                    	at android.widget.TextView.setText(TextView.java:7583)
                                    	at ca.umontreal.iro.ift1155.basicthread02.MainActivity$1.run(MainActivity.java:38)
                                    	at java.lang.Thread.run(Thread.java:1012)
2025-02-03 22:35:34.571  5394-5447  Process                 ca....eal.iro.ift1155.basicthread02  I  Sending signal. PID: 5394 SIG: 9



Le message est claire: "Only the original thread that created a view hierarchy can touch its views."

L'UI thread est le seul thread habilit  effectuer des modifications sur l'affichage.

