package com.example.android.foldercamera;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Environment;
import android.util.Log;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
/**
* Created by Andrew on 8/11/2015.
*/
public class PictureSave {
private static final String TAG = "fc:pictureSave";
private String path;
private String folderName;
public PictureSave(Context mContext){
path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).toString()+"\\"+mContext.getResources().getString(R.string.default_picture_direcory);
}
public PictureSave(String path){
this.path = path;
}
public void save (byte[] data){
// Bitmap bmp = BitmapFactory.decodeByteArray(data, 0, data.length);
String timeStamp = new SimpleDateFormat("/yyyyMMdd_HHmmss").format(Calendar.getInstance().getTime());
//byte數组轉換成Bitmap
//拍下圖片顯示在下面的ImageView裡
File folder = new File(path);
if(!folder.exists())
folder.mkdirs();
FileOutputStream fop;
try {
File file = new File(path,timeStamp+".jpg");
fop = new FileOutputStream(file);
fop.write(data);
Log.d(TAG, "picture location: "+path+timeStamp+".jpg");
//實例化FileOutputStream,參數是生成路徑
// bmp.compress(Bitmap.CompressFormat.JPEG, 100, fop);
//壓缩bitmap寫進outputStream 參數:輸出格式 輸出質量 目標OutputStream
//格式可以為jpg,png,jpg不能存儲透明
fop.close();
System.out.println("拍照成功");
//關閉流
} catch (FileNotFoundException e) {
e.printStackTrace();
System.out.println("FileNotFoundException");
} catch (IOException e) {
e.printStackTrace();
System.out.println("IOException");
}
// return bmp;
}
public void setFolderNameAndPath(String name, String path){
folderName = name;
this.path = path;
}
}