Android Open Source - Operation-Valkyrie File Manager






From Project

Back to project page Operation-Valkyrie.

License

The source code is released under:

Terms and conditions Preamble: This Agreement, signed on Jun 10, 2012 [hereinafter: Effective Date] governs the relationship between the Enduser, a private person, (hereinafter: Licensee) and Paul N...

If you think the Android project Operation-Valkyrie listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package valkyrie.file;
//from w  w w . j a v a2 s  .  c o m
/**
 * 
 * COPYRIGHT: Paul Neuhold, Laurenz Theuerkauf, Alexander Ritz, Jakob Schweighofer, Milo Tischler
 * ? Milo Tischler, Jakob Schweighofer, Alexander Ritz, Paul Neuhold, Laurenz Theuerkauf 
 *
 */
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Environment;
import android.util.Log;
import android.widget.Toast;

/**
 * 
 * @author madhatter Filemanager to save, load and delete Files from SD Card
 */

public class FileManager {
  final static String TAG = "FileManager";
  final static String IMGNAME = "IMG";
  final static String IMGCOUNT = "0000";
  private boolean SDMOUNTED = false; // check if SD Card is mounted
  private Context context;
  final static String SDPATH = Environment.getExternalStorageDirectory().toString() + "/Valkyrie/Gallery/";
  final static String THUMBPATH = Environment.getExternalStorageDirectory().toString() + "/Valkyrie/Thumbnls/";

//  public FileManager() {
//    initFileManager();
//  }

  public FileManager(Context context) {
    this.context = context;
    try {
      initFileManager();
    } catch (Exception e) {
      Log.e(TAG, "ERROR, couldnt initialize Filemanager");
    }

  }

  /**
   * init method checks if the File /Valkyrie/Gallery/ and /Valkyrie/Thumbnls/ is already created. if not it will be
   * created
   * 
   * @return
   */
  private boolean initFileManager() {
    String state = Environment.getExternalStorageState();
    File file = new File(SDPATH);
    File thumb = new File(THUMBPATH);
    if (Environment.MEDIA_MOUNTED.equals(state)) {
      SDMOUNTED = true;
      if (!file.exists())
        file.mkdirs();
      if (!thumb.exists())
        thumb.mkdirs();
      return true;

    } else {
      SDMOUNTED = false;
      Toast.makeText(context, "WARNING: SD Card not mounted!", Toast.LENGTH_SHORT).show();
      Log.e(TAG, "Error SD-Card not mounted");
      return false;
    }
  }

  /**
   * save an Image as PNG on SD Card at: .../Valkyrie/Gallery/
   * 
   * @param bitmap
   */
  public void saveImageToGallery(Bitmap bitmap) {
    if (SDMOUNTED) {
      OutputStream fOut = null;
      File directory = new File(SDPATH);
      File files[] = directory.listFiles();
      File file;

      if (files.length > 0) {
        int highestnumber = 0;
        for (File f : files) {
          if (f.exists()) {
            int newhighest = Integer.parseInt(getLatestImage().substring(3, getLatestImage().length() - 4));
            if (newhighest >= highestnumber) {
              highestnumber = newhighest + 1;
            }
          }
        }
        String filenumber = IMGCOUNT + highestnumber;
        filenumber = filenumber.substring(filenumber.length() - 4);

        file = new File(SDPATH, IMGNAME + filenumber + ".png");
      } else {
        String filenumber = IMGCOUNT + 1;
        filenumber = filenumber.substring(filenumber.length() - 4);
        file = new File(SDPATH, IMGNAME + filenumber + ".png");
      }

      try {
        fOut = new FileOutputStream(file);
        bitmap.compress(Bitmap.CompressFormat.PNG, 100, fOut);
        fOut.flush();
        fOut.close();
      } catch (FileNotFoundException e) {
        Log.e("FileManager", e.toString());
      } catch (IOException e) {
        Log.e(TAG, e.toString());
        e.printStackTrace();
      }
      bitmap.recycle();
    } else
      Toast.makeText(context, "WARNING: SD Card not mounted!", Toast.LENGTH_SHORT).show();
  }

  public void saveImageToInternal(Bitmap bitmap) {
    // TODO laurenz
  }

  /**
   * Get an Image from SD Card
   */

  public Bitmap loadImageFromGallery(String imageName) {
    if (SDMOUNTED) {
      InputStream is = FileManager.class.getResourceAsStream(SDPATH + imageName);
      return BitmapFactory.decodeStream(is);
    } else
      Toast.makeText(context, "WARNING: SD Card not mounted!", Toast.LENGTH_SHORT).show();
    return null;
  }

  public Bitmap loadImageFromInternal(String imageName) {
    if (SDMOUNTED) {
      File imageFile = new File(SDPATH + imageName);
      if (imageFile.exists()) {
        InputStream is = FileManager.class.getResourceAsStream(SDPATH + imageName);
        return BitmapFactory.decodeStream(is);
      } else
        return null;
    } else
      return null;
  }

  /**
   * Delete an Image and its Thumbnail from the SD Card
   * 
   * @param imageName
   */
  public void deleteImageFromGallery(String imageName) {
    if (SDMOUNTED) {
      File fileToDelete = new File(SDPATH + imageName);
      File thumbToDelete = new File(THUMBPATH + imageName);
      if (fileToDelete.exists()) {
        fileToDelete.delete();
        thumbToDelete.delete();
      }
    } else
      Toast.makeText(context, "WARNING: SD Card not mounted!", Toast.LENGTH_SHORT).show();
  }

