0

私はSDカードに複数の画像を保存するためにAndroidに取り組んでいますが、ギャラリーにも特定のフォルダにも保存されています...誰でもこのおかげで助けることができます..

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, CAMERA_PIC_REQUEST);

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == CAMERA_PIC_REQUEST) {
        // 2
        Bitmap thumbnail = (Bitmap) data.getExtras().get("data");

        mImage.setImageBitmap(thumbnail);
        CharSequence time2 = android.text.format.DateFormat.format(
                "yymmddhhmmss", new java.util.Date());
        String date1 = time2.toString();

        //ByteArrayOutputStream bytes = new ByteArrayOutputStream();
         try {

                thumbnail .compress(CompressFormat.JPEG, 100, new FileOutputStream(Environment.getExternalStorageDirectory()
        .getAbsolutePath()  + "/mypics/img" + date1 + ".png"));
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }


    } else
        Toast.makeText(getBaseContext(), "Please take snap again",
                Toast.LENGTH_LONG).show();
}       
4

2 に答える 2

2

このようにしてみてください::

この関数を使用して、ビットマップを SD カードに保存します

private void SaveIamge(Bitmap finalBitmap) {

String root = Environment.getExternalStorageDirectory().toString();
File myDir = new File(root + "/saved_images");    
myDir.mkdirs();
Random generator = new Random();
int n = 10000;
n = generator.nextInt(n);
String fname = "Image-"+ n +".jpg";
File file = new File (myDir, fname);
if (file.exists ()) file.delete (); 
try {
       FileOutputStream out = new FileOutputStream(file);
       finalBitmap.compress(Bitmap.CompressFormat.JPEG, 90, out);
       out.flush();
       out.close();

} catch (Exception e) {
       e.printStackTrace();
}
}

この許可をマニフェストに追加します。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

ギャラリーに保存するには、これを追加するだけです:

sendBroadcast(new Intent(
Intent.ACTION_MEDIA_MOUNTED,
        Uri.parse("file://" + Environment.getExternalStorageDirectory())));
于 2013-10-28T07:24:59.520 に答える