3

I'd like to use subclasses, but I'm having some issues with this. The documentation does not make it clear how to retrieve all the data types available on the parse server with the subclasses.

this is my objOwnFeeds:

@ParseClassName(ParseIdentifier.ownFeedsClass)

public class objOwnFeeds  extends ParseObject {
    //starter fields
    public String getObjectId() {
        return getString(ParseIdentifier.getObjectIdField());
    }
    public ParseACL getAcl() {
        return getACL();
    }
    public void setAcl(ParseACL acl) {
        setACL(acl);
    }
    public Date getCreatedAt() {
        return getCreatedAt();
    }
    public void setCreatedAt(Date date) {
        setCreatedAt(date);
    }



    //extended fields

      //Strings
        public String getOwnerId() {
            return getString(ParseIdentifier.getOwnerId());
        }
        public String getUserInfoId() {return getString(ParseIdentifier.getUserInfoId());}
        public String getFeedId() {return getString(ParseIdentifier.getFeedId());}
        public String getType() {return getString(ParseIdentifier.getType());}


      //Booleans
      public Boolean isCreatedByMe() {return getBoolean(ParseIdentifier.getCreatedByMe());}
      public Boolean canNotification() {return getBoolean(ParseIdentifier.getCanNotification());}
      public Boolean isLikedByMe() {return getBoolean(ParseIdentifier.getLikedByMe());}
      public Boolean isFollowedByMe() {return getBoolean(ParseIdentifier.getFollowedByMe());}

      //Parse Objects { the problem is here!}
     public objFeed getFeed() {return (objFeed) getParseObject(ParseIdentifier.getFeed());}


      //numbers
      public int getIntervalNotification() {return getInt(ParseIdentifier.getIntervalNotification());}
      public long getLastNotificationSent() {return getLong(ParseIdentifier.getLastNotificationSent());}

}

Look for getFeed() <= The object that this function needs to retrieve is this one:

@ParseClassName(ParseIdentifier.feedsClass)

public class objFeed extends ParseObject {

public String getObjectId() {
    return getString(ParseIdentifier.getObjectIdField());
}


public String getNome() {
    return getString(ParseIdentifier.nomeFeedField);
}

public void setNome(String nome) {
    put(ParseIdentifier.nomeFeedField, nome);

}

public String getNomeToLowerCase() {
    return getString(ParseIdentifier.nomeToLowerCaseFeedField);
}

public void setNomeToLowerCase(String nomeToLowerCase) {
    put(ParseIdentifier.nomeToLowerCaseFeedField, nomeToLowerCase);

}

public String getUsers() {
    return getString(ParseIdentifier.usersFeedField);
}

public void setUsers(String users) {
    put(ParseIdentifier.usersFeedField, users);
}

public int getTotalLikes() {
    return getInt(ParseIdentifier.totalLikesFeedField);
}
public void setTotalLikes(int totalLikes) {
    put(ParseIdentifier.totalLikesFeedField, totalLikes);
}

public int getgetRankPosition() {
    return getInt(ParseIdentifier.rankPosition);
}
public void setRankPosition(int rankPosition) {
    put(ParseIdentifier.rankPosition, rankPosition);
}

public int getTotalFollowers() {
    return getInt(ParseIdentifier.totalFollowersFeedField);
}

public void setTotalFollowers(int totalFollowers) {
    put(ParseIdentifier.totalFollowersFeedField, totalFollowers);
}

public ParseACL getAcl() {
    return getACL();
}

public void setAcl(ParseACL acl) {
    setACL(acl);
}

public String getUserId() {
    return getString(ParseIdentifier.userIdFeedField);
}

public void setUserId(String userId) {
    put(ParseIdentifier.userIdFeedField, userId);
}

public Date getCreatedAt() {
    return getCreatedAt();
}

public void setCreatedAt(Date date) {
    setCreatedAt(date);
}

public String getUrlFeed() {
    return getString(ParseIdentifier.urlFeedFeedField);
}

public void setUrlFeed(String urlFeed) {
    put(ParseIdentifier.urlFeedFeedField, urlFeed);
}

public ParseUser getCreatedBy() {
    return getParseUser(ParseIdentifier.createdByField);
}

public void setCreatedBy(ParseUser user) {
    put(ParseIdentifier.createdByField, user);
}
}

You can see how to see these objects here: this image refers to objOwnFeeds enter image description here

I have it too.

ParseObject.registerSubclass(objFeed.class);
ParseObject.registerSubclass(objOwnFeeds.class);

This is my query:

ParseQuery query = new ParseQuery(objOwnFeeds.class);
query.include("Feed");
query.findInBackground(new FindCallback<objOwnFeeds>() {
    @Override
    public void done(List<objOwnFeeds> objects, ParseException e) {
        if (e == null){

            for (objOwnFeeds obj : objects) {
                Log.i("xxxzdae", "done: " + obj.getFeed().getObjectId());

            }
        }
    }

});

but getFeed() always returns null. Thank you for your attention.

1 Answers1

1
public objFeed getFeed() { return ParseObject.createWithoutData(objFeed.class, getParseObject(ParseIdentifier.getFeed()).getObjectId(); }

Don't forget to call object.fetchIfNeeded() before you retrieve any data from it.

krsnk
  • 267
  • 1
  • 10