You are on page 1of 40

1

Prefacio:
El taller de aplicaciones móviles, es naturaleza teó-

rico - práctica. Realizando las técnicas en elabora-

ción de código reutilizable, para la implementación

de proyectos utilizando el lenguaje de programa-

ción Visual Basic .NET.

Propone desarrollar en el estudiante las competencias para comprender el fundamento

y aplicación de las principales técnicas en la elaboración de proyectos para dispositivos

móviles.

Comprende cuatro capítulos:

• CAPÍTULO I : VISUAL BASIC NET


• CAPÍTULO II : EMULADORES EN VISUAL BASIC .NET
• CAPÍTULO III: CLASES WEB MÓVIL
• CAPÍTULO IV: APLICACIONES CON ACCESO A BASE DE DATOS

Las competencias que logrará el estudiante serán:

“Dominar las habilidades y destrezas sobre la metodología del sis-


tema de información actual, dando un desarrollo estructura y orien-
tado a objetos, para los dispositivos móviles con acceso a base de da-
tos”.

2
INDICE DE CONTENIDOS

I. PREFACIO
02

II. DESARROLLO DE LOS CONTENIDOS


03 - 40

CAPÍTULO I: VISUAL BASIC NET 04-18

CAPÍTULO II: EMULADORES EN VISUAL BASIC .NET


19-24

CAPÍTULO III: CLASES WEB MÓVIL 24-35

CAPÍTULO IV: APLICACIONES CON ACCESO A BASE DE DATOS 35-40

40
III. TRABAJO PRÀCTICO

40
IV. FUENTES DE INFORMACIÓN

3
CAPÍTULO I: VISUAL BASIC NET

VISUAL BASIC NETmóviles


El objetivo es introducir al alumno a la
programación de aplicaciones para dispositivos
móviles mediante el uso de herramientas de
desarrollo y emuladores. En el curso se presentan
los problemas que plantea el desarrollo en
dispositivos móviles. No podemos limitarnos a
aspectos técnicos, recursos limitados, conectividad, o consumo de batería, y por
supuesto contempla la experiencia del usuario final.

El mercado de las aplicaciones para móviles ha cambiado de una forma radical en los
últimos años. Al principio, para publicar aplicaciones móviles tenías que disponer del
apoyo de una operadora o de una gran firma de juegos, pero con la aparición de los
markets de aplicaciones, esto ha cambiado y cualquier persona puede publicar su app
y empezar a ganar dinero. Una alternativa que tienes a la hora de acceder a un mercado,
es optar por un sistema de desarrollo multiplataforma. Este tipo de soluciones te van a
permitir acceder a múltiples mercados a la vez, pero posiblemente con un sacrificio en
el rendimiento de las aplicaciones. Todo depende del tipo de aplicaciones que pretendas
desarrollar. Existen algunos frameworks de desarrollo que una vez realizado el código
puedes compilarlo y distribuirlo en múltiples plataformas.

Introducción a .NET
La plataforma NET en realidad no es algo
radicalmente nuevo. Es un conjunto de
tecnologías dispersas, que en muchos casos ya
existían, que Microsoft ha integrado en una
plataforma común con el objetivo de facilitar el
desarrollo de este nuevo tipo de servicios de
tercera generación.e esta nueva plataforma:
• Integración: Proporcionar mecanismos para
que una empresa pueda ofrecer servicios a otras empresas o clientes de una forma
sencilla y rápida. En general, este tipo de servicios se suelen denominar B2B: Business
to Business y B2C: Business to Client.

4
• Nuevos dispositivos: La forma más
común de acceso a Internet h asta ahora
ha sido la pc personal con sus
limitaciones de movilidad. Pero
recientemente han ido apareciendo una
serie de dispositivos que permiten el
acceso a servicios Internet de forma
rápida y directa, como por ejemplo
agendas electrónicas, teléfonos móviles,
WebTV, videoconsolas, etc. Esto supone
un cambio radical en la forma de acceder
a este tipo de servicios.

Con estos objetivos, Microsoft .NET es una plataforma para construir, ejecutar y
experimentar la tercera generación de aplicaciones distribuidas, que consiste en los
siguientes elementos:
Un modelo de programación pasado en XML.
• Un conjunto de servicios Web XML, como Microsoft .NET My Services para facilitar
a los desarrolladores integrar estos servicios.
• Un conjunto de servidores que permiten ejecutar estos servicios (como .NET
Enterprise Servers).
• Software en el cliente para poder utilizar servicios (como Windows, agendas
electrónicas, etc.)
• Herramientas para el desarrollo como Visual Studio.NET.

En la figura 1 se muestran los elementos que


pueden componer la plataforma .NET
Una parte importante de esta plataforma es el
software de los dispositivos clientes y servidores,
que ha sido el mercado habitual de Microsoft. Para
los dispositivos clientes, Microsoft planea integrar
.NET en cualquier dispositivo imaginable, como PCs
con Windows, agendas electrónicas con Pocket PC,
teléfonos móviles, su consola de videojuegos X-
Box, en WebTV, etc. Esto supone para las
empresas aumentar el número de potenciales
clientes que puedan utilizar su servicios (ya no están
limitados al PC). Para poder ejecutar estos servicios, Microsoft introduce una serie de
software englobado dentro de los .NET Enterprise Servers, como es el Application
Center, Commerce Server, etc.

5
Estos servicios se ofrecerán al cliente a través de distintos canales, lo que Microsoft ha
denominado Experiencias de Usuarios. Así, Microsoft ha pensado que MSN sea el canal
para clientes domésticos y bCentral es el canal de comercio electrónico para empresas.

DESCRIPCIÓN Y UTILIZACIÓN DE
FRAMEWORK.
El concepto framework se emplea en muchos
ámbitos del desarrollo de sistemas software, no
solo en el ámbito de aplicaciones Web. Podemos
encontrar frameworks para el desarrollo de
aplicaciones médicas, de visión por computador,
para el desarrollo de juegos, y para cualquier
ámbito que pueda ocurrírsenos. En general, con el término framework, nos estamos
refiriendo a una estructura software compuesta de componentes personalizables e
intercambiables para el desarrollo de una aplicación. En otras palabras, un framework
se puede considerar como una aplicación genérica incompleta y configurable a la que
podemos añadirle las últimas piezas para construir una aplicación concreta.

Los objetivos principales que


persigue un framework son: acelerar
el proceso de desarrollo, reutilizar
código ya existente y promover
buenas prácticas de desarrollo como
el uso de patrones.
Un framework Web, por tanto,
podemos definirlo como un conjunto
de componentes (por ejemplo clases
en java y descriptores y archivos de
configuración en XML) que
componen un diseño reutilizable que
facilita y agiliza el desarrollo de
sistemas Web.
.NET Framework es una tecnología que admite la compilación y ejecución de la
siguiente generación de aplicaciones y servicios Web XML. El diseño de .NET
Framework está enfocado a cumplir los siguientes objetivos:

6
INFORMACIÓN GENERAL ACERCA DE .NET FRAMEWORK
Proporcionar un entorno coherente de programación orientada a objetos, en el que el
código de los objetos se pueda almacenar y ejecutar de forma local, ejecutar de forma
local pero distribuida en Internet o ejecutar de forma remota. Proporcionar un entorno
de ejecución de código que minimiza los conflictos en el despliegue y versionado de
software. Ofrecer un entorno de ejecución de código que promueva la ejecución segura
del mismo, incluso del creado por terceros desconocidos o que no son de plena
confianza. Proporcionar un entorno de ejecución de código que elimine los problemas
de rendimiento de los entornos en los que se utilizan scripts o intérpretes de comandos.
Ofrecer al programador una experiencia coherente entre tipos de aplicaciones muy
diferentes, como las basadas en Windows o en el Web. Basar toda la comunicación en
estándares del sector para asegurar que el código de .NET Framework se puede
integrar con otros tipos de código.

NET Framework consta de dos componentes


principales:
 Common Language Runtime de .NET
Framework, es el fundamento de .NET
Framework. El motor en tiempo de ejecución
se puede considerar como un agente que
administra el código en tiempo de ejecución y
proporciona servicios centrales, como la
administración de memoria, la administración
de subprocesos y la comunicación remota, al
tiempo que aplica una seguridad estricta a los
tipos y otras formas de especificación del
código que promueven su seguridad y solidez. De hecho, el concepto de
administración de código es un principio fundamental del motor en tiempo de
ejecución. El código destinado al motor en tiempo de ejecución se denomina código
administrado, a diferencia del resto de código, que se conoce como código no
administrado.

 La biblioteca de clases es una completa colección orientada a


objetos de tipos reutilizables que se pueden emplear para desarrollar
aplicaciones que abarcan desde las tradicionales herramientas de
interfaz gráfica de usuario (GUI) o de línea de comandos hasta las
aplicaciones basadas en las innovaciones más recientes
proporcionadas por ASP.NET, como Web Forms y Servicios Web XML.

7
USO DE WINDOWS MOBILE/PHONE
Windows Mobile es un sistema operativo móvil compacto
desarrollado por Microsoft, y diseñado para su uso en
teléfonos inteligentes y otros dispositivos móviles. Se
basa en el núcleo del sistema operativo Windows CE y
cuenta con un conjunto de aplicaciones básicas utilizando
las API de Microsoft Windows. Está diseñado para ser
similar a las versiones de escritorio de Windows
estéticamente. Además, existe una gran oferta de
software de terceros disponible para Windows Mobile, la
cual se podía adquirir a través de Windows Marketplace
for Mobile.

Toda la información útil sobre Windows Mobile:


