Autore Topic: Primi passi con il test della connessione [noob]  (Letto 1056 volte)

Offline Kappa27

  • Nuovo arrivato
  • *
  • Post: 43
  • Respect: +2
    • kevvort
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Tab
  • Sistema operativo:
    Windows 7 x64 - Ubuntu 10.10
Primi passi con il test della connessione [noob]
« il: 16 Febbraio 2011, 11:45:23 CET »
0
Salve, stavo facendo qualche prova per vedere se la mia "app" aveva o meno la connessione ad internet  :-)

Ho trovato questa classe su internet:
Codice (Java): [Seleziona]
public class Networking {
         /*
         *@return boolean return true if the application can access the internet
         */

         public static boolean isNetworkAvailable(Context context) {
             ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
             if (connectivity != null) {
                NetworkInfo[] info = connectivity.getAllNetworkInfo();
                if (info != null) {
                   for (int i = 0; i < info.length; i++) {
                      if (info[i].getState() == NetworkInfo.State.CONNECTED) {
                         return true;
                      }
                   }
                }
             }
             return false;
          }
        }

E giusto per fare una prova ho scritto ciò:
Codice (Java): [Seleziona]
public class testconnessione extends Activity {
       
        public static Networking networking;
       
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        if(networking.isNetworkAvailable(getApplicationContext()))             
                        Toast.makeText(this, "Connessione presente!", Toast.LENGTH_LONG).show();
                else
                        Toast.makeText(this, "Connessione assente!", Toast.LENGTH_LONG).show();
               
       
    }
}

L'applicazione non si avvia e mi da errore, non sono molto esperto della OOP  :'(

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Primi passi con il test della connessione [noob]
« Risposta #1 il: 16 Febbraio 2011, 15:32:04 CET »
0
Intanto dovresti segnalare il tipo di errore e postare lìeventuale logcat.
Ad ogni modo, ti sei ricordato di aggiungere il permesso apposito?

Codice (XML): [Seleziona]
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" ></uses-permission>
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline Kappa27

  • Nuovo arrivato
  • *
  • Post: 43
  • Respect: +2
    • kevvort
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Tab
  • Sistema operativo:
    Windows 7 x64 - Ubuntu 10.10
Re:Primi passi con il test della connessione [noob]
« Risposta #2 il: 16 Febbraio 2011, 16:09:12 CET »
0
Grazie, l'avevo messo ma andando a ricontrollare non c'era, che figuraccia  >:(


Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Primi passi con il test della connessione [noob]
« Risposta #3 il: 16 Febbraio 2011, 16:21:42 CET »
0
 ;-)
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline Agosteeno

  • Utente normale
  • ***
  • Post: 152
  • Respect: +2
    • Mostra profilo
  • Dispositivo Android:
    Sony Ericsson - Xperia Neo
  • Sistema operativo:
    Ubuntu 11.04
Re:Primi passi con il test della connessione [noob]
« Risposta #4 il: 07 Aprile 2011, 12:46:49 CEST »
0
Ciao, scusate, ho provato ad usare questa funzione (a parte un controllo (if(info.getExtraInfo() != null)) altrimenti mi da' errore nel for) e non funziona come dovrebbe. In pratica mi ritorna false anche se ho la connessione. Nel manifest ho aggiunto i permessi (<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" ></uses-permission>). Come dicevo la connession ce l'ho, sono connesso sia con la lan che con il wi-fi. Per sicurezza ho provato sia con entrambi collegati, sia con uno solo di loro per volta. Ho provato anche senza alcuna connession e restituisce comunque false...
Risparmia l'acqua, bevi birra...

Offline Agosteeno

  • Utente normale
  • ***
  • Post: 152
  • Respect: +2
    • Mostra profilo
  • Dispositivo Android:
    Sony Ericsson - Xperia Neo
  • Sistema operativo:
    Ubuntu 11.04
Re:Primi passi con il test della connessione [noob]
« Risposta #5 il: 07 Aprile 2011, 12:49:45 CEST »
0
Vi posto il codice completo per maggior chiarezza:
Codice (Java): [Seleziona]
public boolean isNetworkAvailable(Context context) {
                ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
                if (connectivity != null) {
                        NetworkInfo[] info = connectivity.getAllNetworkInfo();
                        if (info != null) {
                                for (int i = 0; i < info.length; i++) {
                                        if(info[i].getExtraInfo() != null)
                                        {
                                        String stampa = new String(info[i].getExtraInfo());
                                        System.out.println(stampa);
                                        }
                                        if (info[i].getState() == NetworkInfo.State.CONNECTED) {
                                                System.out.println("Ritorno true!");
                                                return true;
                                        }
                                }
                        }
                }
                System.out.println("Ritorno false!");
                return false;
        }
Risparmia l'acqua, bevi birra...