  /**
   * get the name of the latest Image on the SD Card
   * 
   * @return
   */
  public String getLatestImage() {
    File directory = new File(SDPATH);
    String imageName = null;
    File files[] = directory.listFiles();
    int highestnumber = 0;
    for (File f : files) {
      if (f.exists()) {
        int newhighest = Integer.parseInt(f.getName().substring(3, f.getName().length() - 4));
        if (newhighest >= highestnumber) {
          highestnumber = newhighest + 1;
          imageName = f.getName();
        }
      }
    }
    if (imageName != null)
      return imageName;
    else
      return "Error";
  }
}




Java Source Code List

org.opencv.android.Utils.java
org.opencv.calib3d.Calib3d.java
org.opencv.calib3d.StereoBM.java
org.opencv.calib3d.StereoSGBM.java
org.opencv.core.Algorithm.java
org.opencv.core.Core.java
org.opencv.core.CvException.java
org.opencv.core.CvType.java
org.opencv.core.MatOfByte.java
org.opencv.core.MatOfDMatch.java
org.opencv.core.MatOfDouble.java
org.opencv.core.MatOfFloat4.java
org.opencv.core.MatOfFloat6.java
org.opencv.core.MatOfFloat.java
org.opencv.core.MatOfInt4.java
org.opencv.core.MatOfInt.java
org.opencv.core.MatOfKeyPoint.java
org.opencv.core.MatOfPoint2f.java
org.opencv.core.MatOfPoint3.java
org.opencv.core.MatOfPoint3f.java
org.opencv.core.MatOfPoint.java
org.opencv.core.MatOfRect.java
org.opencv.core.Mat.java
org.opencv.core.Point3.java
org.opencv.core.Point.java
org.opencv.core.Range.java
org.opencv.core.Rect.java
org.opencv.core.RotatedRect.java
org.opencv.core.Scalar.java
org.opencv.core.Size.java
org.opencv.core.TermCriteria.java
org.opencv.features2d.DMatch.java
org.opencv.features2d.DescriptorExtractor.java
org.opencv.features2d.DescriptorMatcher.java
org.opencv.features2d.FeatureDetector.java
org.opencv.features2d.Features2d.java
org.opencv.features2d.GenericDescriptorMatcher.java
org.opencv.features2d.KeyPoint.java
org.opencv.highgui.Highgui.java
org.opencv.highgui.VideoCapture.java
org.opencv.imgproc.Imgproc.java
org.opencv.imgproc.Moments.java
org.opencv.imgproc.Subdiv2D.java
org.opencv.ml.CvANN_MLP_TrainParams.java
org.opencv.ml.CvANN_MLP.java
org.opencv.ml.CvBoostParams.java
org.opencv.ml.CvBoost.java
org.opencv.ml.CvDTreeParams.java
org.opencv.ml.CvDTree.java
org.opencv.ml.CvERTrees.java
org.opencv.ml.CvGBTreesParams.java
org.opencv.ml.CvGBTrees.java
org.opencv.ml.CvKNearest.java
org.opencv.ml.CvNormalBayesClassifier.java
org.opencv.ml.CvParamGrid.java
org.opencv.ml.CvRTParams.java
org.opencv.ml.CvRTrees.java
org.opencv.ml.CvSVMParams.java
org.opencv.ml.CvSVM.java
org.opencv.ml.CvStatModel.java
org.opencv.ml.EM.java
org.opencv.ml.Ml.java
org.opencv.objdetect.CascadeClassifier.java
org.opencv.objdetect.HOGDescriptor.java
org.opencv.objdetect.Objdetect.java
org.opencv.photo.Photo.java
org.opencv.utils.Converters.java
org.opencv.video.BackgroundSubtractorMOG.java
org.opencv.video.BackgroundSubtractor.java
org.opencv.video.KalmanFilter.java
org.opencv.video.Video.java
valkyrie.colorpicker.ColorPickerDialog.java
valkyrie.colorpicker.ColorPicker.java
valkyrie.file.DecodeBitmaps.java
valkyrie.file.FileManager.java
valkyrie.filter.FilterAssets.java
valkyrie.filter.FilterInternalStorage.java
valkyrie.filter.FilterManager.java
valkyrie.filter.FilterUIPosition.java
valkyrie.filter.IFilter.java
valkyrie.filter.ascii.Ascii.java
valkyrie.filter.ascii.Converter.java
valkyrie.filter.ascii.Font.java
valkyrie.filter.ascii.Options.java
valkyrie.filter.canny.Canny.java
valkyrie.filter.grayscale.Grayscale.java
valkyrie.filter.nofilter.NoFilter.java
valkyrie.ui.IUpdateableUI.java
valkyrie.ui.LayoutManager.java
valkyrie.ui.MainActivity.java
valkyrie.ui.UpdateableRelativeLayout.java
valkyrie.ui.gallery.AboutActivity.java
valkyrie.ui.gallery.GalleryActivity.java
valkyrie.ui.gallery.ImageAdapter.java
valkyrie.ui.gallery.ShowPicActivity.java
valkyrie.ui.preview.CameraPreviewViewCV.java
valkyrie.widget.MultiDirectionSlidingDrawer.java
valkyrie.widget.TouchImageView.java