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

Android Discussion :

Envoie de SMS


Sujet :

Android

  1. #1
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Transports

    Informations forums :
    Inscription : Février 2014
    Messages : 21
    Points : 11
    Points
    11
    Par défaut Envoie de SMS
    Bonsoir Bonsoir !

    Voilà je réalise une petite appli qui me permet de sélectionner un contact dans mon répertoire de mon téléphone et de l'ajouter à une listView avec un adapter perso.

    Jusque la tout va bien, ma liste ce crée et enregistre bien le nom et le numéro de téléphone, mon problème intervient lorsque je souhaite faire envoyer un SMS pour toute la liste que j'ai précédemment rentrée.

    Pour envoyer un SMS j'utilise le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    //On envoie le SMS de fin de partie 
    		SmsManager manager = SmsManager.getDefault();
          	manager.sendTextMessage("Le numero" , null, "Le defis est fini! \nBravo au vainqueur!! \n C'est parti pour la suite !!!", null, null);
    Ce morceau de code fonctionne (après avoir demandé la permission dans le code!) uniquement avec un numéro pré-rentré dans l'argument à cet effet.

    Je ne vois pas comment créer une variable qui contiendrait uniquement tous les numéros de mon adaptateur pour la listView que je puisse mettre dans ce code !

    Est ce que vous auriez plus de recule que moi ?

    Merci bien !

    Flyer-73

  2. #2
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Bah fais une boucle pour répéter ce code autant qu'il y a de numéros...
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  3. #3
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Transports

    Informations forums :
    Inscription : Février 2014
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    Salut merci de ta reponse , je ne vois pas comment faire la boucle pour récupérer toutes les valeur de ma liste ...

    Flyer-73

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2012
    Messages : 23
    Points : 22
    Points
    22
    Par défaut
    une boucle classique pour .. allant de .. à .. faire ....... considere uniquement les contraintes de ton appli

  5. #5
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Transports

    Informations forums :
    Inscription : Février 2014
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    Oui je sais faire une boucle mais c'est pour récupérer les valeur de la listView que je ne vois pas comment faire ...

    Ma liste est dynamique c'est à dire que l'utilisateur ajoute 2 champs un champ nom et un champ numéro. Lors du clique sur "Ajouter" cela créer un nouveau "Joueur" qui se crée grâce à la classe Joueur et au JoueurAdapter.

    De la je ne vois pas comment en récupérer pour chaque insertion de joueurs le numéro de téléphone.

    Flyer-73

  6. #6
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Il y a bien un adapter qui lie une collection de données (ex: ArrayList) à ta listView. Il suffit donc de boucler sur cette collection.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  7. #7
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Transports

    Informations forums :
    Inscription : Février 2014
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    Salut, merci pour ton aide,

    j'ai essayé ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for(int i = 0 ; i <= NbArray  ; i++) {
     
    			String numero = Joueur.getNumero(i);
     
    			//String message = Comdefis.getText().toString();
    			sendSMS(numero, "Le nouveau défi est :\n"+message);
    		}
    Où NbArray est une variable qui est incrémentée de +1 a chaque ajout de joueurs.

    voici ma classe Joueur :

    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
    package com.example.sms;
     
    public class Joueur {
    	private String nom;
    	private String numero;
     
    	public Joueur(String nom, String numero) {
    	this.nom = nom;
    	this.numero = numero;
    	}
     
    	public String getNom() {
    	return nom;
    	}
     
    	public void setNom(String nom) {
    	this.nom = nom;
    	}
     
    	public String getNumero() {
    	return numero;
    	}
     
    	public void setNumero(String numero) {
    	this.numero = numero;
    	}
    }
    et mon JoueurAdapter

    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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    package com.example.sms;
     
    import java.util.List;
    import android.content.Context;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.BaseAdapter;
    import android.widget.TextView;
     
    public class JoueurAdapter extends BaseAdapter {
     
    	List<Joueur> player;
    	LayoutInflater inflater;
     
    	public JoueurAdapter(Context context,List<Joueur> player) 
    	{
    		inflater = LayoutInflater.from(context);
    		this.player = player;
    	}
     
    	@Override
    	public int getCount() {
    		return player.size();
    	}
     
    	@Override
    	public Object getItem(int position) {
    		return player.get(position);
    	}
     
    	@Override
    	public long getItemId(int position) {
    		return position;
    	}
     
    	private class ViewHolder 
    	{
    		TextView tvTitre;
    		TextView tvAuteur;
    	}
     
    	@Override
    	public View getView(int position, View convertView, ViewGroup parent) {
    		ViewHolder holder;
     
    		if(convertView == null) {
    		holder = new ViewHolder();
    		convertView = inflater.inflate(R.layout.itemjoueurs, null);
    		holder.tvTitre = (TextView)convertView.findViewById(R.id.tvNom);
    		holder.tvAuteur = (TextView)convertView.findViewById(R.id.tvNum);
    		convertView.setTag(holder);
    		} else {
    		holder = (ViewHolder) convertView.getTag();
    		}
     
    		holder.tvTitre.setText(player.get(position).getNom());
    		holder.tvAuteur.setText(player.get(position).getNumero());
     
     
     
    		return convertView;
     
    	}
     
    }
    Et de cette boucle que j'ai crée ne ressort pas tous les numéros des joueurs ...

    Merci

    FLyer-73

  8. #8
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Ton List<Joueur> vient bien de qqpart. Et bien c'est sur lui qu'il faut boucler. Montres-moi comment tu instancies ton Adapter.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  9. #9
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Transports

    Informations forums :
    Inscription : Février 2014
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    Voila :

    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
    private void CreeUnJoueur() 
    	{
    			listContact = (ListView)findViewById(R.id.listJoueur);
    			JoueurAdapter adapter = new JoueurAdapter(this, mesJoueurs);
    			listContact.setAdapter(adapter);
     
     
    		  // On recupere le nom 
    		    EditText NomJoueur = (EditText)findViewById(R.id.ComNom1);
    		  	Editable nom = NomJoueur.getText();
     
    		  //Puis le numero
    		  	EditText NumJoueur = (EditText)findViewById(R.id.ComNum1);
    		  	Editable num = NumJoueur.getText();
     
    		     mesJoueurs.add(new Joueur(""+ nom , ""+ num));
     
    		     adapter.notifyDataSetChanged();
     
     
    	}
     
    	public void Ajouter(View view) 
    	{
    		//Creation joueur
    		CreeUnJoueur();
     
    		NbArray +=1;
    	}
     
    	public void Defis(View view)
    	{
    		EditText Comdefis = (EditText) findViewById(R.id.ComDefis);
     
    		for(int i = 0 ; i <= NbArray  ; i++) 
    		{
     
    			String numero = mesJoueurs.get(i).getNumero();
     
    			String message = Comdefis.getText().toString();
    			sendSMS(numero, "Le nouveau défi est :\n"+message);
    		}
    		//Toast.makeText(this, "Erreur5", 5);
    	}
    La fonction Ajouter() vient du onClick du bouton Ajouter, elle appelle la fonction CreeUnJoueur() et je t'ai remis ma fonction Defis() avec ma boucle qui ne marche pas

    Merci

    Flyer-73

  10. #10
    Membre éclairé
    Avatar de LeBzul
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 381
    Points : 832
    Points
    832
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    for(int i = 0 ; i <= NbArray  ; i++) 
    		{
     
    			String numero = mesJoueurs.get(i).getNumero();
     
    			String message = Comdefis.getText().toString();
    			sendSMS(numero, "Le nouveau défi est :\n"+message);
    		}
    Pourquoi tu utilise NbArray et pas directement la taille de tableau ? Ca eviterai les erreurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    for(int i = 0 ; i <= mesJoueurs.size(); i++) 
    		{
     
    			String numero = mesJoueurs.get(i).getNumero();
     
    			String message = Comdefis.getText().toString();
    			sendSMS(numero, "Le nouveau défi est :\n"+message);
    		}
    "Quand la lune n'est pas là, la nuit mène une existence obscure"

  11. #11
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Transports

    Informations forums :
    Inscription : Février 2014
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    C'est une très judicieuse remarque !

    j'essaye cela, j’espère que cela va marcher !

  12. #12
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Transports

    Informations forums :
    Inscription : Février 2014
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    Et bien cela marche maintenant c'est génial ! merci mais l'application crash quand même ... je ne vois pas d’où cela viens ?

    EN faite au moment de valider l'envoi l appli crash mais les SMS partent quand même ...

    Flyer-73

  13. #13
    Membre éclairé
    Avatar de LeBzul
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 381
    Points : 832
    Points
    832
    Par défaut
    Il faut que tu nous donnes le logcat avec l'erreur complète et le bout de code qui correspond si tu veux qu'on puisse t'aider plus facilement.
    "Quand la lune n'est pas là, la nuit mène une existence obscure"

  14. #14
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Voilà, donc ta collection s’appelle mesJoueurs. Et pour éviter tout erreur d'index, on passe par un itérateur, comme suit :
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Iterator<Joueur> i = mesJoueurs.iterator();
    Joueur tmp;
    while(i.hasNext()){
      tmp = i.next();
      ...
      sendSMS(tmp.getNumero(), "Le nouveau défi est :\n"+message);
    }
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  15. #15
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Transports

    Informations forums :
    Inscription : Février 2014
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    C'est génial ca marche à merveille !

    Merci à vous deux j'aurais jamais trouvé cette méthode Iterator mais maintenant je le sais !

    Merci

    FL73

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

Discussions similaires

  1. Envoi de SMS
    Par BéBéHi dans le forum Windows
    Réponses: 2
    Dernier message: 05/05/2006, 16h49
  2. envoi de sms via un PC
    Par lidouka dans le forum Ordinateurs
    Réponses: 10
    Dernier message: 11/04/2006, 23h26
  3. [VB6] Envoi de SMS
    Par brahime dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 22/11/2005, 13h08
  4. envoi de sms depuis son pc en passant par un mobile
    Par cyberxper dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 11/07/2005, 11h25
  5. [C#] Envoi de sms en C#
    Par Frédérick dans le forum Windows Forms
    Réponses: 5
    Dernier message: 01/06/2004, 12h58

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