android.os.NetworkOnMainThreadException: synchronous socket or HTTP request executed on UI thread. – B4X NetworkOnMainThreadException

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 comune

Diagnosi

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

Difficoltà: facileRischio: basso

Applicare la procedura corretta secondo le best practice documentate nei tutorial ufficiali della community Anywhere Software.

  1. Verificare le dichiarazioni nel Manifest Editor o nel file Info.plist
  2. Aggiornare le librerie esterne e i jar nella cartella Additional Libraries all'ultima versione
  3. 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

Schede correlate