IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants graphiques Android Discussion :

Comment afficher les resultats d'un scan Wifi dans une ListView?


Sujet :

Composants graphiques Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 104
    Par défaut Comment afficher les resultats d'un scan Wifi dans une ListView?
    Bonjour à tous !

    Voilà, je voudrais afficher les éléments scannés suite à l'action getScanResults(); dans une ListView.

    Mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
    public class ListeReseaux extends Activity{
     
    	private String
    	ssid;
     
    	private String
    	capabilities;
     
    	private WifiManager 
    	wM;
     
    	private ConnectivityManager
    	cM;
     
    	private ListView 
    	lst;
     
    	public class Receiver extends BroadcastReceiver{
    		@Override
    		public void onReceive(Context context, Intent intent) {
     
    			if(intent.getAction().equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)){
    				List<ScanResult> results = wM.getScanResults();
    				for(int i=0;i<results.size();i++){
    					Log.i("Wifi",results.get(i).SSID);
     
    					ssid         = results.get(i).SSID;
    					capabilities = results.get(i).capabilities;
     
    				}
    			}
     
     
     
    		}
    	}				
     
    public void onCreate(Bundle saveInstanceState){
    	 super.onCreate(saveInstanceState);
    	 setContentView(R.layout.list_view);
     
    	 lst = (ListView)findViewById(R.id.lst);
     
     
     
         cM = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
         wM = (WifiManager)getSystemService(Context.WIFI_SERVICE);
     
         Receiver receiver = new Receiver();
         registerReceiver(receiver,new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
         registerReceiver(receiver,new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
     
    }};
    Merci pour vôtre aide !

  2. #2
    Jay
    Jay est déconnecté
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2002
    Messages : 124
    Par défaut
    Bonjour,

    As-tu regarder la doc ?

    Sinon tu as un exemple :
    http://developer.android.com/resourc...-listview.html

    Cordialement,

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 104
    Par défaut
    Citation Envoyé par Jay Voir le message
    Bonjour,

    As-tu regarder la doc ?

    Sinon tu as un exemple :
    http://developer.android.com/resourc...-listview.html

    Cordialement,
    Merci pour ta réponse.
    Oui j'ai déjà regardé la doc.
    J'ai essayé plusieurs choses mais soit j'ai un ForceClose (NullPointer Exception)
    soit rien ne s'affiche du tout...

    Donc je n'y comprends rien..

  4. #4
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,

    Pourrais tu nous afficher ce que tu obtiens dans le logcat ?

    Merci .

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 104
    Par défaut
    Citation Envoyé par Feanorin Voir le message
    Bonjour,

    Pourrais tu nous afficher ce que tu obtiens dans le logcat ?

    Merci .
    Code java :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    package sebgri.corporation.hfe;
     
    import java.util.ArrayList;
    import java.util.List;
    import android.app.Activity;
    import android.content.Context;
    import android.net.wifi.ScanResult;
    import android.net.wifi.WifiManager;
    import android.os.Bundle;
    import android.widget.ArrayAdapter;
    import android.widget.ListView;
     
     
     
     
     
    public class ListeReseaux extends Activity {
     
     
    	WifiManager wM;
        List<ScanResult> result;
     
        int count=0; 
        int i=0; 
        int k=0; 
        int idx=0;
     
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
         super.onCreate(savedInstanceState);
     
            ListView lst = (ListView)findViewById(R.id.lst);
     
            ArrayList<String> mStrings = new ArrayList<String>(); 
            ArrayAdapter<String> aa;
     
            aa = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,mStrings); 
            lst.setAdapter(aa);
     
            wM = (WifiManager)getSystemService(Context.WIFI_SERVICE);
     
            	result = wM.getScanResults(); 
              while(result.size()> count)
     
             {
     
             mStrings.add(count,result.get(count).SSID);
     
             count++;
     
             }
     }
    Voilà ce que me dit le logcat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    02-08 20:59:08.386: ERROR/AndroidRuntime(2007): FATAL EXCEPTION: main
    02-08 20:59:08.386: ERROR/AndroidRuntime(2007): java.lang.RuntimeException: Unable to start activity ComponentInfo{sebgri.corporation.hfe/sebgri.corporation.hfe.ListeReseaux}: java.lang.NullPointerException
    02-08 20:59:08.386: ERROR/AndroidRuntime(2007):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
    02-08 20:59:08.386: ERROR/AndroidRuntime(2007):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
    02-08 20:59:08.386: ERROR/AndroidRuntime(2007):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
    02-08 20:59:08.386: ERROR/AndroidRuntime(2007):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
    02-08 20:59:08.386: ERROR/AndroidRuntime(2007):     at android.os.Handler.dispatchMessage(Handler.java:99)
    02-08 20:59:08.386: ERROR/AndroidRuntime(2007):     at android.os.Looper.loop(Looper.java:123)
    02-08 20:59:08.386: ERROR/AndroidRuntime(2007):     at android.app.ActivityThread.main(ActivityThread.java:4627)
    02-08 20:59:08.386: ERROR/AndroidRuntime(2007):     at java.lang.reflect.Method.invokeNative(Native Method)
    02-08 20:59:08.386: ERROR/AndroidRuntime(2007):     at java.lang.reflect.Method.invoke(Method.java:521)
    02-08 20:59:08.386: ERROR/AndroidRuntime(2007):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
    02-08 20:59:08.386: ERROR/AndroidRuntime(2007):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
    02-08 20:59:08.386: ERROR/AndroidRuntime(2007):     at dalvik.system.NativeStart.main(Native Method)
    02-08 20:59:08.386: ERROR/AndroidRuntime(2007): Caused by: java.lang.NullPointerException
    02-08 20:59:08.386: ERROR/AndroidRuntime(2007):     at sebgri.corporation.hfe.ListeReseaux.onCreate(ListeReseaux.java:41)
    02-08 20:59:08.386: ERROR/AndroidRuntime(2007):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
    02-08 20:59:08.386: ERROR/AndroidRuntime(2007):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
    02-08 20:59:08.386: ERROR/AndroidRuntime(2007):     ... 11 more
    je lance cette activity avec ce bout de code d'une autre activity :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    case R.id.btnScan :
    		if(v == btnScan)
    		{	
    		if (wM.isWifiEnabled() == false)
    		{
    			Toast.makeText(this, "Veuillez activé le dispositif Wifi pour effectuer un scan", Toast.LENGTH_SHORT).show();
    		}
    		else if(wM.isWifiEnabled() == true)
    		{
    			wM.startScan();
    			startActivity(new Intent(this, ListeReseaux.class));
    		}
     
    }}}

  6. #6
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    02-08 20:59:08.386: ERROR/AndroidRuntime(2007): Caused by: java.lang.NullPointerException
    02-08 20:59:08.386: ERROR/AndroidRuntime(2007):     at sebgri.corporation.hfe.ListeReseaux.onCreate(ListeReseaux.java:41)
    Tu as une erreur a la ligne 41 .

    A vu de nez cela ressemblerait a ce que ta variable result est nulle.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Comment afficher le resultat dune BDD avec javascript dans une nouvelle page
    Par modemo2005 dans le forum Langages
    Réponses: 1
    Dernier message: 16/12/2014, 19h24
  2. Réponses: 6
    Dernier message: 14/08/2013, 16h53
  3. Afficher les resultat d'un code (matrice) dans l'interface
    Par Alucard9800XT dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 06/06/2007, 09h31
  4. Réponses: 5
    Dernier message: 27/04/2007, 15h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo