You are on page 1of 10

Qu es SDK?

El kit de desarrollo de software o ms conocido como SDK es por norma general


un conjunto de herramientas de desarrollo de software que permite a un
programador crear programas y aplicaciones para un sistema o plataforma concretos.




Suelen incluir un soporte para la deteccin de errores, un entorno de desarrollo
integrado y otro tipo de utilidades. Suelen incluir tambin algn tipo de explicacin de
lo que contiene, algunos cdigos de ejemplos y un manual de uso. (Triana)
La mayora de los kits de desarrollo de software son gratuitos y se distribuyen
libremente por internet para as fomentar la colaboracin de los desarrolladores
para mejorar su producto y para que utilicen su lenguaje. Tambin se utiliza como
herramienta de mrketing, ya que por ejemplo, si animan a la gente a programar sus
propias aplicaciones, comprarn productos para verlos porque tambin les agradar
seguir creando para ellos.



Algunos de los kits de desarrollo ms conocidos son por ejemplo los de iPhone, en
los que puedes crear aplicaciones para el mismo, o el deAndroid, cada vez ms
utilizado tanto por profesionales como por aficionados.

Tambin existen kits de desarrollo de Java, DirectX y Frameworks, en los que se
basan por ejemplo los juegos para Windows o las aplicaciones que utilizan
formularios.
Como podis ver podemos iniciarnos en el mundo de la programacin con una gran
cantidad de herramientas gratuitas y en principio la mayora son bastante intuitivas y
sencillas de utilizar.

Que es AVD?

Los AVD son las maquinas virtuales que nos permiten probar versiones de
Android as como configuraciones de hardware.

Un dispositivo virtual Android (AVD) es una configuracin de emulador que permite
modelar un dispositivo real mediante la definicin de opciones de hardware y
software para ser emulados por el Emulador de Android. (Solis)

La manera ms fcil de crear un AVD es utilizar la grfica AVD Manager , que se lanza
por la ventana de Eclipse clic en> Administrador de AVD. Tambin puede iniciar el
Administrador de AVD desde la lnea de comandos mediante una llamada
al android herramienta con las avd opciones, desde el <SDK> / tools / directorio.

Tambin puede crear AVDS en la lnea de comandos pasando los android opciones de
la herramienta. Para obtener ms informacin sobre cmo crear AVDS de esta
manera, consulte Administracin de dispositivos virtuales desde la lnea de
comandos .

Un AVD consta de:

Un perfil de hardware: Define las caractersticas de hardware del dispositivo
virtual. Por ejemplo, se puede definir si el dispositivo tiene una cmara, si se
utiliza un teclado QWERTY fsico o una almohadilla de marcacin, la cantidad
de memoria que tiene, y as sucesivamente.

Un mapeo a una imagen del sistema: Puede definir qu versin de la
plataforma Android se ejecutar en el dispositivo virtual. Usted puede elegir
una versin de la plataforma estndar de Android o la imagen del sistema
empaquetado con un SDK add-on.

Otras opciones: Se puede especificar la piel emulador que desee utilizar con la
AVD, lo que le permite controlar las dimensiones de la pantalla, apariencia,
etc. Tambin puede especificar la emulacin tarjeta SD para usar con el AVD.

Un rea de almacenamiento a su equipo de desarrollo: los datos del dispositivo
de usuario (aplicaciones instaladas, configuraciones, etc) y emulado tarjeta SD
se almacenan en esta rea.


Cmo crear un Servicio Web en Java?

Un Servicio Web es un componente software con las siguientes caractersticas:
Es accesible a travs del interface SOAP (Simple Object Access Protocol).
Su interface se describe en un documento WSDL (Web Service Description
Language).

Seguiremos estos pasos para crear nuestro sencillo Servicio Web:

Crear la lgica del negocio del Servicio Web. Primero necesitamos escribir una
clase Java que implemente la lgica de negocio del servicio Web. En este caso,
nuestra lgica de negocio ser un simple clase Java que simula una servicio de
citas de stocks.

Desplegar la clase Java en el servidor SOAP. Luego necesitamos convertir la
clase Java en un Servicio Web. Mostraremos como desplegar la clase Java en un
servidor SOAP usando la heramienta de despliegue de WASP.
Generar las clases de acceso para los clientes. Una aplicacin cliente usa un
objeto proxy para acceder al Servicio Web. En el momento de la solicitud, el
proxy acepta una llamada a un mtodo Java desde la aplicacin y la traduce en
un mensaje XML. En el momento de la respuesta, el proxy recibe el mensaje de
respuesta SOAP, lo traduce en objetos Java y devuelve el resultado a la
aplicacin cliente.

