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 esPhotoEasy.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