terça-feira, 22 de outubro de 2013

Curso de Criação de Apps Móveis com PhoneGap e jQuery Mobile - Licão 5


Bem, chegou a hora do nosso exercício final!

Baixe os arquivos correspondentes a esta aula. A pasta completa está em: 





O trabalho "Criação de aplicações Móveis com PhoneGap e jQuery Mobile" de Cleuton Sampaio de Melo Jr está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Isso inclui: Textos, páginas, gráficos e código-fonte.

Prática final


Você vai criar uma aplicação PhoneGap (Cordova) com jQuery Mobile para obter os dados das ações da Google, utilizando o Webservice SOAP/XML: “Stock Quote”:


A app só terá uma única “page”, com duas situações possíveis:


Ao clicar no botão “Atualizar”, deverá ser feito um request Ajax para o Webservice, que preencherá a <ul> “listview” que está colapsada, com todos os dados da ação.

O Webservice

Depois de acessar com o “soapui”, consegui obter o request e o response:

Request:

POST http://www.webservicex.net/stockquote.asmx HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: application/soap+xml;charset=UTF-8;action="http://www.webserviceX.NET/GetQuote"
Content-Length: 291
Host: www.webservicex.net
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:web="http://www.webserviceX.NET/">
   <soap:Header/>
   <soap:Body>
      <web:GetQuote>
         <!--Optional:-->
         <web:symbol>GOOGL</web:symbol>
      </web:GetQuote>
   </soap:Body>
</soap:Envelope>

Response:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap:Body>
      <GetQuoteResponse xmlns="http://www.webserviceX.NET/">
         <GetQuoteResult><![CDATA[<StockQuotes><Stock><Symbol>GOOGL</Symbol><Last>592.55</Last><Date>9/23/2014</Date><Time>12:24pm</Time><Change>-4.72</Change><Open>595.00</Open><High>596.65</High><Low>590.86</Low><Volume>801917</Volume><MktCap>400.8B</MktCap><PreviousClose>597.27</PreviousClose><PercentageChange>-0.79%</PercentageChange><AnnRange>421.912 - 615.055</AnnRange><Earns>19.30</Earns><P-E>30.95</P-E><Name>Google Inc.</Name></Stock></StockQuotes>]]></GetQuoteResult>
      </GetQuoteResponse>
   </soap:Body>
</soap:Envelope>

Como no exercício da sessão anterior, o “miolo” da resposta vem dentro de um CDATA, logo, é um texto. Você precisa transformá-lo em XML para poder obter todas as propriedades.


Achou moleza?

Então faça para 4 ações:
  • MSFT: Microsoft;
  • AAPL: Apple;
  • PBR: Petrobras;
  • GOOGL: Google.