Dispositivos embebidos

12
Instructor: Rodrigo Iván Fonseca Daza

description

Material Android

Transcript of Dispositivos embebidos

Page 1: Dispositivos embebidos

Instructor: Rodrigo Iván Fonseca Daza

Page 2: Dispositivos embebidos

Le permite al dispositivo conocer su geolocalización

En Android, el GPS funciona en conjunto con la red 3G/4G y/o WI-FI (si está disponible) para aumentar la precisión de la localización

Page 3: Dispositivos embebidos

Deben especificarse permisos especiales en el «manifest» para tener acceso al GPS

<uses-permission

android:name="android.permission.ACCESS_COARSE_LOCATION"

/>

<uses-permission

android:name="android.permission.ACCESS_FINE_LOCATION" />

Page 4: Dispositivos embebidos

Clase del SDK de Android que sirve para administrar los mecanismos de localización del dispositivo.

locationManager = (LocationManager)

getSystemService(Context.LOCATION_SERVICE);

Page 5: Dispositivos embebidos

Una clase que indica los criterios para seleccionar un proveedor de localización (en cuanto a precisión y consumo de energía)

Criteria criteria = new Criteria();

provider = locationManager.getBestProvider(criteria, false);

Page 6: Dispositivos embebidos

Representación completa de una localización geográfica

Location location =

locationManager.getLastKnownLocation

(provider);

if (location != null) {

onLocationChanged(location);

}

Page 7: Dispositivos embebidos

Para poder usar el servicio de localización, el Activity debe implementar los métodos de LocationListener: ◦ onLocationChanged()

◦ onStatusChanged()

◦ onProviderEnabled()

◦ onProviderDisabled()

Page 8: Dispositivos embebidos

@Override

public void onLocationChanged(Location location) {

double lat = location.getLatitude();

double lng = location.getLongitude();

if (map != null) {

if(locationMarker == null){

locationMarker = map.addMarker(new

MarkerOptions()

.position(new LatLng(lat, lng)));

}else{

locationMarker.setPosition(new

LatLng(lat, lng));

}

}

}

Page 9: Dispositivos embebidos

@Override

protected void onResume() {

super.onResume();

locationManager.requestLocationUpdates(provider, 400,

Criteria.ACCURACY_FINE, this);

}

@Override

protected void onPause() {

super.onPause();

locationManager.removeUpdates(this);

}

Page 10: Dispositivos embebidos

Se puede tener acceso a la cámara, usando una aplicación preinstalada en cada dispositivo (recomendado), o creando una aplicación propia

En nuestro caso, usaremos la aplicación preinstalada

Page 11: Dispositivos embebidos

public void abrirCamara(View v) {

Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

File imagesFolder = new File(Environment.getExternalStorageDirectory(),

"guia_turistica");

imagesFolder.mkdirs();

File image = new File(imagesFolder,"foto.jpg");

Uri uriSavedImage = Uri.fromFile(image);

cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);

startActivityForResult(cameraIntent,1);

}

Page 12: Dispositivos embebidos

@Override

protected void onActivityResult(int requestCode, int resultCode,

Intent data) {

if (requestCode == 1 && resultCode == RESULT_OK) {

Bitmap bMap = BitmapFactory.decodeFile(

Environment.getExternalStorageDirectory()+"/guia_turistica

/"+"foto.jpg");

ivPrueba.setImageBitmap(bMap);

}

}