Skip to content Skip to sidebar Skip to footer

Accessing A Custom Column In Parse.com User Table Returning Me Null

I am trying to retrieve a new column called 'address' I created in Parse User in my android app. But it returns me nullPointerException error and returns me nothing although I fill

Solution 1:

Alright, I found the answer on my own. It turns out that Parse caches the ParseUser.getCurrentUser() object locally and the reason I wasn't able to get the data from server was because I changed the data on server and the client cache wasn't updated. I was able to fix this by fetching the ParseUser object from the server:

ParseUser.getCurrentUser().fetchInBackground();

and then after the object is retrieved from the server I was able to get the address field on my client.

Solution 2:

You need to call it using a Query, then display it in a textView/editText. Try the following:

final ParseQuery<ParseObject> address = ParseQuery.getQuery("//Class Name");
    address.getFirstInBackground(newGetCallback<ParseObject>() {

        publicvoiddone(ParseObject reqAdd, ParseException e) {

            if (address != null) {
                Log.d("quizOne", "Got it");
                //Retrieve AgeString//CreateNewString = reqAdd.getString("//Column name");TextView//textView Name = (TextView) findViewById(R.id.//textView ID);//textViewName.setText(//StringName);Toast.makeText(getApplicationContext(),
                        "Successfully Recieved Address",
                        Toast.LENGTH_LONG).show();


            } else {
                Log.d("//EnterName", "//Enter Error Message");
                Toast.makeText(getApplicationContext(),
                        "Can't receive address", Toast.LENGTH_LONG)
                        .show();
            }
        }
    });

Solution 3:

Short answer: that user probably just doesn't have an address set.

Long answer: your code snippet will throw exceptions often, and you should expect and handle those, or use tests to avoid throwing them.

Read this page: http://en.wikibooks.org/wiki/Java_Programming/Preventing_NullPointerException

Key example/excerpt:

Objectobj=null;
obj.toString();  // This statement will throw a NullPointerExcept

So pUser.getString("address") appears correct. But calling .toString() on the result requires you to be try/catching the exception. Maybe do

ParseUserpUser= ParseUser.getCurrentUser();
if (pUser.getString("address") != null) {
    userAddress.setText(pUser.getString("address"));
}

BTW, I believe the error is "nullPointerException" fyi! :)

Post a Comment for "Accessing A Custom Column In Parse.com User Table Returning Me Null"