B4A
android.os.NetworkOnMainThreadException: synchronous socket or HTTP request executed on UI thread. – B4X NetworkOnMainThreadException
L'esecuzione di operazioni di rete bloccanti sincrone sul thread principale dell'interfaccia utente è proibita da Android; è obbligatorio usare librerie asincrone come OkHttpUtils2 o AsyncStreams.
Cosa significa questo errore?
L'esecuzione di operazioni di rete bloccanti sincrone sul thread principale dell'interfaccia utente è proibita da Android; è obbligatorio usare librerie asincrone come OkHttpUtils2 o AsyncStreams.
Messaggio originale
android.os.NetworkOnMainThreadException: synchronous socket or HTTP request executed on UI thread.Contesto e parole chiave
Alias
- Network on main thread Android
- NetworkOnMainThreadException B4A
Messaggi alternativi
- operazione di rete sincrona eseguita nel thread principale dell'interfaccia
Prodotti
- B4X Development Suite (B4A, B4i, B4J, B4R, B4XPages, XUI)
Piattaforme
- Android
- Embedded Microcontrollers
- iOS
- Linux
- macOS
- Windows 10
- Windows 11
Parole chiave
- B4A
- b4x
- b4x.b4a.network-on-main-thread-exception
- basic4android
- errore-b4a-network-on-main-thread-exception
- NetworkOnMainThreadException
Cause possibili
Origine del problema per B4A: eccezione NetworkOnMainThreadException
L'esecuzione di operazioni di rete bloccanti sincrone sul thread principale dell'interfaccia utente è proibita da Android; è obbligatorio usare librerie asincrone come OkHttpUtils2 o AsyncStreams.
molto comuneDiagnosi
Ispezione log e stack trace per B4A: eccezione NetworkOnMainThreadException
Esaminare la finestra Logs dell'IDE B4X (con flag 'Filter' disattivato per vedere tutti i messaggi di sistema) e verificare il manifest editor o le proprietà del compilatore.
Come leggere il risultato. Evidenzia la linea di codice esatta o la configurazione dell'ambiente che innesca l'eccezione a runtime o l'errore di compilazione.
Risoluzione
Risoluzione per B4A: eccezione NetworkOnMainThreadException
Applicare la procedura corretta secondo le best practice documentate nei tutorial ufficiali della community Anywhere Software.
- Verificare le dichiarazioni nel Manifest Editor o nel file Info.plist
- Aggiornare le librerie esterne e i jar nella cartella Additional Libraries all'ultima versione
- Eseguire una compilazione pulita del progetto
Domande frequenti
Come risolvere il problema NetworkOnMainThreadException in ambiente B4X?
L'esecuzione di operazioni di rete bloccanti sincrone sul thread principale dell'interfaccia utente è proibita da Android; è obbligatorio usare librerie asincrone come OkHttpUtils2 o AsyncStreams.
Approfondimenti
- Anywhere Software - B4X Official Documentation & Community Tutorials documentazione_ufficiale