2012-08-02 4 views
1

J'ai ce code:application android wifi accident

List<ScanResult> vAll = null; 
    WifiManager vMainWifi = null; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_wi_fi); 

     vMainWifi = (WifiManager) this.getSystemService(Context.WIFI_SERVICE); 
     vAll = getWiFi(); 
    } 
    public void btnViewWiFI_onClick(View v) { 
     TextView vTmpTextView = (TextView) findViewById(R.id.tvRetele); 
     String vString = "WiFi:"; 
     List<String> vLista = getWiFiString(); 
     if (vLista != null) { 
      for (int i = 0; i < vLista.size(); i++) 
       vString += "\n\t" + vLista.get(i); 
     } 
     vTmpTextView.setText(vString); 
    } 
    List<ScanResult> getWiFi() { 
     if (vAll != null) 
      return vAll; 
     if (vMainWifi.isWifiEnabled()) 
      return vMainWifi.getScanResults(); 
     else { 
      vMainWifi.setWifiEnabled(true); 
      return vMainWifi.getScanResults(); 
     } 
    } 
    List<String> getWiFiString() { 
     List<String> vTmp = null; 
     if (vAll == null) 
      vAll = getWiFi(); 
     if (vAll != null) { 
      for (int i = 0; i < vAll.size(); i++) 
       vTmp.add(vAll.get(i).BSSID + ", " + vAll.get(i).SSID); 
     } 
     return vTmp; 
    } 

Dans Disp xml

<TextView 
     android:id="@+id/tvRetele" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="94dp" /> 

    <Button 
     android:id="@+id/btnViewWiFI" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:layout_marginLeft="145dp" 
     android:layout_marginTop="233dp" 
     android:onClick="btnViewWiFI_onClick" 
     android:text="@string/viewWiFi" /> 

Dans le fichier Manifest Je possède ce

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 

Si j'essaie de déboguer ce que je reçois liste vide, probablement parce que je reçois une erreur pour les réseaux WiFi, mais quand je télécharge sur le téléphone et installe cette application, je tombe en panne quand je prés bouton e Qu'est-ce que je fais mal?

+0

afficher le message d'erreur ou un point sera arrimé de votre question. C'est dans le logcat, et ce sera rouge. Trouvez-le et sélectionnez-le et postez-le sur ce forum dès que possible. –

+0

Il est plus important que vous appreniez à lire le fichier journal que de résoudre ce problème particulier. Vous trouverez l'endroit exact si vous cliquez sur la première ou la deuxième ligne en rouge qui contient le nom de votre paquet. Les accidents devraient également avoir le mot fatal et être en rouge. –

+0

f vous ne voyez pas logcat goto eclipse -> fenêtre -> show view -> logcat –

Répondre

1

Vous n'instanciez pas la liste vTmp dans getWiFiString()! vous obtenez une exception NullPointerException lorsque vous essayez d'ajouter des éléments.

Ce que vous avez probablement besoin est:

List<String> vTmp = new ArrayList<String>(); 
+0

c'etait le probleme, en C++ vecteur <> ne pas besoin de init – xnl96

+0

Ahm, et vous selectionnez une reponse qui vous dit utiliser le logcat? J'aurais aussi pu faire ça, au lieu de prendre le temps de lire ton code, ça aurait été plus facile ... (!) – Ixx

0

lire votre fichier journal. Trouvez où cela dit fatal. Recherchez la ligne qui contient le nom de votre package. Il va probablement dire une exception de pointeur nul. Aller à la ligne et assurez-vous que l'élément a une valeur et n'est pas nulle. Définir le point d'arrêt avant la ligne de crash et vérifier la valeur de tout. C'est une réponse qui ne résoudra pas seulement ce problème mais beaucoup plus que vous rencontrerez.

Si vous ne voyez pas logcat goto Eclipse -> Fenêtre -> Vue spectacle -> logcat

+0

C'est en effet un conseil utile, et qui va faciliter la vie de xnl96, mais ça devrait être un commentaire/pas une réponse à la question. – Ixx