Italian Controllo connessione prima dell'avvio dell'App

Buon giorno a tutti , sono freschissimo del forum, premesso che sono un paio di giorni che gioco con b4a e mi sembra molto simpatico, ho una domanda. per controllare se è presente la connessione prima di avviare l'app come si opera? .
- quale libreria aggiungere?
-in che file inserire il codice
-dove posso trovare le info per gli attributi delle librerie .

Grazie mille
 

LucaMs

Expert
Licensed User
Longtime User
Salve, benvenuto.

Non è possibile controllare prima di avviare l'app... ovviamente.

Il modo più frequentemente usato è effettuare il download di www.google.com, usando la libreria OkHttpUtils2.
Proverei anche questo (cosa che io non ho mai fatto):
https://www.b4x.com/android/forum/threads/check-internet-connection.95303/

-in che file inserire il codice
"Dovrei" rispondere: nel modulo di servizio Starter, ma non sarebbe un modo multipiattaforma, nel senso che lo Starter esiste solo in Android-B4A.
Ti conviene sviluppare fin da subito progetti B4XPages, evitare il più possibile di usare quel servizio e scrivere il test nell'evento B4XPage_Created della B4XMainPage.
In realtà, sarebbe meglio creare una micro-classe che esegua quel test; in questo modo potresti effettuarlo anche in momenti diversi dall'avvio dell'applicazione, successivamente.

[Consiglio non richiesto 😁: impegnati al massimo... per smettere di fumare! Cancro a parte, avrai sempre meno forze... come minimo!]
 

LucaMs

Expert
Licensed User
Longtime User
B4X:
Sub Ping(server As String) As ResumableSub
    Dim p As Phone
    Dim sb As StringBuilder
    sb.Initialize
  
    Wait For (p.ShellAsync("ping", Array As String("-c", "1", server))) Complete (Success As Boolean, ExitValue As Int, StdOut As String, StdErr As String)
    Return Success
End Sub

Uso:
    Wait For (Ping("8.8.8.8")) Complete(Success As Boolean)
    If Success Then
        Log("Ping OK")
    Else
        Log("Ping fallito")
    End If


P.S. Non mi sembra corretto. In realtà dovrebbe restituire True solo se ExitValue risulterà essere 0.
 
Last edited:

amorosik

Expert
Licensed User
Sono sempre stato curioso di sapere, ma uno che si noma RizlaSmoking, quante sigarette si fa' al giorno?
😁
 
Salve, benvenuto.

Non è possibile controllare prima di avviare l'app... ovviamente.

Il modo più frequentemente usato è effettuare il download di www.google.com, usando la libreria OkHttpUtils2.
Proverei anche questo (cosa che io non ho mai fatto):
https://www.b4x.com/android/forum/threads/check-internet-connection.95303/


"Dovrei" rispondere: nel modulo di servizio Starter, ma non sarebbe un modo multipiattaforma, nel senso che lo Starter esiste solo in Android-B4A.
Ti conviene sviluppare fin da subito progetti B4XPages, evitare il più possibile di usare quel servizio e scrivere il test nell'evento B4XPage_Created della B4XMainPage.
In realtà, sarebbe meglio creare una micro-classe che esegua quel test; in questo modo potresti effettuarlo anche in momenti diversi dall'avvio dell'applicazione, successivamente.

[Consiglio non richiesto 😁: impegnati al massimo... per smettere di fumare! Cancro a parte, avrai sempre meno forze... come minimo!]
Si scusa ho sbagliato a formulare la domanda o vorrei che aprendo l'app venga fatto un controllo se la connessione è presente ... ho visto il codice che mi hai consigliato , ma va inserito nel main o nello starter?


grazie
 

LucaMs

Expert
Licensed User
Longtime User
ho visto il codice che mi hai consigliato , ma va inserito nel main o nello starter?
In realtà, sarebbe meglio creare una micro-classe che esegua quel test; in questo modo potresti effettuarlo anche in momenti diversi dall'avvio dell'applicazione, successivamente.
Non è detto che il dispositivo rimanga connesso per tutto il tempo dell'utilizzo dell'app, quindi non dovrebbe essere sufficiente eseguire il controllo soltanto all'avvio.

Potresti avere una variabile pubblica, del tipo di questa classe "controlla connessione", messa nella B4XMainPage ed eseguire il test da dovunque, in qualunque momento (serva).
 

LucaMs

Expert
Licensed User
Longtime User
Non è detto che il dispositivo rimanga connesso per tutto il tempo dell'utilizzo dell'app, quindi non dovrebbe essere sufficiente eseguire il controllo soltanto all'avvio.

Potresti avere una variabile pubblica, del tipo di questa classe "controlla connessione", messa nella B4XMainPage ed eseguire il test da dovunque, in qualunque momento (serva).
 

Attachments

  • BaseWithCheckConn.zip
    15 KB · Views: 32
Top