Bonjour à tous,

J'ai trouvé des sujet similaires à mon problème, différentes solutions pour afficher les données issues d'une requête SQL dans une listview mais je n'y arrive pas Je me suis inspiré à partir de ceci : http://www.developpez.net/forums/d12...lite-listview/

Extrait de ma page filtre.xml (affiche la listview contenant les villes) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
<ListView
        android:id="@+id/liste_villes"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/button_ajouter_ville"
        android:layout_alignLeft="@+id/explication_cible"
        android:layout_below="@+id/explication_cible" >
 
    </ListView>
Extrait de ma page filtre.java (code permettant d’incorporer les données dans la listeview) :
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
 
       //Récupération de la listview dans filtre.xml
        maListViewPerso = (ListView) findViewById(R.id.liste_villes);
        // On ouvre la base de données
        VillesBDD villeBdd = new VillesBDD(filtre.this);
 
    	villeBdd.read();
        Cursor c = villeBdd.getAllName();
        startManagingCursor(c);
 
 
        //Création d'un SimpleAdapter qui se chargera de mettre les items présent dans notre list (listItem) dans la vue affichagevilles
        SimpleCursorAdapter mSchedule = new SimpleCursorAdapter(this.getBaseContext(), R.layout.filtre, c, new String[] {"NOM"}, new int[] {R.id.ville});
 
        //On attribut à notre listView l'adapter que l'on vient de créer
        maListViewPerso.setAdapter(mSchedule);
MySQLiteDatabase.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
 
package com.christopherc.controlesdepolice;
 
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
 
public class MySQLiteDatabase extends SQLiteOpenHelper {
 
    private static final String TABLE_VILLES = "table_villes";
    private static final String COL_ID = "ID";
    private static final String COL_NOM = "NOM";
 
    private static final String CREATE_TABLE_VILLES = "CREATE TABLE "
            + TABLE_VILLES + " (" + COL_ID
            + " INTEGER PRIMARY KEY AUTOINCREMENT, " + COL_NOM
            + " TEXT NOT NULL);";
 
    public MySQLiteDatabase(Context context, String name, CursorFactory factory,
            int version) {
        super(context, name, factory, version);
    }
 
    /**
     * Cette méthode est appelée lors de la toute première création de la base
     * de données. Ici, on doit créer les tables et éventuellement les populer.
     */
    @Override
    public void onCreate(SQLiteDatabase db) {
        // on crée la table table_contacts dans la BDD
        db.execSQL(CREATE_TABLE_VILLES);
    }
 
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // on supprime la table table_contacts de la BDD et on recrée la BDD
        db.execSQL("DROP TABLE " + TABLE_VILLES + ";");
        onCreate(db);
    }
 
}
VillesBDD.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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
 
package com.christopherc.controlesdepolice;
 
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
 
public class VillesBDD {
 
    private static final int VERSION_BDD = 1;
    private static final String NOM_BDD = "villes.db";
 
    private static final String TABLE_VILLES = "table_villes";
    private static final String COL_ID = "ID";
    private static final int NUM_COL_ID = 0;
    private static final String COL_NOM = "NOM";
    private static final int NUM_COL_NOM = 1;
    private SQLiteDatabase bdd;
 
    private MySQLiteDatabase maBaseSQLite;
 
    public VillesBDD(Context context) {
        maBaseSQLite = new MySQLiteDatabase(context, NOM_BDD, null, VERSION_BDD);
    }
 
    /**
     * Ouvre la BDD en écriture
     */
    public void open() {
        bdd = maBaseSQLite.getWritableDatabase();
    }
    /**
     * Ouvre la BDD en lecture
     */
    public void read(){
		bdd = maBaseSQLite.getReadableDatabase();
	}
    /**
     * Ferme l'accès à la BDD
     */
    public void close() {
        bdd.close();
    }
 
    public SQLiteDatabase getBDD() {
        return bdd;
    }
 
    /**
     * Insère une ville en base de données
     */
    public long insertVille(Ville ville) {
        ContentValues values = new ContentValues();
 
        // On insère les valeurs dans le ContentValues : on n'ajoute pas
        // l'identifiant car il est créé automatiquement
        values.put(COL_NOM, ville.getNom());
 
        return bdd.insert(TABLE_VILLES, null, values);
    }
 
    /**
     * Met à jour la ville en base de données
     */
    public int updateVille(int id, Ville ville) {
        ContentValues values = new ContentValues();
        values.put(COL_NOM, ville.getNom());
        return bdd.update(TABLE_VILLES, values, COL_ID + " = " + id, null);
    }
 
    /**
     * Supprime une ville de la BDD (celui dont l'identifiant est passé en
     * paramètres)
     */
    public int removeVilleWithID(int id) {
        return bdd.delete(TABLE_VILLES, COL_ID + " = " + id, null);
    }
 
    /**
     * Retourne la premiere ville dont le nom correspond à
     * celui en paramètre
     */
    public Ville getFirstVilleWithName(String Nom) {
    	Cursor c = bdd.query(TABLE_VILLES, new String[] {COL_ID, COL_NOM}, COL_NOM + " LIKE \"" + Nom +"\"", null, null, null, null);
        return cursorToVille(c);
    }
 
    public  Cursor getAllName() {
    	Cursor c = bdd.query(TABLE_VILLES, new String[] {COL_NOM + " AS NOM"}, null, null, null, null, null);
        return c;
    }
    /**
     * Convertit le cursor en ville
     */
    private Ville cursorToVille(Cursor c) {
        // si aucun élément n'a été retourné dans la requête, on renvoie null
        if (c.getCount() == 0)
            return null;
 
        // Sinon on se place sur le premier élément
        c.moveToFirst();
 
        Ville ville = new Ville();
        ville.setId(c.getInt(NUM_COL_ID));
        ville.setNom(c.getString(NUM_COL_NOM));
 
        c.close();
 
        return ville;
    }
    /**
     * Convertit le cursor pour plusieurs villes
     */
    private Ville cursorToMultiVille(Cursor c) {
        // si aucun élément n'a été retourné dans la requête, on renvoie null
        if (c.getCount() == 0)
            return null;
 
        // Sinon on se place sur le premier élément
        c.moveToFirst();
 
        Ville ville = new Ville();
        ville.setId(c.getInt(NUM_COL_ID));
        ville.setNom(c.getString(NUM_COL_NOM));
 
        c.close();
 
        return ville;
    }
}
Voici l'erreur que j'ai :
The method startManagingCursor(Cursor) from the type Activity is deprecated (le startManagingCursor(c) est barré d'un trait).
The constructor SimpleCursorAdapter(Context, int, Cursor, String[], int[]) is deprecated (le SimpleCursorAdapter est barré d'un trait).


Si vous avez besoin d'information complémentaire n'hésitez pas Un grand merci d'avance pour votre aide