SQLite création Base de données
Bonjour,
Je cherche désespérement a implanter une bas de données dans mon application.
Ci dessous le code de ma classe Db
Code:
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;
}
} |
Mon programme ne démarre même pas, apparement une erreur dans
Code:
02-28 13:49:31.511: ERROR/AndroidRuntime(660): at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:98)
Je n'arrive pas à savoir ce qui ne va pas.
Merci d'avance pour votre aide
Code:
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 |