Guia Android Con Web Service
contendrá el nombre y teléfono de cada uno de ellos. Nuestra aplicación será capaz de
consultar el listado actual de clientes almacenados en el servidor externo y de insertar
nuevos clientes en la base de datos.
Como software necesario, en este caso utilizaré Visual Studio 2010 y SQL Server 2008
R2 paracrear el servicio web y la base de datos respectivamente. Puedes descargar de
forma gratuita las versiones Express de ambos productos desde la web oficial de
Microsoft. También es recomendable instalar SQL Server 2008 Management Studio
Express, descargable también de forma gratuita desde esta web.
En el cuadro de diálogo que aparece tan sólo indicaremos el nombre de la nueva base de
datos, enmi caso la llamaré DBCLIENTES, y dejaremos el resto de opciones con sus
valores por defecto.
Desplegamos el árbol de carpetas de nuestra recién creada base de datos DBCLIENTES
y sobre la carpeta “Tables” ejecutamos la opción “New table…” para crear una nueva
tabla.
Vamos a añadir sólo 3 campos a la tabla:
IdCliente, de tipo int, que será un código único identificativo delcliente.
Nombre, de tipo varchar(100), que contendrá el nombre del cliente.
Telefono, de tipo int, que contendrá el teléfono del cliente.
Marcaremos además el campo IdCliente como clave principal de la tabla, y también
como campo de identidad autoincremental, de modo que se calcule automáticamente
cada vez que insertemos un nuevo cliente.
Para crear el servicio abriremos Visual Studio 2010y crearemos un nuevo proyecto web
en C# utilizando la plantilla “Sitio Web ASP.NET “y lo llamaremos “WebServiceSoap “.
Una vez creado el proyecto, añadiremos a éste un nuevo servicio web mediante el menú
“Sitio
Web
/
Agregar
“ServicioClientes.asmx“.
Nuevo
Elemento
/
Servicio
Web…“.
Lo
llamaremos
Una vez añadido aparecerá en pantalla el código fuente pordefecto del nuevo servicio web,
que contiene un único método de ejemplo llamado HelloWorld(). Este método podemos
eliminarlo ya que no nos servirá de nada.
Dentro de esta clase ServicioClientes es donde añadiremos todos los métodos públicos
que queramos tener accesibles a través de nuestro servicio web, siempre precedidos por
el atributo [WebMethod]. Para nuestro ejemplo vamos a crear tresmétodos, el primero
para obtener el listado completo de clientes almacenados en la base de datos, y los otros
dos para insertar nuevos clientes.
Antes de crear estos métodos, vamos a crear una nueva clase sencilla que nos sirva para
encapsular los datos de un cliente. La añadiremos mediante la opción “Sitio Web /
Agregar Elemento / Clase…” de Visual Studio y la llamaremos “Cliente.cs“. Estaclase
contendrá únicamente los 3 campos que ya comentamos al crear la base de datos y dos
constructores, uno de ellos por defecto que tan solo inicializará los campos y otro con
parámetros para crear clientes a partir de sus datos identificativos. El código de la clase
es muy sencillo, y tan solo cabe mencionar que definiremos sus tres atributos como
propiedades automáticas de C# utilizando paraello la notación abreviada {get; set;}
Ahora a escribir el primero de los métodos que haremos accesible a través de nuestro
servicio web. Lo llamaremos NuevoCliente(), recibirá como parámetros de entrada un
nombre y un teléfono, y se encargará de insertar un nuevo registro en nuestra tabla de
clientes con dichos datos. Recordemos que el ID del cliente no será necesario insertarlo
de formaexplícita ya que lo hemos definido en la base de datos como campo
autoincremental. Para el trabajo con la base de datos vamos a utilizar la API clásica
de ADO.NET, aunque podríamos utilizar cualquier otro mecanismo de acceso a datos,
como por ejemplo Entity Framework, NHibernate, etc.
De esta forma, el primer paso será crear una conexión a SQL Server mediante la clase
SQLConnection,...
Regístrate para leer el documento completo.