Autore Topic: try/catch e Toast, per notifica utente  (Letto 824 volte)

Offline ScarfaceIII

  • Utente junior
  • **
  • Post: 112
  • Respect: +13
    • raferalston12
    • Mostra profilo
  • Dispositivo Android:
    Nexus One
  • Sistema operativo:
    GNU/Linux, Ubuntu 10.04 / Windows 7
try/catch e Toast, per notifica utente
« il: 01 Dicembre 2010, 16:59:44 CET »
0
Buongiorno a tutti, avevo postato una richiesta d'aiuto qualche tempo fa su una cosa simile, ma ora cerco di essere più specifico. La mia applicazione fa uso della connessione internet e vorrei fare in modo che all'aperture del programma e anche in alcune altre occasioni, venga effettuato un check della rete e se non c'è connessione dati, avvisa l'utente (con un Toast).
Ho provato in vari modi, senza successo però, almeno per quanto riguarda l'avviso all'utente. La prima cosa che ho fatto è stata:
Codice (Java): [Seleziona]
        ConnectivityManager cm = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
        if (!cm.getActiveNetworkInfo().isConnectedOrConnecting())
                Toast.makeText(getApplicationContext(), "Mobile Data Connection not enabled", Toast.LENGTH_SHORT);
ma creava una NullPointerException se non c'è connessione. Ora, mi chiedo: che senso ha avere un metodo che restituisce la presenza di connessione se poi quando non c'è connessione crea un'exception?
Ad ogni modo, uso un try/catch fatto così:
Codice (Java): [Seleziona]
        ConnectivityManager cm = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
        try{
                cm.getActiveNetworkInfo().isConnectedOrConnecting();
        } catch(NullPointerException e){
                if(D)Log.e(TAG, "Network Data Connection disabled");
                Toast.makeText(getApplicationContext(), "Mobile Data Connection not enabled", Toast.LENGTH_SHORT);
        }
Ma quello che succede è che il Log viene creato, ma non viene visualizzato alcun Toast! Sapreste darmi una spiegazione del perché il Toast non dovrebbe essere visualizzato? L'applicazione non va in crash, avendo creato un handler dell'eccezione con il try/cath, infatti poi sono libero di continuare l'esecuzione, eppure il Toast non viene visualizzato.
Avete suggerimenti su come fare quello che intendo fare? grazie mille in anticipo

Offline ScarfaceIII

  • Utente junior
  • **
  • Post: 112
  • Respect: +13
    • raferalston12
    • Mostra profilo
  • Dispositivo Android:
    Nexus One
  • Sistema operativo:
    GNU/Linux, Ubuntu 10.04 / Windows 7
Re:try/catch e Toast, per notifica utente
« Risposta #1 il: 01 Dicembre 2010, 17:04:07 CET »
0
Rispondo subito qui e corollando il tutto con una serie di insulti: mi sono dimenticato Toast.show()...lasciate stare, come ho detto, procedo da solo con gli insulti, scusate davvero il disturbo. Sono diventato scemo per una settimana, e non vedevo un'ovvietà del genere!

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:try/catch e Toast, per notifica utente
« Risposta #2 il: 01 Dicembre 2010, 17:14:25 CET »
0
Rispondo subito qui e corollando il tutto con una serie di insulti: mi sono dimenticato Toast.show()...lasciate stare, come ho detto, procedo da solo con gli insulti, scusate davvero il disturbo. Sono diventato scemo per una settimana, e non vedevo un'ovvietà del genere!
hahahah settimana scorsa ho fatto lo stesso errore :D
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia