簡體   English   中英

如何檢索parseObject子類的指針[PARSE SERVER]

[英]How to retrieve a pointer of parseObject subclasses [PARSE SERVER]

我想使用子類,但我遇到了一些問題。 該文檔沒有說明如何檢索具有子類的解析服務器上可用的所有數據類型。

這是我的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());}

}

查找getFeed() <=此函數需要檢索的對象是這樣的:

@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 在此輸入圖像描述

我也有。

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()總是返回null。 感謝您的關注。

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

object.fetchIfNeeded()檢索任何數據之前,不要忘記調用object.fetchIfNeeded()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM