簡體   English   中英

解析Android SDK,saveAll子類對象?

[英]Parse Android SDK, saveAll subclass objects?

我正在Android上使用Parse SDK。 關於使用ParseObject.saveAll(List<ParseObject>)方法,似乎沒有任何文檔。 我有一個稱為Test的子類,該子類擴展了ParseObject 到目前為止,我已經可以使用大多數ParseObject方法,但是我想使用saveAll方法保存整個列表,但是它需要一個List<ParseObject>並且不接受List<Test> 有任何想法嗎?

您的ParseObject模型可能會這樣

class Person extends ParseObject
{
    public static String NAME = “name”;
    public static int AGE = “age”;
    public void setName(String name)
    {
        put(NAME,name);
    }
    public void setAge(int age)
    {
        put(AGE,age);
    }
    public Stirng getName()
    {
        return get(NAME);
    }
    public int getAge()
    {
        return get(AGE);
    }
}

現在,Person是ParseObject的子類。 您可以使用ParseObject.saveAll(List personList)

Person person1 = new Person();
person1.setName("Mike");
person1.setAge(18);
Person person2 = new Person();
person2.setName("John");
person2.setAge(25);
List<Person> personList = new ArrayList<Person>();
personList.add(person1);
personList.add(person2);
ParseObject.saveAll(personList);

在此處找到解決方案: https : //parse.com/questions/how-to-use-parseobjectsaveall-on-subclass

假設您有3個游戲對象game1,game2,game3,這應該可以工作:

列出mygames = new ArrayList(); mygames.addAll(Arrays.asList(game1,game2,game3)); ParseObject.saveAllInBackground(mygames);

另一種解決方案是在子類中編寫一個自定義的save all方法:

public static void saveAllInBackground(
        final List<MySubclass> objects,
        final SaveCallback savecallback) {

    counter = 0;

    for (MySubclass mySubclass : objects) {
        mySubclass.saveEventually(new SaveCallback() {

            @Override
            public void done(ParseException e) {
                if (e == null) {
                    counter++;
                    if (counter == objects.size()) {
                        savecallback.done(null);
                    }
                } else {
                    savecallback.done(e);
                }
            }
        });
    }
}

暫無
暫無

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

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