Bonsoir,
Je reviens pour lancer un appel à l'aide:
J'avais ma BDD qui s'affichait sans problème avec Android Studio 1.5, depuis que je suis passé à la version 3.5 de l'EDI
plus rien ne s'affiche dans ma listeView.
Pourtant aucune erreur tout compile et se lance parfaitement tout marche sauf l'affichage de mes enregistrements !
J'ai vraiment besoin d'aide car là je bloque !!!
Voici mon code complet:
Viandes.java
MainActivity.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 package com.example.myapplicationbidon2; /** * Created by rapidego on 16/06/2015. */ public class Viandes { //declare les variables private int id; private String type; private String etat; private String nombre; private String endroit; //constructeur vide public Viandes(){} //constructeur rempli public Viandes( String type, String etat, String nombre, String endroit) { this.type = type; this.etat = etat; this.nombre = nombre; this.endroit = endroit; } //les différents getter et setter public int getId() {return id;} public void setId(int id) {this.id = id;} public String getType() {return type;} public void setType(String type) {this.type = type;} public String getEtat() {return etat;} public void setEtat(String etat) {this.etat = etat;} public String getNombre() {return nombre;} public void setNombre(String nombre) {this.nombre = nombre;} public String getEndroit() {return endroit;} public void setEndroit(String endroit) {this.endroit = endroit;} public String toString() { return "\nID :" + id + "\nTYPE :" + type + "\nETAT :" + etat + "\nNOMBRE :" + nombre + "\nENDROIT :"+ endroit ; } }
MaBaseSQLite.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
54
55
56
57
58
59
60
61
62
63
64
65
66
67 package com.example.myapplicationbidon2; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.content.Intent; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.Toast; import android.view.Menu; import android.view.MenuItem; import android.view.View; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //*************************************** //*******************code listeView****************************************** // on cree un tableau de donnees pour les items de la liste<view String[] lesItems = { "Afficher toutes les viandes", "Ajouter une viande", "Modifier une ligne de viande", "Initialisation de la base" }; //Creation de l'adapter ArrayAdapter <String> adapter =new ArrayAdapter<String> (this, android.R.layout.simple_list_item_1, lesItems); //recuperation du listview present dans notre IHM ListView listCommande = (ListView) findViewById(R.id.Laliste); // on passe nos donnees au composantListView listCommande.setAdapter(adapter); listCommande.setOnItemClickListener(new AdapterView.OnItemClickListener() { Intent intent = null; public void onItemClick(AdapterView <?> parent, View view, int position, long id) { switch (position) { case 0: intent = new Intent(getBaseContext(), Affichage1.class); break; case 1: intent = new Intent(getBaseContext(), Affichage1.class); break; case 2: intent = new Intent(getBaseContext(), Affichage1.class); break; case 3: intent = new Intent(getBaseContext(), Affichage1.class); break; } //pour eviter le if on peut faire un return sur default du switch if (intent != null) startActivity(intent); } });//fin de la methode onItemClick } // fin de methode onCreate
GestionBDD.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
54
55
56
57
58
59
60
61
62 package com.example.myapplicationbidon2; /** * Created by rapidego on 16/06/2015. */ import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper; public class MaBaseSQLite extends SQLiteOpenHelper { //variable table private static final String TABLE_VIANDES = " table_viandes "; //variables des colonnes public static final String COL_ID = "ID"; public static final String COL_TYPE = "TYPE"; public static final String COL_ETAT = "ETAT"; public static final String COL_NOMBRE = "NOMBRE"; public static final String COL_ENDROIT = "ENDROIT"; //variable de la requete ecrite private static final String CREATE_BDD = " CREATE TABLE " + TABLE_VIANDES + " ( " + COL_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + COL_TYPE + " TEXT NOT NULL, " + COL_ETAT + " TEXT NOT NULL, " + COL_NOMBRE + " TEXT NOT NULL, " + COL_ENDROIT + " TEXT NOT NULL) ; " ; //constructeur public MaBaseSQLite(Context context, String name, CursorFactory factory, int version) { super(context, name, factory, version); } @Override public void onCreate(SQLiteDatabase db) //paremetre db (objet db) { // on cree la table a partir de la requete ecrite dans la variable CREATE_BDD db.execSQL(CREATE_BDD); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { //On peut faire ce que l'on veut ici //je choisi de supprimper la table et de la recreer // comme cela lorsque je change la version les id repartent de zero //suppression db.execSQL("DROP TABLE" + TABLE_VIANDES ); //recreer la table onCreate(db); } }
Affichage1.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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75 package com.example.myapplicationbidon2; /** * Created by rapidego on 16/06/2015. */ import android.content.ContentValues; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; public class GestionBDD { //variables public static final int VERSION_BDD = 1; public static final String NOM_BDD = "viandes.db"; public static final String TABLE_VIANDES = "table_viandes"; public static final String COL_ID = "ID"; public static final int NUM_COL_ID = 0; public static final String COL_TYPE = "TYPE"; public static final int NUM_COL_TYPE = 1; public static final String COL_ETAT = "ETAT"; public static final int NUM_COL_ETAT = 2; public static final String COL_ENDROIT = "ENDROIT"; public static final int NUM_COL_ENDROIT = 3; public static final String COL_NOMBRE = "NOMBRE"; public static final int NUM_COL_NOMBRE = 4; public SQLiteDatabase bdd; // Declare objet bdd public MaBaseSQLite maBaseSQLite; // Declare objet maBaseSQLite public String titre; //Constructeur rempli public GestionBDD(Affichage1 context) { //on cree la BDD et sa table maBaseSQLite = new MaBaseSQLite(context, NOM_BDD, null, VERSION_BDD); } public GestionBDD() //constructeur vide { } public void open() { //on ouvre la bdd en ecriture bdd = maBaseSQLite.getWritableDatabase(); } public SQLiteDatabase getBdd() { return bdd; } public long insertViandes(Viandes viandes) { //creation d'un ContentValues (fonctionne comme une HashMap ContentValues values = new ContentValues(); //On lui ajoute une valeur associee a une clef (qui est le nom de la colonne //dans laquelle on veut mettre la valeur. values.put(COL_TYPE, viandes.getType()); values.put(COL_ETAT, viandes.getEtat()); values.put(COL_ENDROIT, viandes.getEndroit()); values.put(COL_NOMBRE, viandes.getNombre()); //On insere l'objet dans la BDD via le ContentValues return bdd.insert(TABLE_VIANDES, null, values); } public Cursor crerColonne() { return bdd.rawQuery("SELECT ID as _id, TYPE FROM table_viandes", null); } }
Voici mes cinq fichiers
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 com.example.myapplicationbidon2; import android.app.Activity; import android.os.Bundle; import android.widget.ListView; import android.widget.SimpleCursorAdapter; import android.database.Cursor; //import android.widget.Toast; //import android.widget.ArrayAdapter; //import java.util.ArrayList; public class Affichage1 extends Activity { public Affichage1() { } @Override public String toString() { return "Affichage1{}"; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.affichage1); //Creation d'une instance de la classe GestionBDD(creer la Bdd) GestionBDD bddViandes = new GestionBDD(this); //On ouvre la base de donnees bddViandes.open(); //Creation d'une ligne pour une viande Viandes decoupe = new Viandes("boeuf", "cote", "4", "BG"); // insertion d'une viande bddViandes.insertViandes(decoupe); //recuperation du listview present dans mon IHM ListView lv = this.findViewById(R.id.Afficheliste); Cursor data = bddViandes.crerColonne(); // appel méthode pour créer l'alias _id SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, data, new String[] {"TYPE"}, new int[] {android.R.id.text1}); lv.setAdapter(adapter); } }
Cela fait un bon moment que je cherche vraiment je ne comprends pas !!!
Merci pour votre aide
cordialement
rapidego
Partager