sábado, 14 de marzo de 2009

Introducción a las aplicaciones móviles

Vamos a crear una solucion desarrollada sobre Windows Mobile 6.0. esta aplicación va a consumir datos de un servicio web que a la vez consume una biblioteca de datos, [creada por Diego (Líder de ASPBerries) en las reuniones 2008 de nuestra célula].
Vamos a trabajar primero sobre el servicio web: una vez creada la capa de datos vamos a crear en el visual studio un nuevo web site y agregamos la referencia a la biblioteca de datos para tener acceso a los datos, para esto hacemos clic con el boton derecho sobre el proyecto en la ventana solution explorer y seleccionamos add reference y aparecera:

Seleccionamos Datos y hacemos clic en Ok, luego en el archivo Services.asmx en la parte donde dice class cambiar por:

" Class="ForoService"

y en appcode en Service.cs escribir el siguiente código dentro de la clase que la renombraremos por Foro Service:

   1:  public class ForoService : System.Web.Services.WebService
   2:  {
   3:      public ForoService () {
   4:  
   5:          //Uncomment the following line if using designed components 
   6:          //InitializeComponent(); 
   7:      }
   8:  
   9:      [WebMethod]
  10:      public string HelloWorld() {
  11:          return "Hello World";
  12:      }
  13:  
  14:      [WebMethod(Description = "Datos de Foro")]
  15:      public List<clsUsuario> GetList()
  16:      {
  17:          dalUsuario dUsuario = new dalUsuario();
  18:          List<clsUsuario> lista = null;
  19:          lista = dUsuario.GetList();
  20:          return lista;
  21:      }
  22:  
  23:  }

Ahora vamos al aplicativo Mobile, para esto creamos una nueva solución, en new -->proyect --> smart device --> Device Application, le ponemos un nombre y luego seleccionaremos el tipo de dispositivo en target platform, en este caso Windows Mobile 6 Profesional SDK y luego Ok.
Una vez creado el proyecto en el solution explorer con el boton derecho sobre el, seleccionar add web references, y en URL ponemos la direccion de nuestro servidor web y un nombre (en este ejemplo se llama TraerDatos) como se muestra en la figura:


Luego clic en AddReference y ya tenemos la referencia creada. Tener en cuenta que si tenemos un servicio web local, en la referencia debemos colocar la dirección URL con la IP que tiene el equipo y no poner localhost, ya que el dispositivo móvil lo tomará como propia. Para conocer el IP que tiene asignada nuestra máquina hacer correr el comando IPconfig en la consola.
A continuación vamos a utilizar un DataGrid y como fuente de datos el servicio web. Para esto primero arrastramos el DataGrid desde la herramientas, y luego en las propiedades, en datasource seleccionamos la fuente de datos, es decir nuestro servicio web como se muestra en la figura:


Y nos queda como resultado:


Luego hacemos doble clic sobre el formulario y escribimos el siguiente código dentro del método Principal_Load:

   1:          private void Principal_Load(object sender, EventArgs e)
   2:          {
   3:              TraerDatos.ForoService svc = new Interfaz.TraerDatos.ForoService();
   4:              clsUsuarioBindingSource.DataSource = svc.GetList();
   5:          }

Y con esto ya podemos ejecutar, para esto vamos al menú Tools del Visual Studio, y seleccionamos Device Emulator Manager, y nos aparecerá un cuadro en el cúal debemos seleccionar Windows Mobile 6 Professional Emulator, y hacer clic con el botón derecho del mouse y presionar sobre connect para conectarse con el emulador, en el Device Emulator Manager seleccionamos nuevamente el emulador y presionamos en Cradle, finalmente ejecutamos y el resultado es el siguiente:



0 comentarios: