PDF de programación - Consumo de servicio web desde aplicaciones móviles - guia lab11

Imágen de pdf Consumo de servicio web desde aplicaciones móviles - guia lab11

Consumo de servicio web desde aplicaciones móviles - guia lab11gráfica de visualizaciones

Publicado el 21 de Octubre del 2018
218 visualizaciones desde el 21 de Octubre del 2018
1,7 MB
36 paginas
Creado hace 5a (06/06/2014)
UNIVERSIDAD DE EL SALVADOR

FACULTAD DE INGENIERIA Y ARQUITECTURA

ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS

PROGRAMACION PARA DISPOSITIVOS MOVILES

PDM115 Ciclo I-2014



GUIA DE LABORATORIO N° 11(preliminar)

CONSUMO DE SERVICIO WEB DESDE APLICACIONES MOVILES



Objetivo: Que el estudiante conozca las funciones básicas para consumir un servicio
web de forma síncrona desde una aplicación móvil en 2 plataformas estudiadas en la
asignatura, manejar los errores que pueda producirse en la conexión, y que además
conozca las funciones básicas para realizar la lectura y análisis de un archivo XML.

Descripción: En esta sesión de laboratorio se creara una función en la cual se
establecerá una conexión con un servicio web local de forma síncrona, el dato recibido
será un archivo XML, con el cual utilizaremos un parser para obtener el dato
correspondiente.




Tabla de contenido

Aplicaciones con Servicio Web ...................................................................................................... 1

Desarrollo en Android ................................................................................................................... 3

Modificar el recurso String.xml ................................................................................................. 6

Modificación de la Interfaz gráfica (layout activity_main.xml) ................................................. 6

Aplicación (Archivo Java) ........................................................................................................... 7

Controlador de Datos .............................................................................................................. 10

Desarrollo en iOS ......................................................................................................................... 15

Interfaz Gráfica ........................................................................................................................ 17

Creando conexión al Servicio Web .......................................................................................... 19

Parser XML .............................................................................................................................. 24

Parseo JSON ............................................................................................................................ 25

Anexo 1 Buscar la dirección IP de nuestra pc por medio de consola .......................................... 27

Anexo 2 Buscar la dirección IP de nuestra pc de forma visual .................................................... 28

Anexo 3 Código Fuente de ViewController.m ............................................................................. 30







3



Aplicaciones con Servicio Web



Primeramente debemos recordar que los servicio web se definen como
sistemas de software diseñados para soportar una interacción maquina a máquina
sobre una red, en otras palabras, podríamos decir que son como API's Web que
pueden ser accedidas dentro de una red y son ejecutadas en el sistema que las aloja.
Por ejemplo se podría crear un servicio web que realice operaciones matemáticas,
luego desde una aplicación podríamos invocar ese servicio siempre y cuando tenga
conexión a la red en la cual se encuentra, para que de esa manera nuestra aplicación
pueda realizar esas operaciones matemáticas definidas en el servicio web. Esto es muy
útil cuando el dispositivo que ejecutara nuestra aplicación no posee los suficientes
recursos para realizar ciertos procesos, imaginemos que las operaciones matemáticas
son muy complejas, entonces estos se ejecutan en un servidor y luego solo es enviada
la respuesta.

Los servicios web más comunes son los que se refiere a clientes y servidor que se
comunican mediante mensajes XML que siguen el estándar SOAP. En los últimos años
se ha popularizado un estilo de arquitectura Software conocido como REST.

REST (Representational State Transfer) es un estilo de arquitectura de software para
sistemas hipermedias (conjunto de métodos para escribir, diseñar y componer
contenidos de multimedia) distribuidos tales como
la Web. Este se refiere
estrictamente a una colección de principios para el diseño de arquitecturas en red.
Estos principios resumen como los recursos son definidos y diseccionados. Ahora cabe
aclarar que REST no es un estándar sino solamente un estilo de arquitectura, pero a
pesar que no es un estándar se base en estándares tales como HTTP, URL,
Representación de Recursos (XML, HTML, GIF ,etc.) y tipo MIME (text/xml, text/html,
etc.).

