samedi 12 décembre 2015

SQLite NullPointerException error [duplicate]

This question already has an answer here:

package com.theeye.game;

import android.content.ContentValues;
import android.content.Context;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class HiScoreAdapter {

HiScoreDatabse databse;

public HiScoreAdapter(Context context) {
databse = new HiScoreDatabse(context);
}

public long insertData(String name, int score) {
SQLiteDatabase db = databse.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(HiScoreDatabse.ColumName, name);
contentValues.put(HiScoreDatabse.ColumScore, score);
long id = db.insert(HiScoreDatabse.TableName, null, contentValues);
return id;
}

static class HiScoreDatabse extends SQLiteOpenHelper {

private static final String DBName = "HiScore.db";
private static final int DBVersion = 1;

private static final String TableName = "Hi-Score";

private static final String ColumName = "Name";
private static final String ColumScore = "Score";

private static final String createTable = "CREATE TABLE IF NOT EXISTS " + TableName + " (" + ColumName
        + " VARCHAR(255), " + ColumScore + " VARCHAR(255));";
private static final String dropTable = "DROP TABLE IF EXISTS " + TableName;

private Context contextDatabase;

public HiScoreDatabse(Context contextSuper) {
    super(contextSuper, DBName, null, DBVersion);
    this.contextDatabase = contextSuper;
    Message.message(contextDatabase, "constructor called");
}

@Override
public void onCreate(SQLiteDatabase db) {

    try {
        db.execSQL(createTable);
        Message.message(contextDatabase, "onCreate called");
    } catch (SQLException e) {

        Message.message(contextDatabase, "" + e);
    }

}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    try {
        Message.message(contextDatabase, "onUpgrade called");
        db.execSQL(dropTable);
        onCreate(db);
    } catch (SQLException e) {

        Message.message(contextDatabase, "" + e);

    }

}
}
}

I em getting a similar error in insertData know error:

12-12 16:52:15.668: E/AndroidRuntime(26471): java.lang.NullPointerException: Attempt to invoke virtual method 'void com.theeye.game.HiScoreAdapter.insertData(java.lang.String, int)' on a null object reference

do i need to add a context to it or something else ??? this is a updated code from SQLite error in onCreate

Aucun commentaire:

Enregistrer un commentaire