Al igual que las computadoras y laptops, los
teléfonos celulares ahora cuentan con un moderno
sistema operativo creado por la misma compañía
Microsoft, unida a diversas aplicaciones
importantes, con el objetivo de brindarle mayor
comodidad y movilidad a las ventajas que viene
ofreciendo Windows, ahora en los teléfonos
móviles.
Los nuevos móviles que tienen la ventaja de utilizar
este sistema operativo son los llamados Smartphone, que son iguales a un celular
común, pero con aplicaciones adicionales de la agenda particular. En las herramientas
del Windows Mobile se encuentran algunos programas habituales como el reproductor
Windows Media Player; el Windows Office, que en algunos modelos de Pocket PC
contiene aplicaciones como Pocket Word y Pocket Excel, en cambio, en los últimos
modelos vienen con el Pocket PowerPoint e, incluso, el active Sync, que se trata de una
herramienta que convierte los formatos de archivos del equipo Pocket PC para utilizarlos
en una computadora. El Pocket PC también trae consigo el último reproductor
mencionado.

Proyectos Smart Device


Visual Studio incluye las herramientas y los marcos de trabajo
necesarios para desarrollar aplicaciones para Pocket PC, Smartphone
y otras plataformas basadas en .NET de Windows CE. Si no dispone de
un dispositivo inteligente, puede crear y probar las aplicaciones para
este tipo de dispositivos mediante la tecnología de emulación sin dejar
el entorno de desarrollo integrado (IDE) de Visual Studio. Visual Studio
admite los lenguajes Visual Basic, Visual C# y Visual C++ para el
desarrollo de aplicaciones de dispositivos inteligentes.

8
Desarrollar en Smart Devices con Visual Basic
Visual Studio, admite Visual Basic para el
desarrollo de aplicaciones de Smart Device.
Proporciona las herramientas y estructura
necesarias para desarrollar aplicaciones de Pocket
PC, Smartphone y otras plataformas basadas en
Windows CE.
Desarrollar para dispositivos
En general, se pueden desarrollar dos tipos de aplicaciones para dispositivos:
 Aplicaciones Web móviles que se ejecutan en un servidor Web y se representan en
formatos diferentes en una gama de dispositivos móviles equipados con un
explorador. Para obtener más información, vea Crear páginas Web de ASP.NET
Mobile.
 Aplicaciones basadas en Windows CE mejoradas para el cliente que se ejecutan
en el propio dispositivo. Este enfoque generalmente es lo que queremos decir con
el término "aplicación de Smart Devices".

Al desarrollar aplicaciones de para dispositivos inteligentes se puede utilizar el mismo


entorno de Visual Studio que se emplea para desarrollar aplicaciones de escritorio, pero
hay algunas diferencias que se ponen de manifiesto en los dispositivos de destino.
Entre estas diferencias se incluyen:
 Herramientas adicionales para conectar con un dispositivo remoto y depurar el
código.
 Aparte de elegir un tipo de proyecto y una plantilla cuando se crea un proyecto,
debe seleccionarse un dispositivo en el que se ejecutará y depurará la aplicación.
El dispositivo puede ser un dispositivo físico conectado al equipo de desarrollo, un
dispositivo conectado en red o un emulador de dispositivos que se ejecute en el
equipo de desarrollo.
 El uso de las clases y sus miembros es diferente al desarrollar para dispositivos.
Para determinar si una clase y sus miembros están o no disponibles, consulte la
documentación o utilice IntelliSense o el Explorador de objetos de Visual Studio
mientras el proyecto esté activo.

INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN


VISUAL BASIC NET
Visual Basic .NET es un pilar de .NET Framework y otro paso hacia
adelante en la evolución del lenguaje. Es un lenguaje de
programación de alto nivel de .NET Framework y proporciona el
punto de entrada más fácil a .NET. Visual Basic es un lenguaje de
programación visual, donde se realiza un gran número de tareas
escribir código, simplemente con operaciones gráficas realizadas
con el ratón sobre la pantalla. Visual Basic es también un programa
basado en objetos, aunque no orientado a objetos como C++ o Java.

9
Actualmente, el framework .NET soporta los lenguajes de programación C#, Visual
Basic, Object Pascal (Delphi), C++, J# (que se ha discontinuado a partir de la versión
2010 de Visual Studio), Perl, Python, Fortran, Cobol, Power- Builder, Prolog, y el
recientemente incorporado F#, entre otros. Cualquier persona o empresa puede publicar
un lenguaje de programación orientado hacia la plataforma .NET siempre y cuando
respete la convención propuesta por Microsoft, la cual garantiza el correcto
funcionamiento de una solución basada en software dentro de la computadora en que
es ejecutada. Visual Basic .NET (VB.NET) es un lenguaje de programación orientado a
objetos que se puede considerar una evolución de Visual Basic implementada sobre el
framework .NET. Su introducción resultó muy controvertida, ya que debido a cambios
significativos en el lenguaje VB.NET no es retro compatible con Visual Basic, pero el
manejo de las instrucciones es similar a versiones anteriores de Visual Basic, facilitando
así el desarrollo de aplicaciones más avanzadas con herramientas modernas. Para
mantener eficacia en el desarrollo de las aplicaciones. La gran mayoría de
programadores de VB.NET utilizan el entorno de desarrollo integrado Microsoft Visual
Studio en alguna de sus versiones (desde el primer Visual Studio .NET hasta Visual
Studio .NET 2013, que es la última versión de Visual Studio para la plataforma .NET),
aunque existen otras alternativas, como SharpDevelop (que además es libre).

Al igual que con todos los lenguajes de programación basados en .NET, los programas
escritos en VB .NET requieren el Framework .NET o Mono para ejecutarse
Visual Basic
Visual Basic es un lenguaje de tercera generación basada en eventos de programación
y entorno de desarrollo integrado de Microsoft para su modelo de programación COM
lanzado por primera vez en 1991 - Visual Basic está diseñado para ser relativamente
fácil de aprender y usar. Visual Basic se deriva de BASIC y permite el desarrollo rápido
de aplicaciones de aplicaciones de interfaz gráfica de usuario, el acceso a bases de
datos utilizando Data Access Objects, Remote Data Objects, o ActiveX Data Objects, y
la creación de controles ActiveX y objetos. El lenguaje de programación VBScript es un
subconjunto de Visual Basic.

Características del lenguaje


Al igual que el lenguaje de programación BASIC,
Visual Basic fue diseñado para ser fácil de
aprender y utilizar por los programadores
principiantes. El lenguaje no sólo permite a los
programadores crear aplicaciones GUI sencilla,
sino también para el desarrollo de aplicaciones
complejas. La programación en VB es una
combinación de la organización visual de
componentes o controles en un formulario,
especificando los atributos y las acciones de los
componentes, y escribir líneas de código
adicionales para una mayor funcionalidad.

10
Dado que los atributos y acciones predeterminadas se definen para los componentes,
un programa simple se puede crear sin que el programador tener que escribir muchas
líneas de código. Los problemas de rendimiento se experimentaron en las versiones
anteriores, pero con un equipo más rápido y la compilación del código nativo esto se ha
convertido en un problema menor.
Los formularios se crean utilizando técnicas de arrastrar y soltar.
Una herramienta se utiliza para colocar los controles en el formulario. Los controles
tienen atributos y controladores de eventos asociados a ellos. Los valores por defecto
se proporcionan cuando se crea el control, pero pueden ser modificados por el
programador. Muchos valores de los atributos se pueden modificar en tiempo de
ejecución en base a las acciones del usuario o cambios en el medio ambiente,
proporcionando una aplicación dinámica.
Por ejemplo,

El código se puede introducir en el controlador de eventos resize


formulario para cambiar la posición de un control para que quede
centrado en la forma, se expande para llenar el formulario, etc.
Mediante la inserción de código en el controlador de eventos de
pulsación de tecla en un cuadro de texto, el programa puede traducir
automáticamente el caso del texto que se ingresa, o incluso prevenir
ciertos caracteres de ser insertado.

El tiempo de ejecución se recupera la memoria no


utilizada con el recuento de referencias, que depende
de variables que pasan fuera de alcance o está
establecido en "nada", lo que resulta en el problema
muy común de pérdida de memoria. Hay una gran
biblioteca de objetos de utilidad, y el lenguaje orientado
a objetos proporciona soporte básico. A diferencia de
muchos otros lenguajes de programación, Visual Basic
por lo general no es sensible a mayúsculas, a pesar de
que va a transformar las palabras clave en una
configuración estándar de casos y forzar el caso de los
nombres de las variables que se ajusten al caso de la
entrada en la tabla de símbolos. Las comparaciones de
cadena distinguen entre mayúsculas y minúsculas de
forma predeterminada.

Características
 Las declaraciones tienden a ser terminada con palabras clave como "End If", en
lugar de utilizar "{}" s a las declaraciones del grupo.
 Asignación de variable múltiple no es posible. A = B = C, no implica que los valores
de A, B y C son iguales. El resultado booleano de "es B = C?" se almacena en A.
El resultado se almacena en A por lo tanto, ser falsa o verdadera.

11
Constante booleana verdadera tiene valor numérico -1. Esto se debe a que el tipo
de datos Boolean se almacena como un entero con signo de 16 bits. En esta
construcción -1 evalúa a 16 1 binarios, y 0 como 16 0s. Esto es evidente cuando se
realiza una operación NOT en un entero con signo de 16 bits valor 0 que devolverá
el valor entero -1, en otras palabras Verdadero = no falsas. Esta funcionalidad
inherente es especialmente útil cuando se realizan operaciones lógicas en los bits
individuales de un número entero tal como And, Or, Xor y Not. Esta definición de la
verdadera también es consistente con el BASIC desde principios de los años 1970
Microsoft implementación básica y también está relacionado con las características
de instrucciones de la CPU en el momento.

 Operadores lógicos y bit a bit se unifican. Esto es a diferencia de algunos lenguajes


C-derivados, que tienen los operadores lógicos y bit a bit separadas. De nuevo, esto
es una característica tradicional de BASIC.
 Base de matriz de variables. Las matrices se declaran especificando los límites
