Bonjour,

je découvre le développement d'application Android et également les premiers problèmes de développement .

J'essai de créer une base SqLite et d'y accéder. J'aimerais que cette base soit créer lors de la première utilisation de l'application, et ensuite réutiliser si elle existe déjà.

J'ai réaliser pour cela cette classe:

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 test.date;
 
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.List;
 
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
 
public class BDAcces {
 
	private static final String DATABASE_CREATE =
    	"CREATE TABLE TEST ("
		  +"id INTEGER PRIMARY KEY  AUTOINCREMENT,"
		  +"prenom VARCHAR(25)  NULL,"
		  +"nom VARCHAR(25)  NULL,"
		  +"surnom VARCHAR(25)  NULL,"
		  +")";
 
    private static final String DATABASE_NAME = "TEST";
 
    private static final String DATABASE_TABLE = "TEST";
 
    private static final int DATABASE_VERSION = 1;
 
    private SQLiteDatabase db;
 
    public BDAcces(Context ctx) {
        try {
            db =  ctx.openDatabase(DATABASE_NAME, null);
        } catch (FileNotFoundException e) {
            try {
                db =
                    ctx.createDatabase(DATABASE_NAME, DATABASE_VERSION, 0,
                        null);
                db.execSQL(DATABASE_CREATE);
            } catch (FileNotFoundException e1) {
                db = null;
            }
        }
    }
 
    public void close() {
        db.close();
    }
 
 
    public void insertAnniv(String sPrenom, String sNom, String sSurnom) 
    {
        ContentValues initialValues = new ContentValues();
        initialValues.put("prenom", sPrenom);
        initialValues.put("nom", sNom);
        initialValues.put("surnom", sSurnom);
        db.insert(DATABASE_TABLE, null, initialValues);
    }
 
    public void deleteRow(long rowId) {
        db.delete(DATABASE_TABLE, "id=" + rowId, null);
    }
 
}
Concrètement elle ne fonctionne pas, la ligne de creation de database ne compile pas:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
 db =  ctx.openDatabase(DATABASE_NAME, null);
Voila je suis plutôt perdu dans le fonctionnement global des bases de données sur Android.
J'ai étudié le guide de développement fournit par Google mais je n'ai pas pour autant compris comment fonctionnait le tout.

Merci pour votre aide

++