Bonjour,
Je cherche désespérement a implanter une bas de données dans mon application.
Ci dessous le code de ma classe Db
Mon programme ne démarre même pas, apparement une erreur dans
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 package tuto.phanou; import java.util.ArrayList; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class Db extends SQLiteOpenHelper{ private static String BASE_NAME = "Ma_Base"; private static final int BASE_VERSION = 1; private static String BASE_TABLE_NAME = "Memo"; private static SQLiteDatabase db; private static String CREATE_TABLE = "create table " + BASE_TABLE_NAME + " (" + "techkey integrer PRIMARY KEY AUTOINCREMENT," + "titre VARCHAR(250) NOT NULL," + "description VARCHAR(250) NOT NULL" + ")"; public Db(Context context) { super(context, BASE_NAME, null, BASE_VERSION); db = getWritableDatabase(); } /** Exécuté si la table n'existe pas */ @Override public void onCreate(SQLiteDatabase db) { db.execSQL(CREATE_TABLE); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS "+ BASE_TABLE_NAME); onCreate(db); } public long insertUser(String Titre, String Description) { ContentValues userToInsert = new ContentValues(); userToInsert.put("titre", Titre); userToInsert.put("bla bla", Description); return db.insert(BASE_TABLE_NAME, null, userToInsert); } public ArrayList<String> getPersonnes() { ArrayList<String> output = new ArrayList<String>(); String[] Colonnes_Recup = new String[] {"titre", "description"}; Cursor Resultat = db.query(BASE_TABLE_NAME, Colonnes_Recup, null, null, null, null, "titre asc, description asc", null); if (null != Resultat ) { if (Resultat.moveToFirst()) { do { int columnId_titre = Resultat.getColumnIndex("titre"); int columnId_description = Resultat.getColumnIndex("description"); String Result = Resultat.getString(columnId_titre)+" "+ Resultat.getString(columnId_description); output.add(Result); } while (Resultat.moveToNext()); } } return output; } }
Je n'arrive pas à savoir ce qui ne va pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 02-28 13:49:31.511: ERROR/AndroidRuntime(660): at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:98)
Merci d'avance pour votre aide
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 02-28 13:49:31.511: ERROR/AndroidRuntime(660): FATAL EXCEPTION: main 02-28 13:49:31.511: ERROR/AndroidRuntime(660): java.lang.RuntimeException: Unable to start activity ComponentInfo{tuto.phanou/tuto.phanou.tuto}: java.lang.NullPointerException 02-28 13:49:31.511: ERROR/AndroidRuntime(660): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) 02-28 13:49:31.511: ERROR/AndroidRuntime(660): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 02-28 13:49:31.511: ERROR/AndroidRuntime(660): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 02-28 13:49:31.511: ERROR/AndroidRuntime(660): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 02-28 13:49:31.511: ERROR/AndroidRuntime(660): at android.os.Handler.dispatchMessage(Handler.java:99) 02-28 13:49:31.511: ERROR/AndroidRuntime(660): at android.os.Looper.loop(Looper.java:123) 02-28 13:49:31.511: ERROR/AndroidRuntime(660): at android.app.ActivityThread.main(ActivityThread.java:4627) 02-28 13:49:31.511: ERROR/AndroidRuntime(660): at java.lang.reflect.Method.invokeNative(Native Method) 02-28 13:49:31.511: ERROR/AndroidRuntime(660): at java.lang.reflect.Method.invoke(Method.java:521) 02-28 13:49:31.511: ERROR/AndroidRuntime(660): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 02-28 13:49:31.511: ERROR/AndroidRuntime(660): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 02-28 13:49:31.511: ERROR/AndroidRuntime(660): at dalvik.system.NativeStart.main(Native Method) 02-28 13:49:31.511: ERROR/AndroidRuntime(660): Caused by: java.lang.NullPointerException 02-28 13:49:31.511: ERROR/AndroidRuntime(660): at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:98) 02-28 13:49:31.511: ERROR/AndroidRuntime(660): at tuto.phanou.Db.<init>(Db.java:26) 02-28 13:49:31.511: ERROR/AndroidRuntime(660): at tuto.phanou.tuto.onCreate(tuto.java:48) 02-28 13:49:31.511: ERROR/AndroidRuntime(660): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 02-28 13:49:31.511: ERROR/AndroidRuntime(660): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 02-28 13:49:31.511: ERROR/AndroidRuntime(660): ... 11 more
Partager