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 :

Besoin d'explication pour SQLite


Sujet :

Android

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2010
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2010
    Messages : 98
    Points : 60
    Points
    60
    Par défaut Besoin d'explication pour SQLite
    Bonjour,

    Je fais une petite appli utilisant SQLIte....tout fonctionne bien, mais j'arrive sur un problème pour la gestion des data.

    Je m'explique, j'ai un ecran de creation de joueurs(objet),
    qui est composé de deux tab...un tab pour chaque équipe.

    et un bouton vers un listView listant tous les joueurs.
    La création ainsi que la récupération et l'affichage des joueurs fonctionne très bien.

    Mon problème est le suivant :

    Je crée des joueurs, si je clique sur lister les joueurs, comme dis plus haut ca fonctionne, je reviens en arrière, je CHANGE de TAB, et d'intent par la même occasion, et là si je vais sur lister les joueurs....PAF...plus rien , pas d'erreur , mais liste vide...alors que j'appelle la même activité, et la même requete getAllPlayer()...


    Je vous joins le code qui remplis la listView :

    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
     
    public class PlayerListActivity extends Activity{
     
    	ListView listPlayerListView;
    	StreetDatabase db = new StreetDatabase(this);
     
     
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.player_list);
     
    		db.getWritableDatabase();
    		List<Player> listPlayers = db.getAllPlayer();
     
    		listPlayerListView = (ListView) findViewById(R.id.listViewPlayerList);
     
            // Création de la ArrayList qui nous permettra de remplire la listView
            ArrayList<HashMap<String, String>> listItem = new ArrayList<HashMap<String, String>>();
     
            // On déclare la HashMap qui contiendra les informations pour un item
            HashMap<String, String> map;
     
            for (Player pl : listPlayers) {
     
                   String log = "Id: " + pl.getId()+ " ,Name: " + pl.getName()
                                 + " ,Number: " + pl.getNumber()
                                 + " ,Number: " + pl.getTeam();
                   // Writing Contacts to log
                   Log.d("Name: ", log);
     
                   // Création d'une HashMap pour insérer les informations du premier
                   // item de notre listView
                   map = new HashMap<String, String>();
     
                   map.put("name", pl.getName());
                   map.put("number", pl.getNumber());
                   map.put("team", pl.getTeam());
                   // enfin on ajoute cette hashMap dans la arrayList
     
                   listItem.add(map);
     
                   db.close(); 
            }
     
            // Récupération de la listview créée dans le fichier main.xml
            SimpleAdapter mSchedule = new SimpleAdapter(this.getBaseContext(),
                          listItem, R.layout.player_details, new String[] {"name",   "number", "team" },
                          new int[] { R.id.textViewPlayerDetailsName, R.id.textViewPlayerDetailsNumber, R.id.textViewPlayerDetailsTeam });
            // On attribut à notre listView l'adapter que l'on vient de créer
            listPlayerListView.setAdapter(mSchedule);
     
     
    	}
     
    }

    l'activité de création des joueurs :

    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
     
    public class TeamCreationActivity extends Activity{
     
    	EditText playerName;
    	EditText playerNumber;
     
    	Button saveButton;
    	Button playerListButton;
     
    	StreetDatabase db;
     
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.team_creation);
     
    		Toast.makeText(getBaseContext(), getIntent().getExtras().get("sport").toString()
    				+ " " + getIntent().getExtras().get("periodNumber").toString() 
    				+ " " + getIntent().getExtras().get("periodDuration").toString()
    				+ " " + getIntent().getExtras().get("tag").toString(), Toast.LENGTH_SHORT).show();
     
     
    		playerName = (EditText) findViewById(R.id.editTextPlayerName);
    		playerNumber = (EditText) findViewById(R.id.editTextPlayerNumber);
    		saveButton = (Button) findViewById(R.id.buttonPlayerSave);
    		playerListButton = (Button) findViewById(R.id.buttonPlayerList);
     
     
    		db = new StreetDatabase(getBaseContext());
    		db.deleteAllPlayers(db.getWritableDatabase());
     
    		saveButton.setOnClickListener(new OnClickListener() {
     
    			public void onClick(View v) {
     
    				Player player = new Player();
    				player.setName(playerName.getText().toString());
    				player.setNumber(playerNumber.getText().toString());
    				player.setTeam(getIntent().getExtras().getString("tag").toString());
     
    				db.addPlayer(player);
     
    				playerName.setText("");
    				playerNumber.setText("");
     
    				playerName.requestFocus();
     
    				db.close();
     
    			}
    		});
     
    		playerListButton.setOnClickListener(new OnClickListener() {
     
    			public void onClick(View v) {
     
    				Intent intent = new Intent(TeamCreationActivity.this, PlayerListActivity.class);
    				startActivity(intent);
     
    			}
    		});
     
    	}
     
    }

    J'espère que quelqu'un pourra m'aider.

    Merci

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2010
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2010
    Messages : 98
    Points : 60
    Points
    60
    Par défaut
    Bon ben j'ai trouvé comme un grand....j'ai modifié mon activity pour la creation de joueur.

    Je vous la remet avec la correction commentée, pour ceux qui aurait le même souci.

    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
    67
    68
    69
     
    public class TeamCreationActivity extends Activity{
     
    	EditText playerName;
    	EditText playerNumber;
     
    	Button saveButton;
    	Button playerListButton;
     
    	StreetDatabase db = new StreetDatabase(this);
     
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.team_creation);
     
    		Toast.makeText(getBaseContext(), getIntent().getExtras().get("sport").toString()
    				+ " " + getIntent().getExtras().get("periodNumber").toString() 
    				+ " " + getIntent().getExtras().get("periodDuration").toString()
    				+ " " + getIntent().getExtras().get("tag").toString(), Toast.LENGTH_SHORT).show();
     
     
    		playerName = (EditText) findViewById(R.id.editTextPlayerName);
    		playerNumber = (EditText) findViewById(R.id.editTextPlayerNumber);
    		saveButton = (Button) findViewById(R.id.buttonPlayerSave);
    		playerListButton = (Button) findViewById(R.id.buttonPlayerList);
     
    //              déclaration modifié en haut de la classe
    //		db = new StreetDatabase(getBaseContext());
     
    //              ligne qui posait problême à enlever
    //		db.deleteAllPlayers(db.getWritableDatabase());
     
    		saveButton.setOnClickListener(new OnClickListener() {
     
    			public void onClick(View v) {
                                    // a ajouter
                                    db.getWritableDatabase();
     
    				Player player = new Player();
    				player.setName(playerName.getText().toString());
    				player.setNumber(playerNumber.getText().toString());
    				player.setTeam(getIntent().getExtras().getString("tag").toString());
     
    				db.addPlayer(player);
     
    				playerName.setText("");
    				playerNumber.setText("");
     
    				playerName.requestFocus();
     
    				db.close();
     
    			}
    		});
     
    		playerListButton.setOnClickListener(new OnClickListener() {
     
    			public void onClick(View v) {
     
    				Intent intent = new Intent(TeamCreationActivity.this, PlayerListActivity.class);
    				startActivity(intent);
     
    			}
    		});
     
    	}
     
    }

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

Discussions similaires

  1. Besoin d'explications pour Hough
    Par zolotaya dans le forum Traitement du signal
    Réponses: 14
    Dernier message: 25/04/2013, 20h17
  2. Besoin d'explication pour une requête
    Par Dosix dans le forum Requêtes
    Réponses: 17
    Dernier message: 22/12/2008, 13h44
  3. Réponses: 11
    Dernier message: 27/06/2008, 16h00
  4. Besoin d'explication pour WHERE EXISTS(SELECT NULL..
    Par Mr Pink Eyes dans le forum Langage SQL
    Réponses: 3
    Dernier message: 21/06/2007, 11h22
  5. Besoin d'explication pour l'impression
    Par mygwel dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 25/05/2006, 10h49

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