Java tutorial
/* * Copyright 2014 Michael Evans <michaelcevans10@gmail.com> * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.michaelevans.etsyblur.utils; import android.app.Activity; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.drawable.Drawable; import android.view.View; import org.apache.commons.codec.digest.DigestUtils; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; public class Utils { public static Bitmap loadBitmapFromFile(String mBackgroundFilename) { BitmapFactory.Options localOptions = new BitmapFactory.Options(); localOptions.inPurgeable = true; localOptions.inInputShareable = true; return BitmapFactory.decodeFile(mBackgroundFilename, localOptions); } public static String saveBitmapToFile(Activity context, Bitmap bitmap) { String filePath = ""; try { File file = generateFile(context); file.createNewFile(); FileOutputStream fileOutputStream = new FileOutputStream(file); bitmap.compress(Bitmap.CompressFormat.JPEG, 50, fileOutputStream); fileOutputStream.flush(); fileOutputStream.close(); filePath = file.getAbsolutePath(); return filePath; } catch (IOException exception) { } return filePath; } private static File generateFile(Activity context) { String timestamp = String.valueOf(System.currentTimeMillis()); String md5 = String.valueOf(DigestUtils.md5(timestamp)); File localFile = getCacheDir(context, "img_cache"); if (!localFile.exists()) localFile.mkdirs(); return new File(localFile, md5); } private static File getCacheDir(Context context, String dirName) { return new File(context.getCacheDir(), dirName); } //http://stackoverflow.com/a/9596132/1121509 public static Bitmap drawViewToBitmap(View view, int color) { Bitmap returnedBitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(returnedBitmap); Drawable bgDrawable = view.getBackground(); if (bgDrawable != null) bgDrawable.draw(canvas); else canvas.drawColor(color); view.draw(canvas); return returnedBitmap; } public static boolean deleteFile(String filename) { return new File(filename).delete(); } }