2014-01-17 8 views
0

Я пытаюсь создать метод, который при вызове добавит новый Entity. Мы пытаемся использовать for loop и ArrayList для этого. До сих пор это то, что у меня есть:Создание нескольких объектов Google App Engine в цикле for

public void createUserEntity() { 
    ArrayList<Entity> user = new ArrayList<Entity>(); 
} 

Проблема заключается в Entity классе от com.google.appengine.api.datastore.Entity и требует key аргумента при создании it.For примера Entity user = new Entity("user"); Am not sure how to add this ключ argument when creating a new Entity using ArrayList.

Покушение на ArrayList<Entity> user = new ArrayList<Entity>("user"); помечено с сообщением об ошибке Remove argument to match 'ArrayList<Entity>()'

+0

Что вы делаете правильно. Вам не нужно создавать массив, как новый ArrayList («пользователь»). –

+0

Не понимаю. –

ответ

1

Вам не нужно пытаться ArrayList<Entity> user = new ArrayList<Entity>("user"); так как конструктор аргумент не является правильным.

Фактически, способ, которым вы его построили, был верным.

Прежде всего, вы пытаетесь создать одно сущность или несколько объектов. Имя вашего метода createUserEntity, по-видимому, означает только одно сущность.

Я считаю, что вы, возможно, придется написать свой код немного, как это:

public void createUserEntity(**//Pass** some parameters here) { 

    //Instantiate your new Entity over here 
    Entity newItem = new Entity("YourEntityName",KeyValue); 
    newItem.setProperty("prop1",prop1value); 
    newItem.setProperty("prop2",prop2value); 
    ... 
    //Persist the Entity 

} 

Вы можете передать значение ключа в параметрах этому методу или получить его с помощью какой-то генератор класса, если это то, что вы делает.

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

+0

Я пытаюсь создать новый объект каждый раз при вызове метода. Я не очень хорошо знаком с сохраняющимися объектами, но, судя по вашему примеру, это новый объект, созданный и сохраняемый каждый раз при вызове 'createUserEntity()'? –

+1

Да. Каждый раз, когда вам нужно создать новый Entity, вы можете вызвать метод 'createUserEntity()', передать ему параметры для этого Entity и убедиться, что вы кодируете код Persistence внутри метода createUserEntity(). Подробнее см. Http://googcloudlabs.appspot.com/codelabexercise1.html. – Romin

+1

Спасибо man.I получить его сейчас. –

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