Desarrollar la aplicacin cliente. La aplicacin cliente trata el proxy como un
objeto Java estndar que facilita la comunicacin con un Servicio Web.

Cmo consumir un Servicio Web en Java?
La primera consistir en el envo de mensaje SOAP; se enviar un SOAP request y se
obtendr como respuesta un SOAP response. La segunda forma utilizar peticiones
http GET y POST;

Un cliente se une a un Servicio Web remoto usando un componente proxy Java,
Cuando se utiliza WASP de Systinet, este proxy se genera en tiempo de ejecucin
desde el fichero WSDL. Necesitamos un interface Java que pueda mantener una
referencia a este objeto creado dinmicamente. Podemos crear el interface nosotros
mismos, o podemos usar elWSDLCompiler de WASP para que genere uno por
nosotros. La creacin del interface es sencilla porque el nico requerimiento es que
los mtodos del interface deben ser un subconjunto de los mtodos de la clase Java de
la lgica de negocio del Servicio Web. Echemos una mirada al cdigo de abajo.
Primero, el cliente crea un objeto WebServiceLookup. Este objeto se utiliza entonces
para crear el proxy del Servicio Web invocando el mtodo lookup. Este mtodo
requiere dos parmetros: una referencia al fichero WSDL y la clase del interface Java
que referenciar el ejemplar proxy. El mtodo lookup devuelve el proxy que se utiliza
para invocar el Servicio Web.

/**
* Stock Client
*
* @created July 17, 2001
* @author zdenek
*/

package com.systinet.demos.stock;

import org.idoox.wasp.Context;
import org.idoox.webservice.client.WebServiceLookup;

public class StockClient {

/**
* Web service client main method.
* Finds the web service and
* @param args not used.
*/
public static void main( String[] args ) throws Exception {

// lookup service
WebServiceLookup lookup =
(WebServiceLookup)Context.getInstance(Context.WEBSERVICE_LOOKUP);
// bind to StockQuoteService
StockQuoteServiceProxy quoteService = (StockQuoteServiceProxy)lookup.lookup(
"http://localhost:6060/StockQuoteService/",
StockQuoteServiceProxy.class
);


// use StockQuoteService
System.out.println("Getting available stocks");
System.out.println("------------------------");
java.util.LinkedList list = quoteService.getAvailableStocks();
java.util.Iterator iter = list.iterator();
while(iter.hasNext()) {
System.out.println(iter.next());
}
System.out.println("");

System.out.println("Getting SUNW quote");
System.out.println("------------------------");
System.out.println("SUNW "+quoteService.getQuote("SUNW"));
System.out.println("");

}

}

Cmo consumir un Servicio Web desde
Android?

Podemos hacerlo de diferentes formas en Android, como mediante REST, en este
caso particular lo haremos mediante SOAP

En primer lugar deberemos descargarnos la librera ksoap2 for android y luego
referenciarla en nuestro proyecto android.



Para el layout de la aplicacin no invertiremos tiempo ya que solo utilizaremos un
textview para mostrar contenido de texto extrado del servicio Web.



Layout de la solucin Android

En el manifiesto de la aplicacin debemos tener en cuenta el agregar permisos al acceso
a Internet como muestra la Fig.


Manifiesto de la solucin Android desarrollada

Finalmente realizaremos la codificacin de la actividad que acceda al servicio web de la
tecnologa Dotnet y pueda mostrar los resultados en Android.

La clase GetServicio posee algunas variables necesarias para interactuar con la librera
ksoap2:

private static final String accionSoap = "http://tempuri.org/HelloWorld";
private static final String Metodo = "HelloWorld";
private static final String namespace = "http://tempuri.org/";
private static final String url = "http://nicolasdotar/ServicioAndroid/Service.asmx";

Code 2 - Declaracin de variables en la clase GetServicio

Luego todo el desarrollo se encuentra en el onCreate:

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

tv = (TextView) findViewById(R.id.text1);

try {

//Modelo el request
SoapObject request = new SoapObject(namespace, Metodo);

//Modelo el Sobre
SoapSerializationEnvelope sobre = new SoapSerializationEnvelope(SoapEnvelope.VER12);
sobre.dotNet = true;
sobre.setOutputSoapObject(request);

//Modelo el transporte
HttpTransportSE transporte = new HttpTransportSE(url);

//Llamada
transporte.call(accionSoap, sobre);

//Resultado
SoapPrimitive resultado = (SoapPrimitive) sobre.getResponse();


tv.setText("" + resultado.toString());

}
catch (Exception e)
{
tv.setText(e.getMessage());
}

}



Veamos el servicio web funcionando solo:


Fig. 6 - Servicio Web en funcionamiento local

You might also like