2015-02-25 2 views
1

У меня есть модель User, и я хочу отправить ее через AsyncHttpClient. Документация говорит, что я должен добавить каждый параметр вручную:Android AsyncHttpClient: как выполнить POST пользовательский объект (модель)?

RequestParams params = new RequestParams(); 
params.put("username", user.name); 
params.put("password", user.password); 
... 

я действительно необходимый, чтобы сделать это каждый раз, когда мне нужно POST модели? Что делать, если моя модель имеет 100 полей? Есть быстрый способ сделать это следующим образом:

RequestParams params = new RequestParams(); 
params.put("user", user); 

- да, я видел, что это возможно, если user является Map но что, если user является обычай Object (модель)? Я новичок в Android, поэтому не знаю, есть ли простой способ конвертировать Object в Map?

+0

Очевидно, что вам необходимо написать такое преобразование самостоятельно: Создать HashMap и заполнить поля – jobcrazy

ответ

4

Это зависит от вас, как вы хотите отправить данные.

Один из вариантов - использовать JSON с Gson library Google.

Затем вы можете сделать, например:

params.put("user", new Gson().toJson(user)); 

toJson() преобразует объект в JSON строку, вам нужно будет десериализации на сервере. Example

+0

потрясающе, спасибо! – oyatek