Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package it.rapz.sfondideirapper;
- import android.content.Context;
- import android.graphics.Bitmap;
- import android.graphics.BitmapFactory;
- import android.os.Environment;
- import android.support.annotation.NonNull;
- import android.util.Log;
- import android.widget.Toast;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.IOException;
- /**
- * Created by Alex on 23/08/2017.
- */
- class ImageSaver {
- private String directoryName = "provaimg";
- private String fileName = "image.png";
- private Context context;
- private boolean external;
- public ImageSaver(Context context) {
- this.context = context;
- }
- public ImageSaver setFileName(String fileName) {
- this.fileName = fileName;
- return this;
- }
- public ImageSaver setExternal(boolean external) {
- this.external = external;
- return this;
- }
- public ImageSaver setDirectoryName(String directoryName) {
- this.directoryName = directoryName;
- return this;
- }
- public void save(Bitmap bitmapImage) {
- FileOutputStream fileOutputStream = null;
- try {
- fileOutputStream = new FileOutputStream(createFile());
- bitmapImage.compress(Bitmap.CompressFormat.PNG, 100, fileOutputStream);
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- try {
- if (fileOutputStream != null) {
- fileOutputStream.close();
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- @NonNull
- private File createFile() {
- File directory;
- if(external){
- directory = getAlbumStorageDir(directoryName);
- }
- else {
- directory = context.getDir(directoryName, Context.MODE_PRIVATE);
- }
- return new File(directory, fileName);
- }
- private File getAlbumStorageDir(String albumName) {
- File Root = Environment.getExternalStorageDirectory();
- File file = new File(Root.getAbsolutePath(), albumName);
- //Context context = getApplicationContext();//**Prove we were successful**
- String msg = file.toString();
- Toast toast = Toast.makeText(context, msg, Toast.LENGTH_LONG);
- toast.show();
- if (!file.mkdirs()) {
- Log.e("ImageSaver", "Directory not created");
- Log.e("ImageSaver", Root.getAbsolutePath());
- }
- return file;
- }
- public static boolean isExternalStorageWritable() {
- String state = Environment.getExternalStorageState();
- return Environment.MEDIA_MOUNTED.equals(state);
- }
- public static boolean isExternalStorageReadable() {
- String state = Environment.getExternalStorageState();
- return Environment.MEDIA_MOUNTED.equals(state) ||
- Environment.MEDIA_MOUNTED_READ_ONLY.equals(state);
- }
- public Bitmap load() {
- FileInputStream inputStream = null;
- try {
- inputStream = new FileInputStream(createFile());
- return BitmapFactory.decodeStream(inputStream);
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- try {
- if (inputStream != null) {
- inputStream.close();
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- return null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement