PDF de programación - Taller de Programación de Dispositivos Móviles

Imágen de pdf Taller de Programación de Dispositivos Móviles

Taller de Programación de Dispositivos Móvilesgráfica de visualizaciones

Publicado el 29 de Abril del 2020
846 visualizaciones desde el 29 de Abril del 2020
1,2 MB
44 paginas
Creado hace 14a (25/08/2009)
Taller de Programación de
Dispositivos Móviles

José Miguel Rubio L.
Oficina 3-20
http://www.inf.ucv.cl/~jrubio
[email protected]

.NET CF

Windows Mobile y .NET CF

Windows Mobile = Windows CE + programas +

extensiones

Modular como Windows CE, código a disposición

de los ensambladores/operadoras

Dirigido a:

Pocket PC, PPC Phone Edition
Smartphone (SP)
Portable Media Center (PMC)

.NET CF

Windows Mobile y .NET CF

Dispositivos

2000

2002

2003

2003

Second Edition

Futura

Plataforma
Windows

Mobile

SO

WinCE 3.0

WinCE 3.0

WinCE 4.2

WinCE 4.2

WinCE 5.0

Mejor

Desarrollo

eVC 3 (C++)
eVB 3 (VB)

eVC 3 (C++)
eVB 3 (VB)

eVC 3 (C++)
eVC 4 (C++)