Con REST tenemos la posibilidad de recibir dos tipos de respuesta, en XML y JSON. La
forma como funciona es similar a un cliente/servidor web normal a diferencia que hoy
nuestra aplicación procesara los datos, una característica de la arquitectura REST es
que la petición se expone en la URL en forma de directorios y recursos.

Como se mencionó antes la respuesta puede ser en XML o JSON, por tal motivo la
aplicación debe contener un parser (analizador sintáctico) para poder obtener la
información contenida en estas respuestas enviadas desde el web service. Un parser
puede ser un objeto que toma el archivo y lo analiza para obtener la información
requerida.



1





Para la realización de los siguientes proyectos el servicio estaba alojado en la dirección
http://172.16.14.227:8080 /WelcomeRESTXML/webresources/welcome y la respuesta en
todos los casos es:


<respuesta>

<numero>uno</numero>

</respuesta>



2





Desarrollo en Android

 Ejecutamos Eclipse
 Creamos un nuevo Proyecto de Aplicación de Android

o Nombre de la Aplicación: Web Service
o Nombre del proyecto: WebServiceCarnet_Android
o Paquete: sv.ues.fia.carnet
o Minima API requerida: 8
o API objetivo: 17
o Elegir Blank Activity
o Nombre de la Actividad: MainActivity
o Nombre del Layout: activity_main

Presione clic en siguiente (Next)



3







Presione clic en siguiente (Next)

Presione clic en siguiente (Next)

4





Clic en Siguiente (Next)

Clic en Finalizar (Finish)



5



Modificar el recurso String.xml

Una vez que ya tengamos listo el proyecto agregaremos un nuevo recurso de tipo string en
res/values/string.xml



<?xml version="1.0" encoding="utf-8"?>
<resources>

<string name="app_name">WebService</string>
<string name="action_settings">Settings</string>
<string name="indicaciones">Ingrese un digito</string>
<string name="servicioLocal">Servicio Local</string>
<string name="servicioLocalUES">Servidor UES local</string>
<string name="servicioPublicoUES">Servidor UES publico</string>
<string name="hostGratuito">Hosting Gratuito</string>

</resources>



Modificación de la Interfaz gráfica (layout activity_main.xml)
Sustituimos en su totalidad el código por el siguiente

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
tools:context=".MainActivity" >

<TextView
android:id="@+id/textInidicaciones"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/indicaciones" />

<EditText
android:id="@+id/editEntrada"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number" >

<requestFocus />
</EditText>

<Button
android:id="@+id/Button4"
android:layout_width="318dp"
android:layout_height="wrap_content"
android:onClick="obtenerDatosLocal"
android:text="@string/servicioLocal" />
<Button
android:id="@+id/Button1"
android:layout_width="318dp"
android:layout_height="wrap_content"
android:onClick="obtenerDatosLocalUES"



6





android:text="@string/servicioLocalUES" />
<Button
android:id="@+id/Button3"
android:layout_width="318dp"
android:layout_height="wrap_content"
android:onClick="obtenerDatosPublicaUES"
android:text="@string/servicioPublicoUES" />
<Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="obtenerDatos"
android:text="@string/hostGratuito" />

<TextView
android:id="@+id/textSalidaLocal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="" />

<TextView
android:id="@+id/textSalidaLocalUes"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView
android:id="@+id/textSalidaHost"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="" />

</LinearLayout>

Aplicación (Archivo Java)


Como se puede observar en la definición de Button el evento onClick responderá a la función
obtenerDatos. Ahora modificaremos MainActivity para que realice la conexión, para esto se
auxiliara de una clase “Controladora” que es la que realizara la conexión al servicio web y
realizara el parseo de la respuesta. En la parte marcado por amarillo, se debe de sustituir, la
dirección ip asignada por la dirección ip de la compu
  • Links de descarga
http://lwp-l.com/pdf13973

Comentarios de: Consumo de servicio web desde aplicaciones móviles - guia lab11 (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad