2014-12-10 5 views
1

Я только что начал изучать Android Spring через библиотеку RoboSpice, которая используется для асинхронных задач RESTFUL. Я собираюсь подключить приложение Android к rails api. Он также использует Джексона. Я получаю от этого зависание, но главное, с чем я не могу окутать голову, это то, как я создаю класс объекта в java, а затем выполняю POST или GET и ожидаю вернуть правильный объект из модели рельсов или как он мог бы знать, как сохранять опубликованные данные в модели. Например, если у меня есть модель под названием Interview, которая принадлежит пользователю (у которого много), который содержит информацию, такую ​​как работа, дата, время, компания.Как создать объект java для получения модели из моих rails api?

Как бы написать этот объект? Существует ли какая-то конкретная структура для этого класса объектов? Как я могу использовать, чтобы получить интервью от пользователя? Любые объяснения или ссылки на хороший учебник будут большой помощью.

благодаря

+0

Есть ли у вас рельсы приложения уже есть Restful api, который отображает json? – nPn

+0

Это XML, я считаю, – Will

ответ

2

Я использовал Дооснащение для связи между моими рельсами приложением и приложением для Android. Я думал, что это только json, но, видимо, он работает и с XML.

Вот ссылка на основную сеть page, и вот ссылка на page, где говорится о поддержке xml.

Retrofit обеспечивает связь между Android и Restfully API, довольно легко. Вы можете получить все подробности в первой ссылке выше.

Последний превосходный ресурс для доступа к API для Android RestFul. Этот блог post сочетает в себе использование Retrofit и Otto (также из квадрата). На самом деле это была настройка моей ссылки. Поскольку retrofit поддерживает xml, я думаю, что все в этом сообщении в блоге также применимо к API на основе XML.

Я думаю, что большая часть вашего вопроса была посвящена процессу преобразования. Retrofit использует Simple, для xml он использует gson для json по умолчанию, но процесс преобразования очень похож. Главное, что вам нужно сделать, это определить класс java, который имеет поля, соответствующие узлам xml в XML, которые отправляются/ожидаются api. конвертер будет отображать эти узлы в поля объекта java и наоборот.

Ниже приведен пример (непосредственно из приведенной выше простой учебной ссылки). Класс java - это просто поля, которые вы хотите отправить туда и обратно, а также получатели и сеттеры для этих полей.

Вложенного Java класс «шаблон», который будет заполняться преобразователем, когда он делает Десериализацию

@Root 
public class Configuration { 

    @Element 
    private Server server; 

    @Attribute 
    private int id; 

    public int getIdentity() { 
     return id; 
    } 

    public Server getServer() { 
     return server;   
    } 
} 

public class Server { 

    @Attribute 
    private int port; 

    @Element 
    private String host; 

    @Element 
    private Security security; 

    public int getPort() { 
     return port;   
    } 

    public String getHost() { 
     return host;   
    } 

    public Security getSecurity() { 
     return security;   
    } 
} 

public class Security { 

    @Attribute 
    private boolean ssl; 

    @Element 
    private String keyStore; 

    public boolean isSSL() { 
     return ssl;   
    } 

    public String getKeyStore() { 
     return keyStore;   
    } 
} 

и XML, что было бы сериализовать

<configuration id="1234"> 
    <server port="80"> 
     <host>www.domain.com</host> 
     <security ssl="true"> 
     <keyStore>example keystore</keyStore> 
     </security> 
    </server> 
</configuration> 
+0

вы получили модернизацию для работы с api на основе xml? Как я уже сказал в своем ответе, я использовал его с json, поэтому мне интересно, как это работает с XML-данными – nPn

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

  • Нет связанных вопросов^_^