Android : Parse : Java null exception

on Tuesday, October 28, 2014


I have 2 user types , student and teachers. Need to write code to check if current user is student or teacher so i can start Activity(StudentActivity , TeacherActivity) and if user is not cashed i will send him to LoginActivity.


I have query that checks usernames from Parse Cloud and store it in array.


Now when I try to get ParseUser.getCurrentUser().getUsername and check if that username is in array I get Null Pointer Exception.


Here's Code .



@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

queryStudent();

Intent intent;

if(ParseUser.getCurrentUser() == null){
intent = new Intent(MainActivity.this,LoginActivity.class);

}
else if(Arrays.asList(studentUsernames).contains(ParseUser.getCurrentUser().getUsername())){
isStudent = true;

}
if (isStudent) {

Intent intent1 = new Intent(this, StudentActivity.class);
intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent1.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent1);
}

if(!isStudent){

Log.d("tag","user is teacher");
}

}


And here is Query Student method:



public void queryStudent(){

ParseQuery<ParseUser> query = ParseUser.getQuery();
query.whereEqualTo("Type","student");
query.findInBackground(new FindCallback<ParseUser>() {
@Override
public void done(List<ParseUser> users, ParseException e) {
if(e == null){
//Success!
mUsers = users;
studentUsernames = new String[mUsers.size()];
int i = 0;
for(ParseUser user : mUsers){
studentUsernames[i] = user.getUsername();
i++;
}

}else {
//Failed
}
}
});
}


Error : Unable to start activity ComponentInfo{com.aubihlms.aubih/com.aubihlms.aubih.MainActivity}: java.lang.NullPointerException: storage == null


0 comments:

Post a Comment