public class ShowBPGraphActivity extends AppCompatActivity {
public GraphView graphView;
public LineGraphSeries <DataPoint>lineGraphSeries; 
public String systolicbp;
public String diastolicbp;
public String timebp;
public String datebp;
public DatabaseReference db;
public BPFragmentTable bpFragmentTable = new BPFragmentTable(  );
 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate( savedInstanceState );
    setContentView( R.layout.activity_show_bp_graph );
    ButterKnife.bind( this );
     db = FirebaseDatabase.getInstance().getReference("bpfragmentTable");
    final GraphView graph = (GraphView) findViewById( R.id.graphView );
    final List<BPFragmentTable> bpFragmentTableList = new ArrayList<>();
    //Get datasnapshot at your "users" root node
    DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("bpfragmentTable");
    ref.addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    List<BPFragmentTable> bpfragmentTableList = new ArrayList<>();
                    for(DataSnapshot dataSnapshot1 :dataSnapshot.getChildren()){
                        BPFragmentTable bpfragmentTable = dataSnapshot1.getValue(BPFragmentTable.class);
                        systolic = bpfragmentTable.getSystolicbp();
                        diastolic = bpfragmentTable.getDiastolicbp();
                        date = bpfragmentTable.getDatebp();
                        time = bpfragmentTable.getTimebp();
                        //bpfragmentTable.setSystolicbp(systolic);
                        //bpfragmentTable.setDiastolicbp(diastolic);
                        //bpfragmentTable.setDatebp(date);
                        //bpfragmentTable.setTimebp(time);
                        bpfragmentTableList.add(bpfragmentTable);
                        // Toast.makeText(MainActivity.this,""+name,Toast.LENGTH_LONG).show();
                    }
                @Override
                public void onCancelled(DatabaseError databaseError) {
                    //handle databaseError
                }
            });
// please help me why i get null value in systolic diastolic date and time
            System.out.println( "systolicbp" + systolicbp );
            System.out.println( "diastolicbp" + diastolicbp );
            System.out.println( "datebp" + datebp );
            System.out.println( "timebp" + timebp );
    try {
        @SuppressLint("SimpleDateFormat") SimpleDateFormat formatter = new SimpleDateFormat("hh:mm a\nMMM dd yyyy");
        dateValued = formatter.parse(datebp);
        dateInMills = dateValued.getTime();
    } catch (ParseException e) {
        e.printStackTrace();
    }
    final long xlong = dateInMills;
    final int ysystolicInt  = Integer.parseInt( systolicbp );
    final int ydiastolicInt = Integer.parseInt( diastolicbp );
this is the error in the picture

I want to get bpfragmentTable all values and store all values in the string variable and use that variable to draw a graph in the graph view. I want to get all values from the table-BPFragment table  in the picture:

and this is the class of getter and setter of BPFragmentTable.class
public class BPFragmentTable {
public String bpid;
public String systolicbp;
public String diastolicbp;
public String datebp;
public String timebp;
public BPFragmentTable(){}
public BPFragmentTable(String bpid,String systolicbp,String diastolicbp,String datebp,String timebp) {
     this.bpid = bpid;
     this.systolicbp = systolicbp;
     this.diastolicbp = diastolicbp;
     this.datebp = datebp;
     this.timebp = timebp;
}
public String getBpid() {
    return bpid;
}
public void setBpid(String  bpid) {
    this.bpid = bpid;
}
public String getSystolicbp() {
    return systolicbp;
}
public void setSystolicbp(String systolicbp) {
    this.systolicbp = systolicbp;
}
public String getDiastolicbp() {
    return diastolicbp;
}
public void setDiastolicbp(String diastolicbp) {
    this.diastolicbp= diastolicbp;
}
public String getDatebp() {
    return datebp;
}
public void setDatebp(String datebp) {
    this.datebp= datebp;
}
public String getTimebp() {
    return timebp;
}
public void setTimebp(String timebp) {
    this.timebp= timebp;
} 
}
Why do I get null object reference?
 
    