superior e inferior de una manera similar a Pascal y Fortran. También es posible
utilizar la instrucción Option Base para establecer el límite inferior predeterminado.
El uso de la instrucción Option Base puede llevar a confusión al leer el código de
Visual Basic y es mejor evitar por siempre especificando explícitamente el límite
inferior de la matriz. Este límite inferior no se limita a 0 o 1, ya que también puede
ajustarse mediante la declaración. De esta manera, ambos de los límites inferior y
superior son programables. En las lenguas más subíndice limitados, el límite inferior
de la matriz no es variable. Este rasgo poco común existe en Visual Basic. NET,
pero no en VBScript. (OPTION BASE fue presentado por ANSI, con el estándar de
BASIC mínimo ANSI a finales de 1970).

Los enteros son promovidos automáticamente a


reales en expresiones con el operador normal de
división para que la división de un entero por otro
produce el resultado intuitivamente correcto. Hay
un operador de división de enteros específica que
hace truncado.
 Por defecto, si una variable no se ha declarado
o si no se especifica un carácter de declaración
de tipo, la variable es de tipo Variant. Sin
embargo, esto puede cambiar con las
declaraciones Deftype como DefInt, DefBool,
DefVar, DefObj, DEFSTR. Hay 12 estados en
total Deftype ofrecidas por Visual Basic. El tipo
de defecto puede ser anulado por una
declaración específica utilizando un carácter
especial sufijo en el nombre de la variable o
usar la frase clave como. VB también se puede
configurar en un modo que las variables
declaradas explícitamente sólo se pueden
utilizar con la opción de comando explícito.

12
ÁMBITO EN VISUAL BASIC
El ámbito de un elemento declarado es el
conjunto de todo el código que puede
hacer referencia a él sin calificar su
nombre o marcarlo como disponible
mediante Instrucción Imports (Tipo y
espacio de nombres de .NET). Un
elemento puede tener uno de los niveles
de ámbito siguientes:
Ámbito de bloque
Ámbito disponible únicamente en el
bloque de código en el que se ha declarado

Ámbito de procedimiento
Disponible para todo el código dentro del procedimiento en el que se ha declarado
Ámbito de módulo
Disponible para todo el código dentro del módulo, clase o estructura en el que se ha
declarado
Ámbito de espacio de nombres
Disponible para todo el código dentro del espacio de nombres en el que se ha declarado
Especificar ámbito y definir variables
El ámbito de un elemento se especifica al declararlo y puede depender de los
factores siguientes:
 La región (bloque, procedimiento, módulo, clase o estructura) donde se declara
el elemento.
 El espacio de nombres que contiene la declaración del elemento.
 El nivel de acceso que se declara para el elemento.

Tenga cuidado cuando defina variables del mismo


nombre pero con ámbito diferente, puesto que ello podría
causar resultados inesperados. Para obtener más
información, vea Referencias a elementos declarados
(Visual Basic).
Niveles de ámbito
 Si declara una variable dentro de un bloque, sólo
puede utilizarla dentro de ese bloque. En el
ejemplo siguiente, el ámbito de la variable de
entero cube es el bloque entre If y End If, y las
referencias a cube dejan de ser posibles cuando termina la ejecución del bloque.
If n < 1291 Then
Dim cube As Integer
Cube = n ^ 3
End If

13
 Un elemento declarado en un procedimiento no está disponible fuera de él.
Solamente el procedimiento que contiene su declaración puede utilizarlo. Las
variables en este nivel también se denominan variables locales. Se declaran con
Instrucción Dim (Visual Basic), con o sin la palabra clave Static (Visual Basic).
 Los ámbitos de procedimiento y de bloque están estrechamente relacionados. Si
se declara una variable dentro de un procedimiento, pero fuera de un bloque
dentro del procedimiento, puede considerarse que la variable tiene ámbito de
bloque, donde el bloque es el procedimiento completo.

 Todos los elementos locales, aunque sean variables Static,


son privados para el procedimiento en el que aparecen. No
se puede declarar un elemento mediante la palabra clave
Public (Visual Basic) dentro de un procedimiento.
 Los elementos para los que declara un nivel de acceso
Private (Visual Basic) están disponibles en cada
procedimiento de ese módulo, pero no en el código de otro
módulo. La instrucción Dim en el nivel de módulo toma
Private como valor predeterminado si no utiliza ninguna
palabra nivel de acceso. No obstante, el ámbito y el nivel de
acceso serán más patentes si utiliza la palabra clave Private
en la instrucción Dim.
 Si declara un elemento en el nivel de módulo mediante la
palabra clave Friend (Visual Basic) o Public (Visual Basic),
dicho elemento quedará disponible para todos los
procedimientos del espacio de nombres en los que se
declare. La siguiente modificación del ejemplo anterior
permite que el código haga referencia a la variable de cadena
strMsg en cualquier parte del espacio de nombres de su
declaración.

ELECCIÓN DE ÁMBITO
Las variables locales son una buena elección para cualquier tipo de cálculo temporal,
por las razones siguientes:
 Evitar conflictos de nombres. Los nombres de variables locales no son
susceptibles de entrar en conflicto. Por ejemplo, es posible crear varios
procedimientos distintos que contengan una variable denominada intTemp. En
tanto que intTemp esté declarado como una variable local, cada procedimiento
reconocerá únicamente su propia versión de intTemp. Cualquier procedimiento
puede cambiar el valor de su variable intTemp local sin que ello afecte a las
variables intTemp del resto de los procedimientos.
 Consumo de memoria. Las variables locales sólo utilizan la memoria mientras su
procedimiento está en ejecución. Su memoria se libera cuando el procedimiento
vuelve al código de llamada. Por el contrario, las variables Shared (Visual Basic)
y Static (Visual Basic) consumen recursos de memoria hasta que su aplicación
deja de ejecutarse, por lo que se deben utilizar sólo cuando sea necesario. Las
variables de instancia utilizan la memoria mientras su instancia sigue existiendo,
lo que les resta eficacia frente a las variables locales pero son potencialmente
más eficaces que las variables Shared o Static.

14
En general, cuando se declara una variable o una constante, es un buen hábito de
programación asignar un ámbito lo más restringido posible (el ámbito de un bloque es
el más restringido). Esto permite que no se pierda memoria y reduce al mínimo la
posibilidad de que el código haga referencia por error a una variable incorrecta. Del
mismo modo, sólo debería declararse una variable como Static (Visual Basic) si es
necesario que conserve su valor entre una llamada al procedimiento y otra.ucturas de)
Las estructuras de bucles de Visual Basic permiten ejecutar una o varias líneas de
código de forma repetitiva. Puede repetir las instrucciones de una estructura de bucles
hasta que una condición sea True, una condición sea False, un número de veces
especificado o una vez para cada objeto de una colección.
En el siguiente ejemplo se muestra una estructura de bucle que ejecuta un conjunto de
instrucciones hasta que una condición se convierta en verdadera.

Ejecutar un conjunto
de instrucciones hasta
que una condición se
convierta en verdadera
Gráfico de flujo de un
bucle Do...Until

Bucles While
La construcción While...End While ejecuta un
conjunto de instrucciones mientras la
condición especificada en la instrucción While
sea True
Bucles Do
La construcción Do...Loop le permite probar
una condición al comienzo o al final de una
estructura de bucle. También puede
especificar si repite el bucle mientras la
condición sigue siendo True o hasta que se
convierta en True
Bucles For
La construcción For...Next ejecuta el bucle un número fijo de veces. Utiliza una variable
de control de bucle, también denominada contador para realizar el seguimiento de las
repeticiones. Especifica los valores de inicio y fin de este contador, y puede especificar
opcionalmente la cantidad en la que se incrementa de una repetición a la siguiente
Bucles For Each
La construcción For Each...Next ejecuta un conjunto de instrucciones una vez para cada
elemento de una colección. Especifica la variable de control de bucle pero no tiene que
determinar los valores de inicio y fin para ella. Para obtener más información.

15
USO Y SINTAXIS DE LOS ARRAYS O MATRICES.
Los Arrays o matrices son unas estructuras de datos muy
utilizadas en cualquier lenguaje. Se tratan de variables, pero
que están preparadas para guardar una cantidad mayor de
elementos. Es como una variable que tiene varios
compartimentos para guardar la información y a cada uno
de esos compartimentos hay que acceder con un índice.
Antes de utilizar un array debemos declararlo de manera
obligatoria, para ello utilizamos la palabra clave DIM, de este
modo.

dim miArray(20)
Después de la palabra DIM debemos indicar el nombre del array y a continuación, entre
paréntesis, se coloca el número de posición máxima del array, en este caso 20.
Los arrays en ASP comienzan desde la posición 0, es decir, el primer elemento de un
array está en la posición 0. Por tanto, si el array ha sido definido con 20 casillas, como
en el ejemplo, tendrá 21 elementos, primera posición será la 0 y la última posición sería
la 20.
Para asignar un valor a un array se realiza igual que una variable, pero accediendo con
el índice de la posición que queremos escribir.

miArray(0) = 234
Para utilizar el contenido de un array debemos hacerlo indiando el índice al que se desea
acceder. Por ejemplo, si quisiesemos imprimir en la página la primera posición de
nuestro Array lo haríamos de esta manera.
document.write(miArray(0))
Ejemplos
dim matriz (10)
for i=0 to 10
Matriz (i)=100 * i
next

for i=0 to 10
document.writeln("Posicion " & i & ": " & matriz(i) &
"<br>")
next

Este ejemplo escribiría en la página las posiciones del array, que


contienen variables numéricas que corresponden de multiplicar su
índice por 100.
Arrays multidimensionales en VBScript
Se pueden construir matrices multidimensionales, es decir, que nos
permitan crear matrices de varias coordenadas. Para trabajar con
ellos se utiliza una coma que separa los dos índices. Por ejemplo
podemos definir una matriz de 8x8 de esta manera.

