2015-09-24 2 views
0

Я только начал реализовывать синтаксический анализ в своем приложении. Я хочу сохранить данные пользователя в облаке, чтобы к ним могли обращаться другие пользователи. Я пытаюсь подклассифицировать ParseObject так же, как они руководствуются в их учебнике. Я могу видеть на панели инструментов новый класс, который я создал, но ни один объект не загружается там.ParseObject Не сохраняется на панели мониторинга

такой же предмет примерно примерObject.

это приложение Класс OnCreate():

Parse.enableLocalDatastore(this); 
    ParseObject.registerSubclass(MyClass.class); 
    Parse.initialize(this, "XXXX", "YYYY"); 

    ParseObject testObject = new ParseObject("Object"); 
    testObject.put("foo", "bar"); 
    testObject.saveInBackground(); 

    MyClass R = new MyClass(); 
    R.set(...) //here i set all attributes 
    ArrayList<Ingredient> arrayList = new ArrayList<>(); 
    R.saveInBackground(); 

МойКласс:

@ParseClassName("MyClass") 
public class MyClass extends ParseObject implements Serializable , Cloneable{ 

private attrs; //define Class's attributes 

public MyClass() 
{ 
    super(); 
} 

Я добавил использования-разрешения и Gradle кода.

ответ

0

Вы используете R.set() для установки атрибутов, но для ParseObjects нет установленного метода, и я не вижу его в MyClass().

Попробуйте использовать R.put (ключ, значение), чтобы добавить данные к объекту.

От Parse.com:.

«Вы можете добавить аксессоров и мутаторов для полей вашей ParseObject легко Declare сорбент и сеттер для поля, как обычно, но реализовать их с точки зрения ГЭТ() . и положить() следующий пример создает поле Выводимое в классе брони: «

// Armor.java 
@ParseClassName("Armor") 
public class Armor extends ParseObject { 
    public String getDisplayName() { 
    return getString("displayName"); 
    } 
    public void setDisplayName(String value) { 
    put("displayName", value); 
    } 
} 
+0

от того, что я понимаю в их учебнике он должен работать таким образом .. » Наследование не является обязательным, но может превратить этот код: " ParseObject shield = new Par seObject ("Armor"); shield.put ("displayName", "Wooden Shield"); shield.put ("огнестойкий", ложный); shield.put ("рупии", 50); В этот: Броня - новая броня(); shield.setDisplayName («Деревянный щит»); shield.setFireproof (false); shield.setRupees (50); –

+0

Да, вы можете использовать методы setDisplayName(), setFireproof(), setRupees(), но вам нужно будет определить эти методы в новом классе с использованием метода put. Проверьте обновленный ответ. – CipherOne

+0

Это, вероятно, было частью проблемы, но я до сих пор не вижу даже простых тестовых объектов. Должна быть какая-то другая проблема. –

Смежные вопросы