2012-05-23 43 views
1

可能重复:
Android : Bitmap save to location安卓:保存生成的QR码的图像到SD卡

我已经成功地创建了一个QR码生成器应用程序,但不能保存生成的图像到外置储存。我尝试了各种做法,但都没有做到。以下是在屏幕上显示生成的图像的类,然后我必须使用称为保存按钮的按钮来存储图像,但我无法完成。有人可以帮我解决这个问题。非常感谢您为帮助我所做的努力。欢呼声

 public class QRDisplay extends Activity { 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.qr_view); 

    String url = getIntent().getStringExtra("IMAGE_URL"); 

    ImageView imageView = (ImageView)findViewById(R.id.qr_image); 
    try { 
     URL imageURL = new URL(url); 
     Bitmap qrBitmap = BitmapFactory.decodeStream(imageURL.openStream()); 
     imageView.setImageBitmap(qrBitmap); 
    } catch (Exception e) { 
     Log.d("QRDisplay", e.getMessage()); 
    } 


Button saveButton= (Button)findViewById(R.id.saveButton); 
saveButton.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
    ????????????????? 
    } 
}); 

} 

}

回答

1

哎abhijeet使用它肯定解决您的问题

String Filepath = Environment.getExternalStorageDirectory().toString(); 
OutputStream Out = null; 
File file = new File(path, "yourimagename"+".jpg"); 
Out = new FileOutputStream(file); 

getImageBitmap(myurl).compress(Bitmap.CompressFormat.JPEG, 85, fOut); 
Out.flush(); 
Out.close(); 

MediaStore.Images.Media.insertImage(getContentResolver(),file.getAbsolutePath(),file.getName(),file.getName()); 

也把这些代码到乌尔maifest文件,添加许可 -

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