16
dim miArray2Dimensiones (7,7)
Como el array es de 8 casillas, utilizamos un 7 y sus
posiciones serán las 8 que van desde el 0 al 7. Para escribir
y leer del Array podemos utilizar la coma de manera similara
a como se declara. Por ejemplo, para meter datos en la
posición 0,2 haríamos lo siguiente:
miArray2Dimensiones (0,2) = "texto posicion 0,2"
Redimensionar arrays
Podemos declarar también arrays que cambien el número de
casillas que tienen según se necesite en tiempo de ejecución.
Este tipo de arrays redimensionables se llama array dinámico. Para crear este tipo de
arrays podemos utilizar la sentencia dim (como creábamos los anteriores) o la sentencia
redim, con la particularidad que no le colocamos ningún valor entre paréntesis donde
antes indicábamos el número de casillas del array.
dim mi_array()
redim mi_otro_array()

Cuando usamos arrays dinámicos podemos utilizar la sentencia redim para indicar el
número de dimensiones y la cantidad de casillas de cada dimensión.
Con esta sentencia estamos indicando que mi_array debe tener el tamaño 10. Casillas
desde la 0 hasta la 10.
redim mi_array(10)
Si indicamos la clave "preserve" estamos asegurándonos que el contenido de las
casillas que había previamente en el array se mantiene.
redim preserve mi_array(20)
Por último, si en cualquier momento reducimos el número de casillas perderemos lo que
pudiera haber guardado en las casillas que se han eliminado.

PROCEDIMIENTOS DE FUNCIÓN
(VISUAL BASIC)
Un procedimiento Function es una serie de
instrucciones de Visual Basic delimitadas por
las instrucciones Function y End Function. El
procedimiento Function realiza una tarea y, a
continuación, devuelve el control al código de
llamada. Cuando devuelve el control, también
devuelve un valor al código de llamada. Puede
definir un procedimiento Function en un
módulo, clase o estructura. Es Public de forma
predeterminada, lo que significa que puede
llamarlo desde cualquier lugar de la aplicación
que tenga acceso al módulo, clase o
estructura en el que se ha definido. Un procedimiento Function puede aceptar
argumentos, como constantes, variables o expresiones, que le pasa el código de
llamada.

17
SINTAXIS DE LA DECLARACIÓN
La sintaxis para declarar un procedimiento Function
es la siguiente:
[Modifiers] Function FunctionName
[(ParameterList)] As ReturnType
[Statements]
End Function
Todos los procedimientos Function tienen un tipo de
datos, al igual que las variables.

La cláusula As especifica este tipo de datos en la instrucción Function y determina el


tipo de datos del valor que la función devuelve al código de llamada. En las siguientes
declaraciones de ejemplo se ilustra esto último.
Function yesterday() As Date
End Function
Utiliza la instrucción Return para especificar el valor devuelto y devuelve el control
inmediatamente al programa de llamada.
Function FunctionName [(ParameterList)] As ReturnType
‘La siguiente declaración transfiere inmediatamente el control
‘al código de llamada y devuelve el valor de Expresión.
Return Expression
End Function

18
CAPÍTULO II: EMULADORES EN VISUAL BASIC .NET

EMULADORES EN VISUAL BASIC


.NETUTILIZACIÓDE WINDOWS FORM
Windows Forms es una de las dos tecnologías
que se utiliza en Visual C# para crear
aplicaciones cliente inteligentes basadas en
Windows que se ejecutan en .NET Framework.
Windows Forms es especialmente adecuado
para escenarios de desarrollo rápido de
aplicaciones donde la prioridad principal no es
una interfaz gráfica de usuario compleja.

El Diseñador de Windows Forms se utiliza para crear la interfaz de usuario, y permite


obtener acceso a otras características de diseño y ejecución, tales como las siguientes:
 Implementación ClickOnce. (permite publicar aplicaciones basadas en Windows
en un servidor web).
 Uso avanzado de bases de datos mediante DataGridView (Control, formularios
Windows Forms). (Muestra datos en formato de tabla).
 Barras de herramientas y otros elementos de interfaz de usuario que pueden
tener el aspecto y el comportamiento de Microsoft Windows, Microsoft Office o
Microsoft Internet Explorer.

CONTROLE DE DISPOSITIVOS.
En Visual C#, puede utilizar el Diseñador de Windows Forms
o el Diseñador de Windows Presentation Foundation (WPF)
para crear interfaces de usuario de forma rápida y cómoda.
Los tres pasos básicos para crear interfaces de usuario son:
 Agregar los controles a la superficie de diseño.
 Establecer las propiedades iniciales de los controles.
 Escribir los controladores para los eventos
