Как получить указатель на подклассы parseObject [PARSE SERVER] - PullRequest
0 голосов
/ 11 декабря 2018

Я бы хотел использовать подклассы, но у меня есть некоторые проблемы с этим.В документации не разъясняется, как извлечь все типы данных, доступные на сервере синтаксического анализа с подклассами.

это мой 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());}

}

Lookfor getFeed () <= Объект, который должна получить эта функция, это: </p>

@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);
}
}

Вы можете увидеть, как увидеть эти объекты здесь: это изображение относится к objOwnFeeds enter image description here

У меня тоже есть.

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

Это мой запрос:

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());

            }
        }
    }

});

но getFeed () всегда возвращает ноль.Спасибо за внимание.

1 Ответ

0 голосов
/ 10 января 2019
public objFeed getFeed() { return ParseObject.createWithoutData(objFeed.class, getParseObject(ParseIdentifier.getFeed()).getObjectId(); }

Не забудьте позвонить по номеру object.fetchIfNeeded(), прежде чем извлекать из него какие-либо данные.

...