-1

Hi I am getting the following error in my code may be I am missing something, I have another with same kinds code and that works fine:

java.lang.NullPointerException: Attempt to invoke virtual method 'long app.akexorcist.bluetoothspp.DatabaseHelper.insertData(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)' on a null object reference

Here are some of the code:

Thank you

public void postDataToSQLite() { SharedPreferences sharedpreferences = getSharedPreferences(LoginActivity.MyPREFERENCES, Context.MODE_PRIVATE); SharedPreferences.Editor editor = sharedpreferences.edit();

    SharedPreferences vehiclesharedpreferences = getSharedPreferences(VehicleEntryActivity.MyVehicle, Context.MODE_PRIVATE);
    SharedPreferences.Editor vehicle_editor = sharedpreferences.edit();

    String name = txtName.getText().toString();
    String surname = txtSurname.getText().toString();
    String idno = txtIDNo.getText().toString();
    String birth = txtDateBirth.getText().toString();

    String username = sharedpreferences.getString(Name, "");
    editor.apply();

    String make = vehiclesharedpreferences.getString(Make, "");
    String colour = vehiclesharedpreferences.getString(Colour, "");
    String expiry = vehiclesharedpreferences.getString(Expiry, "");
    String regno = vehiclesharedpreferences.getString(RegNo, "");
    String date = vehiclesharedpreferences.getString(DateTime, "");
    String loc = vehiclesharedpreferences.getString(GPS, "");
    vehicle_editor.apply();

    String event = "Entry";

    if(name.isEmpty() || surname.isEmpty() || idno.isEmpty() || birth.isEmpty())
    {
        Toast.makeText(this, "Please scan drivers licence", Toast.LENGTH_SHORT).show();
    }
    else
    {
        long id = helper.insertData(make,colour,expiry,regno,date,loc,name,surname,idno,birth,event,username);
        Intent intent = null;
        if(id<=0)
        {
            Message.message(getApplicationContext(),"Failed... Please Check Data");
        }
        else
        {
            Message.message(getApplicationContext(),"Insert Successful");
            intent = new Intent(getApplicationContext(), Main.class);
            startActivity(intent);

        }
    }
}

Database helper class:

public long insertData(String make, String colour, String expiry,String regno,String date,String loc,String name,String surname,String idno,String birth,String event,String username) { SQLiteDatabase dbb = myhelper.getWritableDatabase();

    ContentValues contentValues = new ContentValues();
    contentValues.put(myDbHelper.COLUMN_MAKE, make);
    contentValues.put(myDbHelper.COLUMN_COLOUR, colour);
    contentValues.put(myDbHelper.COLUMN_EXPIRY_DATE, expiry);
    contentValues.put(myDbHelper.COLUMN_REG_NO, regno);
    contentValues.put(myDbHelper.COLUMN_DATE, date);
    contentValues.put(myDbHelper.COLUMN_LOC, loc);
    contentValues.put(myDbHelper.COLUMN_DRIVER_NAME, name);
    contentValues.put(myDbHelper.COLUMN_DRIVER_SURNAME, surname);
    contentValues.put(myDbHelper.COLUMN_DRIVER_IDNO, idno);
    contentValues.put(myDbHelper.COLUMN_DRIVER_BIRTH, birth);
    contentValues.put(myDbHelper.COLUMN_EVENT, event);
    contentValues.put(myDbHelper.COLUMN_ENTRY_USERNAME, username);
    long id = dbb.insert(myDbHelper.TABLE_SCAN, null , contentValues);
    dbb.close();
    return id;
}

E/AndroidRuntime: FATAL EXCEPTION: main Process: app.akexorcist.bluetoothspp, PID: 23330 java.lang.NullPointerException: Attempt to invoke virtual method 'long app.akexorcist.bluetoothspp.DatabaseHelper.insertData(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)' on a null object reference at app.akexorcist.bluetoothspp.LicenseEntryActivity.postDataToSQLite(LicenseEntryActivity.java:281) at app.akexorcist.bluetoothspp.LicenseEntryActivity$1.onClick(LicenseEntryActivity.java:81) at android.view.View.performClick(View.java:4781) at android.view.View$PerformClick.run(View.java:19874) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5254) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:902) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:697)

SilverMecer
  • 23
  • 1
  • 4

1 Answers1

0

Your variable "helper" seems to be null or not instatiated.

How do you call ur helper ?

Kévin Giacomino
  • 487
  • 4
  • 11
  • Thank you for the help, I did miss it in the code: SQLITEHELPER = new DBHelper(this); helper = new DatabaseHelper(this); – SilverMecer Jan 23 '19 at 13:47