Android Arsenal – cámara

PhotoEasy reduce la complejidad de solicitar una imagen con la cámara con una variedad de configuraciones para ayudarlo a personalizar el evento.

Tenga en cuenta que PhotoEasy está optimizado para las versiones 16 a 30 y utiliza funciones que requieren la presencia de una cámara, por lo que si elige usarlo en producción, su aplicación no se identificará en PlayStore sin una cámara.

Instalar en pc

  • Modo Gradle: agréguelo a su build.gradle raíz al final de los repositorios:
    allprojects {
     repositories {
      ...
      maven { url 'https://jitpack.io' }
     }
    }
    
    add the dependency:
    dependencies {
        implementation 'com.github.thorny84:PhotoEasy:1.0.2'
      }
    

  • Modo Maven:
    <repositories>
     <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
     </repository>
    </repositories>
    

    agregar dependencia:

      <dependency>
        <groupId>com.github.thorny84</groupId>
        <artifactId>PhotoEasy</artifactId>
        <version>1.0.2</version>
      </dependency>
    

Uso

Ahora, usando el creador, inicializamos PhotoEasy en la actividad o fragmento de la siguiente manera:

PhotoEasy photoEasy = PhotoEasy.builder()
  .setActivity(this)
  .build()

el único método obligatorio del comprador es setActivity, sin generar PhotoEasy IllegalArgumetException. build() abra la cámara de la aplicación del sistema.

El siguiente paso es obtener la fotografía que tomamos. Añadir onActivityResult actividades después super:

photoEasy.onActivityResult(requestCode, resultCode, new OnPictureReady() {
   @Override
   public void onFinish(Bitmap thumbnail) {}
});

si falla la creación del mapa de bits, la miniatura será null.

Tipo de Mimica

Los tipos MIME admitidos son: Jpeg,Png,Webp. Para configurar el tipo de mímica, use el setter de constructor PhotoEasy.MimeType:

PhotoEasy photoEasy = PhotoEasy.builder()
  .setActivity(this)
  .setMimeType(PhotoEasy.MimeType.imagePng)
  .build()

El mimo predeterminado es Jpeg

El nombre de la imagen

Si queremos tener un nombre específico para el archivo de imagen, podemos hacer:

PhotoEasy photoEasy = PhotoEasy.builder()
  .setActivity(this)
  .setPhotoName("image name")
  .build()

Tipo de almacenamiento

Hemos elegido dónde queremos colocar nuestro archivo de imagen. Para especificar el tipo de uso del almacenamiento PhotoEasy.StorageType:

PhotoEasy photoEasy = PhotoEasy.builder()
  .setActivity(this)
  .setStorageType(PhotoEasy.StorageType.media)
  .build()

Hay tres opciones de archivo en Photoeasy:

  • PhotoEasy.StorageType.internal Almacenamiento interno específico de la aplicación para uso exclusivo de su aplicación que no es accesible desde otras aplicaciones. 29 imágenes están encriptadas desde la API.
  • PhotoEasy.StorageType.external Almacenamiento externo específico de la aplicación, estas imágenes están disponibles para otras aplicaciones solo con permiso.
  • PhotoEasy.StorageType.media Estas imágenes se almacenan en el directorio multimedia y son visibles desde todas las aplicaciones sin los permisos necesarios. El tipo de almacenamiento predeterminado es PhotoEasy.StorageType.external. Algunos de ellos requieren permisos requeridos por parte del usuario ...

Autorización

Mediante el uso PhotoEasy.StorageType.external o PhotoEasy.StorageType.media debe establecer permisos para guardar imágenes, al menos en API 28. PhotoEasy administra los permisos internamente, pero si desea administrarlos, debe establecerlos:

PhotoEasy photoEasy = PhotoEasy.builder()
  .setActivity(this)
  .enableRequestPermission(false)
  .build()

esto podría generar excepciones inesperadas si no maneja los permisos de manera excelente. Al dejar los permisos de administración a PhotoEasy, pero desea tener control sobre las acciones después de seleccionar un usuario, puede usar:

PhotoEasy photoEasy = PhotoEasy.builder()
  .setActivity(this)
  .setExternalStoragePermission(myExternalStoragePermission)
  .build()

clase de extensión:

public class ExtStoPer extends ExternalStoragePermission {

  public ExtStoPer(Activity activity) {
    super(activity,RequestMode.alwaysRequest);
  }

  @Override
  public void requestPermissionRationale() {}

  @Override
  public void requestPermission() {}
}

RequestMode son los puntos que desea controlar los permisos:

  • RequestMode.alwaysRequest siempre pide permiso al usuario.
  • RequestMode.requestRationalControl solo le dará un cheque por segunda vez cuando se le solicite permiso al usuario.
  • RequestMode.allControl le dará un control total.

Directorio personalizado

CON PhotoEasy.StorageType.media podemos guardar nuestra imagen en nuestro propio directorio:

PhotoEasy photoEasy = PhotoEasy.builder()
  .setActivity(this)
  .setStorageType(PhotoEasy.StorageType.media)
  .saveInCustomDirectory("Custom_directory")
  .build()

así que tenga una libreta de direcciones personal en la aplicación de la galería

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *