2016-03-30 9 views
-1

SDcard'ta bir klasör oluşturdum ve ayrıca galeriden görüntülü görünüme geri aldım. Ben Multimedya/Görüntüler Galeriden alınan görüntü Harici Sdcard uygulamasının içinde Yeni klasöre nasıl kaydedilir Kaydetme

private void showFileChooser() { 
    Intent ginetnt = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI); 
    startActivityForResult(ginetnt,PICK_IMAGE_REQUEST); 
} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 

    if (requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK && data != null && data.getData() != null) { 

     filePath = data.getData(); 
     try { 
      bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), filePath); 
      imgView.setImageBitmap(bitmap); 

     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 
} 
public String getStringImage(Bitmap bmp){ 

    ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
    bmp.compress(Bitmap.CompressFormat.JPEG, 100, baos); 
    byte[] imageBytes = baos.toByteArray(); 
    String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT); 

    return encodedImage; 
} 

Ve bu Klasör sdcard

public void onStart(){ 
    super.onStart(); 

    String folder_main = "Multimedia"; 
    File Mul= new File (Environment.getExternalStorageDirectory(), folder_main); 

    if(!Mul.exists()) { 
     if(!Mul.mkdir()){ 
      Toast.makeText(this, Mul + " can't be created.", Toast.LENGTH_SHORT).show(); 
     } 
     else 
      Toast.makeText(this, Mul+" can be created.", Toast.LENGTH_SHORT).show(); 
    } 
    else { 
     Toast.makeText(this, Mul+" already exits.", Toast.LENGTH_SHORT).show(); 
    } 

    File Images= new File (Environment.getExternalStorageDirectory() +"/" +folder_main, "Images"); 

    if(!Images.exists()) { 
     if(!Images.mkdir()) { 
      Images.mkdirs(); 
     }  
    } 

    File Audio= new File (Environment.getExternalStorageDirectory() +"/" +folder_main, "Audio"); 

    if(!Audio.exists()) { 
     if(!Audio.mkdir()) { 
      Audio.mkdirs(); 
     } 
    } 

    File Video= new File (Environment.getExternalStorageDirectory() +"/" +folder_main, "Video"); 

    if(!Video.exists()) { 
     if(!Video.mkdir()) { 
      Video.mkdirs(); 
     } 
    } 
} 
+0

tamam, karşılaştığınız sorun nedir? –

+0

Doğrudan görüntüde alınan görüntüyü kaydedemiyorum –

cevap

0

Önce ImageView den Bitmap ayıklamak oluşturmak için kodlama benim harici sdcard klasörüne bu imageview dosya görüntüsünü kaydetmek istiyorum.

Bitmap bitmap = ((BitmapDrawable)image.getDrawable()).getBitmap(); 

Ardından galerinize aşağıdaki yöntemle kaydedebilirsiniz.

public void saveBitmap(Bitmap bitmap) { 
    String file_path = Environment.getExternalStorageDirectory().getAbsolutePath() 
      + "/YourAlbum"; 
    File dir = new File(file_path); 
    if (!dir.exists()) 
     dir.mkdirs();//create a file to write bitmap data 

    File f = new File(dir, "yourImageName" + ".png"); 
    try { 
     f.createNewFile(); 

     ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
     bitmap.compress(Bitmap.CompressFormat.PNG, 0 /*ignored for PNG*/, bos); 
     byte[] bitmapdata = bos.toByteArray(); 

     FileOutputStream fos = new FileOutputStream(f); 
     fos.write(bitmapdata); 
     fos.flush(); 
     fos.close(); 
} 
İlgili konular