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.
/** * 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("");
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);