VS.NET 2003
(C#, VB.NET)

eVC 3 (C++)
eVC 4 (C++)

VS.NET 2003
(C#, VB.NET)

Visual Studio
2005
(C#, VB.NET, C++)

Capacidad

Plataforma

MFC

Win32,
POOM

MFC, ATL

ATL 4.2, .NET CF

.NET CF SP2

Active Sync
Connection Mgr
MAPI
OBEX
Telephony

Enhanced Emulator
Configuration Mgr,
Bluetooth, SMS

VGA (PPC)
QVGA (SP)
Square
Landscape

.NET CF 2.0

MFC 8.0, ATL 8.0
Broad managed code
support
Notifications Broker,
Location, Camera,
Watson, D3DM

.NET CF

Windows Mobile y .NET CF

Visual Studio 2005
Visual Studio 2005

Managed
Managed

.NET Compact
.NET Compact
Framework 2.0
Framework 2.0

Server side
Server side
ASP .NET
ASP .NET

Mobile Controls
Mobile Controls

Native
Native

MFCMFC

ATLATL

Win32Win32

Software Platform (APIs)
Software Platform (APIs)

Device Management
Device Management
Remote API
Remote API
Configuration*
Configuration*
Bluetooth
Bluetooth
Not. Broker
Not. Broker
Pocket Watson
Pocket Watson

Communication
Communication
Connection Manager
Connection Manager
TAPI*
TAPI*
SMS*
SMS*
MAPI*
MAPI*
POOM*
POOM*

Presentation
Presentation
Home Screen
Home Screen
User Interface/Shell
User Interface/Shell
HTML Control
HTML Control
DOMDOM

Data Access
Data Access
SQL Mobile
SQL Mobile
ADO CE
ADO CE
XMLXML
CE DB
CE DB
OLE DB
OLE DB

Multimedia
Multimedia
GAPIGAPI
Camera
Camera
D3DMD3DM

Windows Mobile
Windows Mobile

Windows CECE
Windows

Drivers
Drivers

CE DB
CE DB
ActiveSync
ActiveSync
SQL Mobile
SQL Mobile

Pocket Outlook
Pocket Outlook
Pocket Internet Explorer
Pocket Internet Explorer
Windows Media Player
Windows Media Player

Device
Device
Hardware
Hardware

Processor
Processor
Memory
Memory

Display
Display
USB or Serial
USB or Serial

Radio
Radio

GSM/GPRS
GSM/GPRS
CDMA/1xRTT
CDMA/1xRTT

WiFiWiFi
Bluetooth
Bluetooth

.NET CF

** = Managed wrappers
= Managed wrappers

Contenidos

Introducción a .NET
Introducción a Compact Framework
Sintaxis de C#
Operaciones básicas con C#
Propiedades y DataBinding
Acceso a Bases de Datos
Invocación de Web Services

.NET CF

Introducción (I)

¿Qué es .NET?

Un conjunto de tecnologías que Microsoft ha creado y
posibilitan crear programas y comunicarlos entre sí con
independencia del lenguaje de programación y la
plataforma de ejecución.
¿Para qué tipo de máquina?  CUALQUIERA que
soporte .NET

Se crea un programa y éste puede ejecutarse en
cualquier máquina con .NET instalado.
Puede comunicarse con otros programas
independientemente de la plataforma y lenguaje

.NET CF

Introducción (II)

Además, el programa puede haber sido hecho en
cualquiera de los lenguajes del conjunto .NET,
que es muy amplio

C++
J++
C#
Visual Basic.NET
Pascal, COBOL, Delphi, Python, .......

El conjunto cada día crece más
“Escribe en el lenguaje que quieras y ejecútalo en
la máquina que quieras”

.NET CF

Introducción (III)

Para conseguir esto se han creado una
serie de elementos básicos

Common Language Runtime (CLR)
Base Class Library (BCL)

Y unos elementos que se ejecutan sobre
ellos (Windows Forms, Web Services, ...)

.NET CF

Arquitectura (I)

ASP.NET

Servicios Web

Windows Forms

.NET Framework Base Classes

Common Language Runtime

.NET CF

Arquitectura (II)

Common Language Runtime

Elemento que se encarga de la ejecución. El corazón
de la ejecución de una aplicación en .NET
Se encarga de ejecutar las aplicaciones, crear el
entorno de ejecución en la máquina, etc...
El concepto es similar al que usa JAVA: El código
fuente es convertido a código intermedio ‘standard’
(MSIL)
El CLR traduce este código intermedio al código
máquina de la arquitectura concreta, directamente,
para que el procesador ejecute las instrucciones.

.NET CF

Arquitectura (III)

Common Language Runtime (CLR)

Ventaja en .NET  CUALQUIER lenguaje
.NET se traduce al código intermedio.
Da igual en qué lenguaje se cree la aplicación,
al final se tendrá el mismo código intermedio a
ejecutar. El CLR ejecutará lo mismo provenga
del lenguaje de programación que provenga
Posibilidad  INTEGRACIÓN
MULTILENGUAJE: Llamar a métodos o
heredar de clases escritas en otros lenguajes.
Todo converge al final a MSIL

.NET CF

Arquitectura (IV)

Código Fuente

Código Intermedio

Compilar

CLR

Código Máquina

Base Class Library (BCL)

E je c u ció n

Conjunto de librerías que usan los lenguajes de
programación .NET
Es un conjunto de clases que ofrece la funcionalidad
básica: Desde vectores y arrays a sockets y librerías de
Base de Datos
Por supuesto, cualquier usuario puede aumentar la
librería creando nuevas clases que pueden o no
heredar de éstas

.NET CF

Arquitectura (V)

Elementos que residen encima de CLR y
BCL

Windows Forms: Aplicaiones de formularios
ASP.NET: Generación que evoluciona de los
ASP’s comunes. Creación de páginas web
dinámicas
Web Services: invocación remota a servicios
de todo tipo a través de la web

.NET CF

Usar .NET en dispositivos
móviles

Aprovechando esta propiedad de .NET, se
pueden crear aplicaciones para móviles
fácilmente
¿Y si existiera un CLR especial para dispositivos
móviles?

Podríamos programar normalmente, compilar, crear el
lenguaje intermedio (MSIL) y el CLR se encargaría de
ejecutarlo en el procesador de estos dispositivos

Para eso se ha creado .NET Compact Framework

.NET CF

.NET Compact Framework (I)

La idea es poder programar estos dispositivos sin
necesidad de ser especialista en ellos
Se programarían tal y como programamos
aplicaciones de un PC de sobremesa, el CLR se
encargaría del resto
Problema Un procesador de un dispositivo de
este tipo es mucho menos potente que el de un
PC de sobremesa

Es necesario un CLR reducido, menos potente que el
CLR ordinario

.NET CF

.NET Compact Framework (II)

¿Consecuencia de esto?

Al tener menos potencia las clases que requieran
mayor proceso o que por alguna otra razón no se
puedan implementar en estos dispositivos se eliminan
Queda un subconjunto de las clases de sobremesa
Sin embargo, se ha conseguido que el conjunto
funcional de clases en Compact Framework aún siga
siendo muy amplio
El objetivo es que el programador acostumbrado al
CLR normal no se vea ‘con las manos cortadas’
Además, las características básicas propias de .NET
siguen intactas

.NET CF

¿Cómo programar en .NET CF?

Para empezar a usar CF usaremos el lenguaje de
programación C#
Como herramienta de desarrollo usaremos Visual
Studio .NET 2003

Visual Studio tiene varias plantillas de proyectos,
dependiendo del tipo. Usaremos la específica de
dispositivos móviles.
Visual Studio Ofrece funciones útiles como emulador
de PocketPC, el despliegue automático de la aplicación
a un dispositivo real, etc

.NET CF

¿Cómo programar en CF?

Con Visual Studio se puede ejecutar la
aplicación en un dispositivo móvil real,
mientras se hace debug en el mismo PC
Hay otras herramientas alternativas de
desarrollo

Desarrollo en C# : SharpDevelop (Open Source)
http://www.icsharpcode.net/opensource/sd/
Etc...

.NET CF

El lenguaje C# (I)

C# es muy parecido a Java
Pequeñas diferencias de sintaxis, algunos
elementos nuevos y diferentes librerías
Por ser parte de .Net

Lenguaje autocontenido  no necesita ficheros extra
demás del fuente (ficheros de cabecera, etc..) guarda
toda la información necesaria él mismo
Recolector de basura  no necesita que el
programador se encargue de gestionar la memoria

.NET CF

El lenguaje C# (II)

¡En C# CUALQUIER cosa hereda de object!

Hasta los tipos básicos como int se pueden tratar como
objetos, a diferencia de Java

Se pueden redefinir operadores, como en C++ y a
diferencia de Java
No es necesario usar punteros, pero para el que
quiera hacerlo (o necesite migrar una aplicación
hecha por ejemplo en C++) existe la opción 
Código Inseguro (unsafe)
Las clases de la librería base se encuentran
divididas en grupos. En Java se llaman paquetes,
en C# se llaman NameSpaces (espacios de
nombres)

.NET CF

Namespaces

Crear un Namespace:

namespace Jugueteria
{

class Juguete
{

...

}

}

Usar un Namespace (en Java se hace con ‘import’)

using Jugueteria;

.NET CF

Principales Namespaces

System  Los tipos más frecuentemente usados
(tipos básicos y tablas, fechas...)
System.Collections  Colecciones de datos más
comunes (pilas, colas, listas ...)
System.Data  Manipulación de Bases de Datos
System.IO  Manipulación de ficheros
System.Net  Comunicaciones en red
System.Threading  Manipulación de Threads
System.Windows.Forms  Formularios
System.Web.UI.WebControls  Controles Web

.NET CF

Más sintaxis (I)

En C# la clase string (con minúscula) se puede
comparar con el operador == y hasta los tipos
básicos como int tienen método ToString()
El acceso a consola es con
System.Console.WriteLine(“Hola Mundo!”);
System.Console.ReadLine();
Herencia
public class Trabajador: Persona
Constantes
public const int NO_VALIDO = -1;

.NET CF

Más sintaxis (II)

Instrucción nueva  foreach recorre automáticamente una
colección de datos (array, lista, etc...). Como un for que
pasa por todos los elementos de la colección.
Suponiendo que la variable trabajadores es una lista de
instancias de la clase Trabajador:
foreach (Trabajador tt in trabajadores)
{

Console.WriteLine( tt.ToString() );

}
La instrucción recorre la colección trabajadores, extrae
cada uno de los elementos de ella, que son de tipo
Trabajado
  • Links de descarga
http://lwp-l.com/pdf17578

Comentarios de: Taller de Programación de Dispositivos Móviles (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad