Sie sind auf Seite 1von 30

Cursos de orientacin profesional

ACCIONES COFINANCIADAS CON FONDOS COMUNITARIOS DEL FONDO SOCIAL EUROPEO, A TRAVS DEL PROGRAMA OPERATIVO FONDO SOCIAL EUROPEO DE CANARIAS 20072013 CON UN PORCENTAJE DE CONFINANCIACIN DEL 85%.

Da 1 Qu es Android? Actividades e intenciones Da 2 Layouts y controles grficos Recursos, mens y dilogos Da 3 Persistencia de datos y content providers Grficos y animaciones 2D y 3D Da 4 Servicios en segundo plano Control del hardware especial Da 5 App Widgets y Live folders Publicacin de aplicaciones

Creacin de aplicaciones mviles en Android

Rayco Araa rayco.arana@gmail.com Instituto SIANI

Cmara de fotos Posicionamiento


Estimado por torres GSM y Wi-Fi Preciso por GPS

Sensores
Orientacin, Acelermetro

Vibracin

Cmara de fotos Posicionamiento


Estimado por torres GSM y Wi-Fi Preciso por GPS

Sensores
Orientacin, Acelermetro

Vibracin

Hoy en da muy comn


Posibilidades extra Lectura de cdigos 2D Realidad aumentada

Permisos
android.permission.CAMERA

Abrir, configurar y liberar


//Abrir Camera camera = Camera.open(); //Configurar Camera.Parameters parameters = camera.getParameters(); parameters.setPictureFormat(PixelFormat.JPEG); camera.setParameters(parameters); //Liberar camera.release();

Previsualizar
camera.setPreviewDisplay(mySurface); camera.setPreviewCallback(new PreviewCallback() { public void onPreviewFrame(byte[] _data, Camera _camera) { // TODO Do something with the preview image. } }); camera.startPreview(); camera.stopPreview();

Tomar foto
ShutterCallback public void // TODO } }; PictureCallback public void // TODO } }; PictureCallback public void // TODO } }; shutterCallback = new ShutterCallback() { onShutter() { Do something when the shutter closes. rawCallback = new PictureCallback() { onPictureTaken(byte[] _data, Camera _camera) { Do something with the image RAW data. jpegCallback = new PictureCallback() { onPictureTaken(byte[] _data, Camera _camera) { Do something with the image JPEG data.

camera.takePicture(shutterCallback, rawCallback, jpegCallback);

Cmara de fotos Posicionamiento


Estimado por torres GSM y Wi-Fi Preciso por GPS

Sensores
Orientacin, Acelermetro

Vibracin

Permite determinar donde estamos


Servicios geocontextualizados Cmara + Posicin = Realidad aumentada Layar, Wikitude Permisos requeridos android.permission.ACCESS_FINE_LOCATION android.permission.ACCESS_COARSE_LOCATION

Clases clave
LocationManager Permite acceso al servicio Dependiente del proveedor Permite obtener los proveedores disponibles Se puede seleccionar en funcin de caractersticas LocationProvider LocationManager.GPS_PROVIDER LocationManager.NETWORK_PROVIDER

LocationManager
addGpsStatusListener Cambios de estado del GPS addNmeaListener Obtener sentencias NMEA desde el GPS

addProximityAlert Posicin + Radio


gestLastKnownLocation No tiene porque ser la actual

LocationManager
requestLocationUpdates Nos avisa cada vez que cambia la posicin Cuatro parmetros normalmente
Proveedor a usar (GPS o NETWORK) Tiempo mnimo entre actualizaciones (milisegundos) Movimiento mnimo entre actualizaciones (metros) LocationListener, donde vamos a recibir las notificaciones

Geocodificacin
Clase Geocoder Directa Obtener posicin desde direccin Puede estar limitada a una regin getFromLocationName(address, maxResults) Inversa Obtener direccin desde posicin getFromLocation(latitude, longitude, maxResults)

MapView MapActivity
Vista que permite ver un mapa Actividad que muestra un MapView Gestiona los servicios implicados Pintar sobre el mapa Controlar el centro del mapa y el nivel de

Overlay

MapController
zoom

Cmara de fotos Posicionamiento


Estimado por torres GSM y Wi-Fi Preciso por GPS

Sensores
Orientacin, Acelermetro

Vibracin

Mltiples sensores en los telfonos


Acelermetro, orientacin, luz, campo

magntico, proximidad o temperatura

SensorManager
Servicio del sistema getSystemService(Context.SENSOR_SERVICE); Permite el control de todos ellos de forma

homognea

SensorEventListener
Permite recibir eventos de: Valor del sensor Presicin del sensor
SensorEventListener mySensorListener = new SensorEventListener() { public void onSensorChanged(SensorEvent event) { // TODO Deal with sensor value changes } public void onAccuracyChanged(Sensor sensor, int accuracy) { // TODO Auto-generated method stub } };

SensorEvent
int acurracy
SensorManager.SENSOR_STATUS_ACCURACY_HIGH SensorManager.SENSOR_STATUS_ACCURACY_LOW SensorManager.SENSOR_STATUS_ACCURACY_MEDIUM SensorManager.SENSOR_STATUS_UNRELIABLE

Sensor sensor long timestamp Tiempo en nanosegundos cuando se produjo el evento

SensorEvent
final float[] values Contiene los valores de la lectura del sensor Dependiente del sensor, 1 o 3 valores

Constantes identificadores de sensores


Sensor.TYPE_ACCELEROMETER
3 valores (Gx, Gy, Gz) en m/s2 Hay que tener en cuenta la gravedad

Sensor.TYPE_ORIENTATION
3 valores (Azimuth, Pitch, Roll) en grados Preferible usar con getRotationMatrix(), remapCoordinateSystem() y getOrientation() para obtener valores ms ajustados (ms computo)

Constantes identificadores de sensores


Sensor.TYPE_LIGHT
1 valor en lux

Sensor.TYPE_MAGNETIC_FIELD
3 valores (x, y, z) en microteslas (T)

Sensor.TYPE_PROXIMITY
1 valor en centimetros

Constantes identificadores de sensores


Sensor.TYPE_GYROSCOPE Sensor.TYPE_PRESSURE Sensor.TYPE_TEMPERATURE

Sensor Delay (rate)


SensorManager.SENSOR_DELAY_FASTEST
El ms rpido posible

SensorManager.SENSOR_DELAY_GAME
Ideal para controlar juegos

SensorManager.SENSOR_DELAY_NORMAL
Valor por defecto

SensorManager.SENSOR_UI
Ideal para actualizar UI

Uso:
String sn = Context.SENSOR_SERVICE; SensorManager sensorManager = (SensorManager)getSystemService(sn); sensorManager.registerListener(mySensorEventListener, mySensor, rate);

Cmara de fotos Posicionamiento


Estimado por torres GSM y Wi-Fi Preciso por GPS

Sensores
Orientacin, Acelermetro

Vibracin

Controlado por el servicio Vibrator Service


String vs = Context.VIBRATOR_SERVICE; Vibrator vibrator = (Vibrator)getSystemService(vs); long[] pattern = {1000, 2000, 4000, 8000, 16000 }; vibrator.vibrate(pattern, 0); vibrator.vibrate(1000); // Vibrate for 1 second

Creacin de aplicaciones mviles en Android

Usar los servicios de localizacin

Control del hardware especial


Android Developer Reference
http://developer.android.com/guide/topics/location/index.html

Android Application Development


Reto Meier, Editorial Wrox

Pro Android
Sayed Y. Hashimi y Satya Komatineni, Editorial Apress

Das könnte Ihnen auch gefallen