especificados.
Aunque también puede escribir su propio código para crear
la interfaz de usuario, los diseñadores permiten hacer este trabajo mucho más
rápidamente. También puede utilizar Visual C# para crear aplicaciones de consola que
tengan una interfaz de usuario basada en texto simple. Para obtener más información,
vea Crear aplicaciones de consola (Visual C#).
Agregar controles
En cualquiera de los diseñadores se utiliza el mouse para arrastrar controles, que son
los componentes con representación visual, como botones y cuadros de texto, hasta
una superficie de diseño. La siguiente ilustración muestra un cuadro combinado que se
ha arrastrado desde la ventana Cuadro de herramientas a un formulario en el Diseñador
de Windows Forms.

19
Cuadro de herramientas y diseñador de Windows
Forms
A medida que se trabaja visualmente, el Diseñador de
Windows Forms traduce las acciones en código fuente
de C# y las escribe en un archivo de proyecto llamado
nombre.designer.cs donde nombre es el nombre
asignado al formulario. De igual forma, WPF Designer
traduce las acciones de la superficie de diseño a
código de lenguaje de marcado de aplicaciones
extensible (XAML) y lo escribe en un archivo de
proyecto que se denomina Window.xaml.

Cuando se ejecuta la aplicación, ese código fuente


(Windows Forms) o código XAML (WPF) ajustará la
posición y el tamaño de los elementos de la interfaz de
usuario de modo que aparezcan como en la superficie de
diseño. Para obtener más información, vea Diseñador de
Windows Forms o Windows Presentation Foundation en
Visual Studio.
Establecer propiedades
Después de agregar un control a la superficie de diseño,
puede utilizar la ventana Propiedades para establecer sus
propiedades, como son el color de fondo y el texto
predeterminado.
En el Diseñador de Windows Forms, los valores que
especifique en la ventana Propiedades son los valores iniciales que se asignarán a la
propiedad cuando se cree el control en tiempo de ejecución. En el Diseñador de WPF,
los valores que especifique en la ventana Propiedades se almacenan como atributos en
el archivo XAML de la ventana.

En muchos casos, se puede tener acceso a


estos valores o modificarlos mediante
programación en tiempo de ejecución; para ello,
basta con obtener o establecer desde la
aplicación la propiedad para la instancia de la
clase del control. La ventana Propiedades
resulta útil en tiempo de diseño porque permite
examinar todas las propiedades, eventos y
métodos que admite un control.
Controlar eventos
Los programas con interfaces de usuario
gráficas son principalmente controlados por
eventos. Estos programas esperan a que un usuario haga algo, como escribir texto en
un cuadro de texto, hacer clic en un botón o cambiar la selección de un cuadro de lista.
Cuando esto sucede, el control, que es simplemente una instancia de una clase de .NET
Framework, envía un evento a la aplicación. Tiene la opción de controlar un evento
escribiendo un método especial en la aplicación al que se llamará cuando se reciba el
evento.

20
Puede utilizar la ventana Propiedades para especificar qué eventos desea tratar en el
código. Seleccione un control en el diseñador y haga clic con el icono Rayo en el botón
Eventos de la barra de herramientas de la ventana Propiedades para ver los eventos
del control. El icono siguiente muestra el botón de eventos.
Botón de eventos de la ventana Propiedades
Al agregar un controlador de evento desde la ventana Propiedades, el diseñador escribe
automáticamente el cuerpo del método vacío. Deberá escribir el código de manera que
el método haga algo útil. La mayoría de los controles generan muchos eventos, pero
normalmente una aplicación sólo tendrá que tratar algunos de ellos o incluso sólo uno.
Por ejemplo, probablemente tenga que controlar el evento Click de un botón, pero no su
evento SizeChanged, a menos que desee realizar una acción cuando cambie el tamaño
del botón.
Funciones de cadena
En la tabla siguiente se enumeran las funciones que Visual Basic proporciona
para buscar y manipular las cadenas.
Método en .NET
Descripción
Framework
Devuelve un valor de tipo Integer que representa el código de carácter que corresponde a
Asc , AscW
un carácter.
Chr , ChrW Devuelve el carácter asociado al código de carácter especificado.
Devuelve una matriz basada en cero que contiene un subconjunto de una matriz String
Filter
basada en criterios de filtro especificados.
Devuelve una cadena con el formato que especifiquen las instrucciones contenidas en una
Format
expresión String de formato.
Devuelve una expresión con formato de moneda en la que se utilizará el símbolo de
FormatCurrency
moneda que se haya definido en el panel de control del sistema.
FormatDateTime Devuelve una expresión de cadena que representa un valor de fecha u hora.
FormatNumber Devuelve una expresión con formato de número.
Devuelve una expresión con formato de porcentaje (multiplicada por 100), acompañada
FormatPercent
del carácter final %.
Devuelve un entero que especifica la posición inicial de la primera aparición de una cadena
InStr
dentro de otra.
Devuelve la posición de la primera aparición de una cadena dentro de otra, comenzando
InStrRev
por el extremo derecho de la cadena.
Devuelve una cadena creada a partir de la combinación de varias subcadenas contenidas
Join
en una matriz.
LCase Devuelve una cadena o un carácter convertidos en minúscula.
Devuelve una cadena que contiene un número especificado de caracteres a partir del lado
Left
izquierdo de una cadena.
Len Devuelve un entero que contiene el número de caracteres de una cadena.
Devuelve una cadena alineada a la izquierda que contiene la cadena especificada ajustada
LSet
a la longitud indicada.
Devuelve una cadena que contiene una copia de una cadena especificada sin espacios
LTrim
iniciales.
Devuelve una cadena que a su vez contiene un número especificado de caracteres de una
Mid
cadena.
Devuelve una cadena en la que la subcadena especificada se reemplaza determinado
Replace
número de veces por otra subcadena.
Devuelve una cadena que contiene un número especificado de caracteres desde el lado
Right
derecho de una cadena.
Devuelve una cadena alineada a la derecha que contiene la cadena especificada y con la
RSet
longitud especificada.
Devuelve una cadena que contiene una copia de una cadena especificada sin espacios
RTrim
finales.
Space Devuelve una cadena que consta del número especificado de espacios.
Devuelve una matriz unidimensional basada en cero que contiene un número especificado
Split
de subcadenas.
StrComp Devuelve un valor, -1, 0 ó 1, que indica el resultado de una comparación de cadena.
StrConv Devuelve una cadena convertida según se ha especificado.
Devuelve una cadena o un objeto que se compone del carácter especificado repetido el
StrDup
número de veces especificado.
Devuelve una cadena en la que se invierte el orden de los caracteres de la cadena
StrReverse
especificada.
Devuelve una cadena que contiene una copia de una cadena especificada sin espacios
Trim
iniciales o finales.
Devuelve una cadena o un carácter que contiene la cadena especificada convertida en
UCase
mayúsculas.

21
Puede usar la instrucción Option Compare para estable-
cer si las cadenas se comparan mediante un criterio de
ordenación de texto sin distinción entre mayúsculas y
minúsculas determinado por la configuración regional
del sistema (Text) o por las representaciones binarias in-
ternas de los caracteres (Binary). El método predetermi-
nado de comparación de texto es Binary.

En este ejemplo se usa la ‘Inicializa string.


función LTrim para quitar Dim TestString As String = " <-Trim-> "
los espacios iniciales y la Dim TrimString As String
función RTrim para quitar ' Retorna "<-Trim-> ".
los espacios finales de una TrimString = LTrim(TestString)
variable de cadena. Tam- ' Retorna " <-Trim->".
bién se usa la fun- TrimString = RTrim(TestString)
ción Trim para quitar am- ' Retorna "<-Trim->".
bos tipos de espacios. TrimString = LTrim(RTrim(TestString))
' Usa la función Trim archivas el relutado.
' Retorna "<-Trim->".
TrimString = Trim(TestString)

FUNCIONES FECHAS
Date (Tipo de datos, Visual Basic).- Contiene valores IEEE de 64 bits (8 bytes) que
representan fechas comprendidas entre el 1 de enero del año 0001 y el 31 de diciembre
de 9999, y horas comprendidas entre las 0:00:00 (medianoche) y las 11:59:59. Cada
incremento representa 100 nanosegundos de tiempo transcurrido desde el comienzo
del 1 de enero del año 1 del calendario gregoriano. El valor máximo representa 100
nanosegundos antes del comienzo del 1 de enero del año 10000.
El valor predeterminado de Date es 0:00:00 (medianoche) del 1 de enero de 0001.
Puede obtener la fecha y hora actual de la clase DateAndTime.

REQUISITOS DE FORMATO
Debe incluir un literal Date dentro de los signos de
número (# #). Debe especificar el valor de fecha
en el formato M/d/yyyy, por ejemplo #5/31/1993#.
Este requisito es independiente de la
configuración regional y de la configuración de
formato de fecha y hora del equipo.
El motivo de esta restricción es que el significado
del código nunca debe cambiar en función de la
configuración regional en que se ejecuta la
aplicación. Suponga que codifica un literal Date
de #3/4/1998# y piensa que signifique el 4 de marzo de 1998. En una configuración
regional que use el formato mm/dd/aaaa, 3/4/1998 se compila como desee. Pero
suponga que implementa la aplicación en varios países. En una configuración regional
que use el formato dd/mm/aaaa, el literal incluido en el código se compilará como April
3, 1998. En una configuración local que utilice el formato aaaa/mm/dd, el literal no sería
válido (April 1998, 0003) y generaría un error de compilación.
Formato de hora

22
Puede especificar el valor de hora con un formato de
12 horas o de 24 horas, por ejemplo #1:15:30 PM#
o #13:15:30#. Sin embargo, si no especifica los
minutos ni los segundos, debe especificar a.m. o
p.m.de f y hora
Si no incluye una fecha en un literal de fecha y hora,
Visual Basic establecerá la parte del valor
correspondiente a la fecha en el 1 de enero de 0001.
Si no incluye una hora en un literal de fecha y hora,
Visual Basic establecerá la parte del valor
correspondiente a la hora en el comienzo del día, es
decir, medianoche (0:00:00)

Funciones Números
Los métodos de la clase de System.Math proporcionan funciones
matemáticas trigonométricas, logarítmicas, y otras comunes.
Descripción
Abs Devuelve el valor absoluto de un número.
Acos Devuelve el ángulo cuyo coseno es el número especificado.
Asin Devuelve el ángulo cuyo seno es el número especificado.
Atan Devuelve el ángulo cuya tangente corresponde al número especificado.
Atan2 Devuelve el ángulo cuya tangente es el cociente de dos números especificados.
BigMul Devuelve el producto completo de dos números de 32 bits.
Ceiling Devuelve el valor entero más pequeño que es mayor o igual Decimal especificado
o Double.
Cos Devuelve el coseno del ángulo especificado.
Cosh Devuelve el coseno hiperbólico del ángulo especificado.
DivRem Devuelve el cociente de dos de 32 bits o de enteros con signo de 64 bits, y también
devuelve el resto de un parámetro de salida.
Exp Devuelve e (base de los logaritmos naturales) se produce a la potencia
especificada.
Floor Devuelve el entero más grande que sea menor o igual que Decimal o el número
especificado de Double.
IEEERemainder Devuelve el resto que es el resultado de la división de un número especificado por
otro número especificado.
Log Devuelve el logaritmo natural (de e base) de un número especificado o el logaritmo
de un número especificado en una base especificada.
Log10 Devuelve el logaritmo en base 10 de un número especificado.
Max Devuelve el mayor de dos números.
Min Devuelve el menor de dos números.
Pow Devuelve un número especificado elevado a la potencia especificada.
Round Devuelve un valor de Decimal o de Double redondeado al valor entero más cercano
o a un número especificado de dígitos fraccionarios.
Sign Devuelve un valor Integer que indica el signo de un número.
Sin Devuelve el seno del ángulo especificado.
Sinh Devuelve el seno hiperbólico del ángulo especificado.
Sqrt Devuelve la raíz cuadrada de un número especificado.
Tan Devuelve la tangente del ángulo especificado.
Tanh Devuelve la tangente hiperbólica del ángulo especificado.
Truncate Calcula la parte entera de Decimal o un número especificado de Double.

23
Para utilizar estas funciones sin calificación, importe el espacio de
nombres System.Math en el proyecto agregando el código siguiente en
la parte superior del archivo de código fuente.

CAPÍTULO III: CLASES WEB MÓVIL


CLASES WEB MÓVILUNDAMENTOS DE WEB
El desarrollo de aplicaciones móviles en ASP.NET no
difiere mucho del desarrollo Web basado en
explorador tradicional de ASP.NET. En primer lugar,
ASP.NET expone un espacio de nombres
System.Web.Mobile dedicado específicamente al
desarrollo Web. Puede crear una página Web a partir
de la clase base MobilePage y agregar controles del
espacio de nombres System.Web.Mobile. El
desarrollo para dispositivos móviles sigue el modelo orientado a eventos de .NET
Framework estándar, en el que la aplicación responde a las solicitudes del usuario, a
los clics en los botones, etc.
Crear una página Web ASP.NET que muestre resultados en un dispositivo como un
teléfono móvil.
 Agregar paginación para que los usuarios que utilicen dispositivos pequeños
puedan moverse eficazmente a través de listas largas.
 Probar las páginas con un emulador de dispositivos.

24
Poder ejecutar la página en un dispositivo, como un
teléfono móvil. También puede utilizar un emulador
entre varias opciones posibles. Obtenga acceso a
Servicios de Microsoft Internet Information Server (IIS)
y permiso para crear una nueva aplicación en IIS. Es
recomendable utilizar una copia local de IIS para las
páginas de la aplicación, ya que facilita la comprobación
de la aplicación con el emulador. Sin embargo, si no le
es posible crear una aplicación con IIS, quizá pueda
utilizar un emulador en el servidor Web de Microsoft
Visual Web Developer.

Crear el sitio Web


Si ya ha creado un sitio Web en Visual Web Developer (por ejemplo, en Tutorial: Crear
una página Web básica en Visual Web Developer), puede utilizar ese sitio Web y pasar
a la sección siguiente, "Crear la calculadora de hipotecas". De lo contrario, cree un sitio
Web y una página nuevos siguiendo estos pasos.
Para crear un nuevo sitio Web de IIS local bajo la raíz de IIS
 Abra Visual Web Developer.
 En el menú Archivo, elija Nuevo y, a continuación, elija Sitio Web.
 Aparece el cuadro de diálogo Nuevo sitio Web.
 En Plantillas instaladas de Visual Studio, seleccione Sitio Web de ASP.NET.
 Haga clic en Examinar.
 Aparecerá el cuadro de diálogo Seleccionar ubicación.
 Haga clic en la ficha IIS local.
 Seleccione Sitio Web predeterminado.
 Haga clic en el botón Crear nueva aplicación Web.
 Se agrega una nueva aplicación debajo de Sitio Web predeterminado.
 En el cuadro para el nuevo sitio Web, escriba DeviceWalkthrough y, a
continuación, haga clic en Abrir.
 Volverá al cuadro de diálogo Nuevo sitio Web, en el que el cuadro Ubicación
contiene http://localhost/DeviceWalkthrough.
 En la lista Lenguaje, seleccione el lenguaje de programación con el que prefiera
trabajar.

El lenguaje de programación que ha elegido será el lenguaje


predeterminado del sitio Web. Sin embargo, puede utilizar varios
lenguajes en la misma aplicación Web creando páginas y
componentes en lenguajes de programación diferentes.
 Haga clic en Aceptar.
Visual Web Developer crea el nuevo sitio Web y abre una nueva
página con el nombre Default.aspx.Móviles
Los modernos dispositivos móviles con tecnología 3G son
capaces de recibir la transmisión multimedia; aunque, algunos
proveedores de comunicaciones aun no son compatibles con
este tipo de entrega para transmitir contenidos en su red 3G.

25
En NetroMedia, podemos proporcionar la entrega de transmisiones en Vivo y bajo
demanda a dispositivos móviles. Para codificar su
contenido antes de que sea subida su servicio
“streaming on-demand” para su distribución, le
sugerimos las siguientes herramientas:
 Transmisión En Vivo – Servicio En Vivo
usando Flash con soporte a móviles
habilitado
 Wirecast de Telestream (Windows y
MAC)
 Quicktime Broadcaster (Sólo MAC/OSX)
 Adobe Flash Media Encoder con el plugin MainConcept AAC (Windows y MAC)
Transmisión Bajo demanda (pregrabado) –Servicio En-Demanda Flash con soporte a
móviles habilitado–puede utilizar las siguientes soluciones para crear contenido bajo
demanda para este servicio:

USANDO QUICKTIME PRO


Utilizando la expresión codificador de Windows Media, Hay otros codificadores capases
de producir transmisiones que pueden ser vistos en aparatos móviles. Por favor vea los
perfiles de codificación que son requeridos y ver si su actual codificador es capaz de
hacerlo.
Transmisiones de contenido pueden ser entregados a cualquier dispositivo móvil en una
red inalámbrica, sin embargo, algunos dispositivos móviles sólo soportan un perfil códec
en específico.
BlackBerry, Android, Nokia, Ericsson
Para ofrecer contenido que puede ser reproducido nativamente en un Blackberry o
Android, este debe estar usando un perfil en su codificador con la siguiente
configuración:
 H.264: perfil básico 3.0 o inferior códec de vídeo
 Codec de audio AAC
 Perfil básico 1.3 debe respetarse para dispositivos Blackberry
 Se recomiendan bajas resoluciones 320 x 240 ofrece la mayor gama de soporte.

Por favor, tenga en cuenta que aunque la mayoría


de los dispositivos deben soportar estos codecs,
no todos lo hacen. Por favor, revise las
especificaciones técnicas de tu dispositivo
específico para verificar si los códecs son
compatibles. Los modelos Blackberry más
antiguos no son compatibles con vídeo H.264 y no
se le pueden transmitir contenido estos.
Soporte iPhone
 H.264: perfil básico 3.0 o inferior códec de vídeo
 Mp3, AAC, AAC baja complejidad (AAC LC) y alta eficiencia v1 AAC (HE-AAC)
[Nota: HE-AAC v2 no admite]
Debido al diseño del Protocolo de HTTP Live Streaming - estas transmisiones pueden
estar 10-40 segundos detrás del Flash y del el RTSP
Estos dos tipos de perfiles de transmisión también pueden ser entregados por
NetroMedia a PC mediante un reproductor Flash.

26
SOPORTE DE WINDOWS PHONE 7
Windows Phone 7 nativamente no admite ningún tipo
de transmisiones. Debe construirse un Silverlight
Player modificado con requisitos particulares para
llegar a teléfonos Windows 7. Esto sólo está disponible
para los usuarios con el programa profesional y,
aunque podemos proporcionar cotizaciones sobre una
base por canal si es necesario. Transmisiones a
aparatos móviles no se configuran automáticamente.
Estos deben estar configurados.

MANEJO DE CONTENIDO MULTIMEDIA


Estándares del W3C esenciales para el éxito de la Web Móvil Multimedia y gráficos para
MMS Contenido de bajo costo para dispositivos móviles. Navegación Web más fácil
desde dispositivos móviles Interacción Multimodal para la Web Móvil.

Los sistemas actuales de mensajería multimedia (MMS) utilizan la tecnología SMIL del
W3C para el desarrollo de contenido multimedia. Los servicios futuros de MMS utilizarán
la tecnología SVG del W3C para mostrar gráficos vectoriales y animaciones (SVG Móvil,
SMIL Móvil).
Los estándares del W3C reducen los costes de producción de contenido para
dispositivos móviles al enfatizar principios tales como diseño independiente de
dispositivo. Los estándares del W3C permiten a los autores crear contenido que puede
ser adaptado a dispositivos móviles concretos y a las preferencias de los usuarios (como
CC/PP y DPF).
La navegación desde un teléfono móvil debería ser tan sencilla como lo es desde la
computadora de sobremesa.

27
El W3C está trabajando en especificaciones
que proporcionen al usuario una experiencia
satisfactoria durante la navegación (Formatos
de Documentos Compuestos, XHTML).
El W3C desarrolla estándares compatibles con
múltiples modos de interacción: auditiva, visual
y táctil. El habla proporciona un medio para
interactuar con dispositivos móviles sin necesidad de utilizar las manos (Infraestructura
de Interfaz del Habla, Especificación de Gramática de Reconocimiento del Habla,
Lenguaje de Etiquetado de Síntesis del Habla, EMMA, VoiceXML 2.0 e InkML).
Audio, vídeo, juegos y gráficos (Visual C#)
Puede utilizar Visual C# para crear juegos y aplicaciones multimedia basados en las
tecnologías DirectX y Windows Media. XNA, Microsoft XNA se compone de software,
servicios, recursos y comunidades líderes del mercado centrado en garantizar el éxito
de los desarrolladores de juegos en plataformas de juegos de Microsoft. Para obtener
más información, vea XNA Developer Center.

WINDOWS PRESENTATION FOUNDATION


Microsoft Windows Presentation Foundation (WPF) proporciona la base para generar
aplicaciones y experiencias de alta fidelidad en Windows Vista. WPF mezcla la interfaz
de usuario de la aplicación, los documentos y el contenido multimedia, a la vez que
aprovecha toda la eficacia del equipo.
La funcionalidad se amplía a las áreas siguientes:
 Compatibilidad con Tablet y otras formas de entrada de datos.
 Canalización de impresión y creación de imágenes más moderna.
 Infraestructura de accesibilidad y automatización de la interfaz de usuario.
 Interfaz de usuario y visualización controlada por datos.
 Puntos de integración para entrelazar la experiencia de aplicación con el shell
de Windows.

El control ActiveX del Reproductor de


Windows Media se puede utilizar en
aplicaciones de C# para agregar
funcionalidad de audio y reproducción
de vídeo. El Kit de desarrollo de
software (SDK) del Reproductor de
Windows Media 11 de Microsoft
proporciona información y herramientas
para personalizar el Reproductor de
Windows Media y para utilizar el control
ActiveX del Reproductor de Windows Media. El SDK incluye documentación y ejemplos
de código que muestran cómo utilizar el control ActiveX del Reproductor de Windows
Media desde una aplicación de C#.

28
CODIFICADOR DE WINDOWS MEDIA
El SDK del Codificador de Windows Media serie 9 se puede
programar utilizando C# para realizar los siguientes tipos
de tareas:
 Difundir contenido activo. Una organización de
noticias puede utilizar la API de automatización para
programar la captura y difusión automáticas de
contenido activo. Por ejemplo, los departamentos
locales de transporte pueden transmitir imágenes en
directo del estado de las carreteras en distintos puntos
conflictivos para avisar a los conductores de la existencia de retenciones y
recomendar rutas alternativas.
 Contenido de proceso por lotes. Una organización de producción de medios que
debe procesar numerosos archivos de gran tamaño puede crear un proceso por
lotes que utilice la API de automatización para capturar y codificar secuencias
repetidamente, una detrás de otra. Una corporación puede utilizar la API de
automatización para administrar sus servicios de transmisión multimedia por
secuencias utilizando un lenguaje de scripting de su elección y Windows Script
Host.

 Crear una interfaz de usuario personalizada Un proveedor de servicios de Internet


(ISP) puede generar una interfaz que utiliza la funcionalidad de la API de
automatización para capturar, codificar y difundir secuencias multimedia. Como
alternativa, puede utilizar las interfaces de usuario predefinidas en la API de
automatización para el mismo fin.
 Administrar de forma remota aplicaciones del Codificador de Windows Media.
Puede utilizar la API de automatización para ejecutar, administrar y solucionar
problemas de aplicaciones del Codificador de Windows Media desde un equipo
remoto.

DESARROLLO DE PÁGINAS ASP.


ASP NET Web Aplicación
Crear un nuevo proyecto, en C# (también se puede realizar en visual basic .net), del
tipo Web y en ASP.NET Web Application.

29
En la ventana que se abre, puedo escoger entre los diferentes plantillas
predeterminados que me ofrece el IDE. Y entre las cuales
escogeré MVC, añadiéndole el proyecto de pruebas unitarias y
escribiendo el nombre de dicho proyecto de pruebas.

Otra configuración que quiero cambiar, modificar el modo de


autenticación; indicando que no quiero de ningún tipo, y ahorrándome
un montón de código que incluye la propia plantilla.

30
Visual Studio te preguntará que con qué tipo de repositorio quieres
trabajar: con TFS o con Git. Aquí que cada uno responda como mejor le
parezca. Construir el esqueleto de la aplicación.

Empezando por los cimientos: el modelo


Lo primero que debo tener antes de empezar a programar, es la Visión de lo que quiero
hacer. En este caso quiero hacer un Saludador de Nombres. Es decir, veré la
palabra Hola seguido de un nombre, y este nombre lo podré introducir en una caja de
texto y deberá actualizarse cuando pulse en el botón adecuado.
Crear un nuevo archivo del tipo clase dentro de la carpeta de Models, y en esta defino
una clase Personas con dos propiedades: Saludo y Nombre.

31
Aquí se podría hacer de varias formas, como hacer la propiedad de Saludo como solo
de lectura, y que siempre devolviera “Hola” por medio del Get; pero yo he preferido hacer
un setter abreviado de las propiedades y, en el constructor de la clase, introducir los
valores por defecto.

Dando poder al Controlador


El controlador, que es HomeController, y voy a realizar dos modificaciones diferentes.

 Modifico el método public ActionResults Index para introducirle el modelo a la vista.


Es decir, cuando entre a la vista Index por primera vez, me instanciará una nueva
clase persona, y la pasará como modelo a la vista.
 Creo un nuevo método public ActionResults Index pero con un parámetro (Persona
persona). Esto lo que hace es permitir que el modelo que viene de la vista, pueda
ser capturado por el controlador. El cual, a su vez, lo vuelve a mandar a la vista. Y
para indicarle que es un método que recibe información, lo decoro con el tag
[HttpPost].

Recordar que estamos sobre una plantilla estándar de


Visual Studio, por lo cual olvídate del resto del código,
no lo toques ya que no molesta. Y así no tendrás
problemas de compilación.
La Vista, lo que se ve finalmente
Ahora ya hemos llegado a la capa visible, a la capa de
representación, a la Vista.
Al abrir el archivo que está situado
en Views/Home/Index.cshtml, me encuentro con un
montón de código. Al cual, como decía más arriba, no le tienes que hacer ningún caso.
Lo primero que debo añadir, arriba del todo del archivo, como primera fila del
documento, es el enlace al modelo que quiero utilizar; que, en este caso, es @model
GenbetaDev_MVC_2013.Models.Persona

32
¿Por qué lo hago así y no por medio del ViewBag? Básicamente porque el uso del Bag
es una mala práctica, y el utilizar un modelo me permite trabajar con datos tirados, y con
intellisense. Obteniendo un código más limpio y robusto.
Ahora, seleccionando el div superior de la página, introduzco el siguiente código que
voy a explicar a continuación.

Lo primero es indicar que voy a abrir un formulario para tener interacción con el servidor.
Acuérdate que esto no es webform con sus sistemas automáticos y pesados para
mantener la comunicación bidireccional. A continuación creo dos helper html del tipo
label – uno debajo del otro – y le indico qué campo del modelo se debe ver en cada uno.
Continuo dando de alta un helper del tipo textbox, pero que es capaz de enviar
información al servidor por medio de un mensaje Post (y por eso he adornado el método
oportuno en el Controlador). Aquí la sintaxis es un poco más compleja, al tener que
utilizar una expresión lambda para indicarle cual es la propiedad que debe usar para
almacenar los datos y enviarlos al servidor.

Por último, añado un botón html normal de submit, que es el que


lanzará la actualización de la página. Y así he conseguido lo
que quería. En una casilla pongo mi nombre, y cuando pulso en
Enviar Consulta, se me actualiza el saludo.
Lo importante es que se realiza una verdadera separación en
tres capas de la aplicación Web, siguiendo las mejores prácticas
al utilizar las propiedades de un modelo para recibir y transferir
información desde la Vista, y manteniendo desacopladas las
funciones de cada capa. Fíjate que ahora podría extender las
capacidades de la aplicación a leer de una base de datos, sin tener que modificar más
código que el del modelo. Incluso puedo convertir la aplicación en un buscador, sin tener
que modificar la Vista, y solamente cambiar levemente el Controlador; dejando los
cambios grandes al Model, que también se podría evitar utilizando técnicas más
avanzadas.

33
WEB MÓVIL.
ASP.NET la plataforma que se usa para crear aplicaciones
Web y servicios Web que corren bajo IIS. Es parte del
Framework de .NET y está compuesta de varias partes:
Herramientas de desarrollo Web de Visual Studio .NET:
Herramientas visuales para diseñar páginas Web y
plantillas de aplicación, genérica de proyecto y
herramientas de distribución.

EL NAMESPACE SYSTEM.WEB
Hace parte del .NET Framework e incluye
las clases de programación que tienen que
ver con los efectos específicos de Web.
Controles Web y controles HTML:
Compones de interfaz de usuario que se
usan para recolectar información de los
usuarios y para dar las respuestas.
Además, ASP.NET utiliza los siguientes
componentes:
 Microsoft Information Services (IIS): el cual hospeda las aplicaciones Web en el
servidor Windows
 Los lenguajes de programación Microsoft Visual Basic .NET, Microsoft Visual C#,
y JScript
 El framework de .NET: Conjunto completo de las clases de programación
Windows
 Clases y herramientas de base de datos ADO.NET: Estos componentes proveen
acceso a las bases de datos Microsoft SQL Server y ODBC.
 Microsoft Application Center Test (ACT): Manera automática de realizar pruebas
de estrés de las aplicaciones

ASP.NET no es independiente de la plataforma,


puesto que es hospedada por el IIS, debe correr
en Servidores Windows.
Añadir controles y escribir código
Arrastrar el control a la página. Hacer doble clic
sobre el control para añadir el código que
responde a los eventos. Las aplicaciones de
formularios Web son similares a las aplicaciones
de formularios Windows. Sin embargo, las
aplicaciones de formularios Web presentan las
siguientes diferencias.
 Herramientas. Los formularios Web no pueden usar los controles estándar de
Windows. A cambio, utilizan los controles Server, controles HTML, controles de
usuario, o controles custom creados especialmente para los formularios Web.
 Interfaz de usuario. La apariencia de un formulario Web se determina por el
browser que la despliega. Browser distintos, y distintas versiones, soportan
características diferentes de HTML, lo cual puede cambiar la apariencia de su
formulario Web.

34
 Tiempo de vida. Los formularios Windows son instanciados,
existen durante el tiempo que se necesiten, y luego son
destruidos. Los formularios Web aparentan comportarse así,
pero en realidad son instanciados, enviados al browser, y
destruidos inmediatamente. Esto significa que las variables y
objetos declarados en un formulario Web son destruidos tan
pronto el formulario se despliega. Para que algo interesante
se realice, se necesita guardar la información en objetos de
estado especiales provistos por ASP .NET.
 Ejecución. Las partes ejecutables de una aplicación Web se
encuentran en el servidor Web. De esta forma, las
aplicaciones Web son un tipo de aplicación cliente/servidor: el browser es el único
software instalado en el cliente, y toda la interfaz de usuario y la lógica del negocio
corre en el servidor. Toda la comunicación entre el cliente y el servidor ocurre a
través de HTML. Esto significa que inclusive las aplicaciones Web sofisticadas
causan pequeños problemas de seguridad a los clientes y pasan a través de firewalls
sin perturbarse.

CONTROLES PERSONALIZADOS DE WEB MÓVIL.


Se pueden crear dos tipos de controles móviles:
 Controles de usuario móviles
 Controles móviles personalizados.
Para crear controles de usuario se utiliza un archivo .ascx y se hereda de
MobileUserControl.
Los controles móviles personalizados son objetos autónomos que heredan de
System.Web.UI.MobileControls.MobileControl.
La creación de controles de usuario móviles y controles móviles personalizados de
ASP.NET Mobile ofrece una manera de reutilizar la funcionalidad habitual de la interfaz
de usuario entre las páginas Web de ASP.NET Mobile.
ASP.NET proporciona varias técnicas para escribir controles móviles propios. Como
ayuda para determinar qué tipo de control es el más adecuado para una aplicación,
vea Información general sobre los controles de usuario ASP.NET y Desarrollar contro-
les de servidor ASP.NET personalizados.

CAPÍTULO IV: APLICACIONES CON ACCESO A BASE DE


DATOS
APLICACIONES CON ACCESO A BASE
DE DATOSNTRODUCCIÓN A
ADO.NET es un conjunto de librerías
orientadas a objetos que permiten interactuar
con el origen de datos (data source). El origen
de datos es una base de datos como también
puede ser un archivo de texto, planilla
electrónica o un archivo XML. El modelo de objetos ADO.NET proporciona una API
(application programming interface) para acceder a los sistemas de bases de datos
mediante la programación. El IDE de Visual Studio .Net cuenta con herramientas de
programación visual que simplifican el proceso de utilizar una base de datos en un
proyecto.
También posee herramientas visuales para crear una base de datos de distintos
proveedores de BD.

35
ADO se diseñó para su uso en arquitecturas cliente/servidor
con bases de datos relacionales (no jerárquicas, como es el
caso de XML). Su diseño no está demasiado bien factorizado
(ya que existen muchas formas de hacer las cosas y algunos
objetos acaparan demasiadas funciones) y ADO no estaba
pensado para arquitecturas multicapa en entornos
distribuidos.
ADO .NET es una colección de clases, interfaces, estructuras y tipos enumerados que
permiten acceder a los datos almacenados en una base de datos desde la plataforma
.NET. Si bien se puede considerar una versión mejorada de ADO, no comparte con éste
su jerarquía de clases (aunque sí su funcionalidad).
ADO .NET combina las capas ADO y OLE DB en una única capa de proveedores
(managed providers). Cada proveedor contiene un conjunto de clases que implementan
interfaces comunes para permitir el acceso uniforme a distintas fuentes de datos.
Ejemplos: ADO Managed Provider (da acceso a cualquier fuente de datos OLE DB),
SQL Server Managed Provider (específico para el DBMS de Microsoft), Exchange
Managed Provider (datos almacenados con Microsoft Exchange)...

CONTROLES DE LISTA.
Para trabajar con ADO.NET en nuestras páginas ASP.NET,
es necesario agregar algunos namespace:
 using System.Data: pemite trabajar con ADO.NET.
 usign System.SqlClient: permite trabajar con fuentes de
datos SQL Server.
 usign Sytem.OleDb: permite trabajar con otras fuentes
de datos OLEDB.
Existen dos componentes muy importantes en ADO.NET
 Net Data Providers.-Permite el enlace entre la fuente de
datos y el objeto DataSet.
 Objeto DataSet.-Es una representación de memoria, donde se almacenan las
estructuras de tablas con las cuales se trabajara.

NET DATA PROVIDERS


Podemos mencionar a los siguientes objetos.
Connection.-Objeto que permite realizar la conectividad
a la base de datos. Es factible emplear el
OleDbConnection o SqlConnection. Estos objetos
requieren una cadena de conexión para poder realizar
el enlace en la propiedad ConnectionString
Conexión a SQL SERVER, empleando SQLClient
“Data Source=MiServer;Inicial Catalog=Northwind;User
ID=sa;pwd=sa”
Conexion a OLEDB, empleando Oledb
“Provider=Microsoft.ACE.OLEDB.12.0;
Data Source=C:\Users\brunoc\Desktop\Projects.accdb;Persist Security Info=False”
Command.-Objeto que permite el acceso a los comandos SQL para trabajar con la Base
de datos (SqlCommand u OleDbCommand).

36
DataReader.-Objeto que permite ver el resultado mostrado
por una sentencia SQL ejecutada por un objeto Command.
El DataReader mantiene una conexión física a la base de
datos mientras trabaja con ella.
DataAdapter.-Objeto que permite realizar el enlace entre el
objeto DataSet y el data provider.
Propiedades:
 SelectCommand: Recupera filas de la fuente de datos.
 InsertCommand: Para inserciones desde el DataSet a la fuente de datos.
 UpdateCommand: Para modificaciones desde el DataSet a la fuente de datos.
 DeleteCommand: Elimina registros en la fuente de datos.

Métodos:
 Fill: Carga un DataSet a partir de un SelectCommand, permite agregar un nombre
de referencia al objeto DataTable creado en el DataSet.
DataSet object
 Permite almacenar información de manera desconectada. Es una representación
en memoria de los datos totalmente independiente de la fuente de datos.
 En este objeto se puede tener la representación de una tabla de SQL Server, otra
de Access, etc. (Uso de objeto DataTable).
 Debido a que nuestro entorno Web es y debe ser desconectado, el DataSet es ideal
para este tipo de trabajo.
 Es factible generar relaciones (DataRelation) entre las tablas.
 Los datos almacenados en el DataSet pueden ser modificados en dicho objeto y
luego actualizados en la base de datos.

SQL SERVER MOBILE


Microsoft SQL Server Compact (SQL Server CE) es un motor de base de datos
relacional, de libre descarga y distribución, tanto para dispositivos móviles como para
aplicaciones escritorio. Especialmente orientada a sistemas ocasionalmente
conectados, ofrece unas características especialmente útiles para clientes ligeros.
Desde la versión 2.0, el lanzamiento de SQL Server Compact ha ido ligado al de
Microsoft Visual Studio .NET.
Una base de datos SQL Server Compact, a diferencia de una base de datos SQL Server
que se expone como un servicio de Windows, se ejecuta bajo el proceso de la aplicación
que la consume (in-process). El tamaño máximo del archivo de base de datos es de 4
Gb. y la extensión por defecto es .sdf la cual puede ser modificada.

SQL Server Compact posee un motor de base de datos así


como un procesador y un optimizador de consultas
especialmente diseñado para entornos móviles las novedades
son:
 Consultas jerarquizadas con SELECT FROM
 Instrucciones CROSS APPLY y OUTER APPLY
 Instrucción CAST y DECIMAL
 SET IDENTITY INSERT
 Instrucción TOP

37
Con el teléfono o tableta, usted puede:
 Se conecta a cualquier base de datos SQL Server,
 Guardar un número ilimitado de conexiones con o sin
contraseñas,
 Descarga de la tabla y los nombres de las columnas
para simplificar la consulta,
 Consulta - select, update, insert, delete, ejecutivo, etc,
 Utilizar una interfaz intuitiva "del teclado de SQL",
 Guardar un número ilimitado de consultas,
 Ver los conjuntos de resultados y exportarlos a CSV, y
 Resultado de la copia en el portapapeles las células con un toque.

SQL Server Mobile Manager es lo último en servicios públicos portátiles, bases de datos
móviles. Con el Administrador de SQL Server Mobile, puede conectarse a cualquier
base de datos de SQL Server (base de datos de inicio de sesión y contraseña) en
cualquier red interna (de dentro o por medio de VPN). Las conexiones remotas a través
de TCP / IP son compatibles también
La recuperación de datos mediante DataReader implica crear una instancia del objeto
Command y de un DataReader a continuación, para lo cual se llama a
Command.ExecuteReader a fin de recuperar filas de un origen de datos. En el ejemplo
siguiente se muestra cómo se utiliza un DataReader, donde reader representa un
DataReader válido y command representa un objeto Command válido.
reader = command.ExecuteReader();

Puede utilizar el método Read del objeto DataReader para obtener una fila a partir de
los resultados de una consulta. Para tener acceso a cada columna de la fila devuelta,
puede pasar a DataReader el nombre o referencia numérica de la columna en cuestión.
Sin embargo, el mejor rendimiento se logra con los métodos que ofrezca DataReader y
que permitan tener acceso a los valores de las columnas en sus tipos de datos nativos
(GetDateTime, GetDouble, GetGuid, GetInt32, etc.). Para obtener una lista de métodos
de descriptor de acceso con tipo para DataReaders de proveedores de datos
específicos, vea las secciones OleDbDataReader y SqlDataReader. Si se utilizan los
métodos de descriptor de acceso con tipo, dando por supuesto que se conoce el tipo de
datos subyacentes, se reduce el número de conversiones de tipo necesarias para
recuperar el valor de una columna.

El Asistente para la configuración de orígenes de


datos de Visual Studio puede generar el código
del origen de datos en proyectos para
dispositivos que están basados en DataSet o
System.Data.SqlServerCe.SqlCeResultSet. El
código generado representa un origen de datos
en su proyecto de dispositivos que se puede
enlazar a controles de la interfaz de usuario e intercambiar datos con una base de
datos SQL Server Compact 3.5. Sin embargo, el código basado en SqlCeResultSet
se ejecuta más rápidamente, utiliza menos memoria y es menos detallado que el
código basado en DataSet.

38
Esto se debe a que SqlCeResultSet utiliza un puntero para trabajar directamente con la
base de datos, mientras que DataSet almacena una copia de los datos de la base de
datos en la aplicación para dispositivos.
Describen los orígenes de datos basados en SqlCeResultSet y DataSet
De forma predeterminada, Visual Studio genera código basado en DataSet cuando
utiliza el asistente para orígenes de datos para crear un nuevo origen de datos
El diagrama siguiente muestra la diferencia de arquitectura entre SqlCeResultSets y
DataSets.

DATAADAPTER
Representa un conjunto de comandos SQL y una conexión de base de datos que se
utilizan para rellenar el objeto DataSet y actualizar el origen de datos.
DataAdapter actúa como puente entre DataSet y un origen de datos para la
recuperación y el almacenamiento de datos. Para poder actuar como un puente,
DataAdapter asigna el método Fill, que modifica los datos de DataSet de forma que
coincidan con los del origen de datos, y asigna el método Update, que modifica los datos
del origen de datos para hacerlos coincidir con los de DataSet.

Si se conecta a una base de datos de


SQL Server, puede mejorar el
rendimiento general utilizando
SqlDataAdapter junto con sus objetos
asociados SqlCommand y
SqlConnection. En el caso de otros
orígenes de datos compatibles con OLE
DB, utilice DataAdapter junto con sus
objetos OleDbCommand y
OleDbConnection asociados. En el caso de otros orígenes de datos compatibles con
ODBC, utilice DataAdapter junto con sus objetos OdbcCommand y OdbcConnection
asociados. En el caso de las bases de datos de Oracle, utilice DataAdapter junto con
sus objetos OracleCommand y OracleConnection asociados. Cuando se crea una
instancia de DataAdapter, las propiedades de lectura y escritura se establecen en sus
valores iniciales. Para obtener una lista de esos valores, vea el constructor DataAdapter.

Sincronización de Datos

39
La sincronización de datos garantiza que los datos
de la base de datos de suscripciones de Microsoft
SQL Server Compact coinciden con los datos de la
publicación correspondiente. Al sincronizar la base
de datos de SQL Server Compact, los cambios
realizados se envían a la publicación. SQL Server
combina los cambios con los cambios de la base de
datos de publicación, resuelve los conflictos que
puedan producirse y, a continuación, devuelve los
cambios a la suscripción de SQL Server Compact.

CÓMO SE SINCRONIZAN LOS DATOS


Cuando un suscriptor de SQL Server Compact se
sincroniza con SQL Server, todos los cambios realizados
en los datos se recuperan de la base de datos de
publicación. No obstante, cuando se sincroniza primero
un suscriptor de SQL Server Compact, puede recuperar
datos directamente de la base de datos de publicación, o
del archivo de instantáneas (un archivo .bcp de la carpeta
de instantáneas).Al sincronizar datos con SQL Server
Compact 3.5, puede realizar la sincronización de datos
de forma sincrónica o asincrónica. Una aplicación que
utilice la sincronización de datos sincrónica esperará a
que la sincronización se haya completado antes de continuar. Sin embargo, si escribe
una aplicación para que utilice la sincronización de datos asincrónica, la aplicación podrá
seguir procesando otra información mientras espera a que se haya completado la
sincronización. Para obtener más información, vea Sincronización de datos sincrónica y
Sincronización de datos asincrónica.

TRABAJO PRÁCTICO:

Realizar un pequeño proyecto para dispositivo móvil con cone-


xión a base de datos.

FUENTES DE INFORMACIÓN

Electrónicas:

http://www.webestilo.com/aspnet/aspnet00.phtml
https://msdn.microsoft.com/es-es/library/z1zx9t92.aspx
http://www.disca.upv.es/enheror/pdf/ActaNET.PDF
http://www.lsi.us.es/~javierj/investigacion_ficheros/Framework.pdf
http://es.wikipedia.org/wiki/Windows_Mobile
https://msdn.microsoft.com/es-es/library/77wek3f7%28v=vs.90%29.aspx
http://www.icesi.edu.co/contenido/pdfs/ljimenez-javaypuntonet.pdf
https://msdn.microsoft.com/es-pe/library/aa903378%28v=vs.71%29.aspx
http://www.elguille.info/net/cursoVB.NET/Default.aspx

40

You might also like