Webservice url图像存储在android Gallery中

时间:2013-01-30 13:14:16

标签: android

我在我的Android应用程序中使用ImageView我在webservice中显示图像,所以我使用的是UrlImageViewHelper。我想将此图像存储到android库文件中。

我的图片如:

    String Images = dataExtra.get("images").toString();
    System.out.println("image URL"+Images);     
    Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
    File f = new File(Images);
    Uri contentUri = Uri.fromFile(f);
    mediaScanIntent.setData(contentUri);
    this.sendBroadcast(mediaScanIntent);

我试过这样..但它不起作用。任何人都可以帮我如何将这些图像存储到Android图库?

2 个答案:

答案 0 :(得分:1)

我得到了这个问题的解决方案,我的回答

private void saveImagesIntoGallery(){
        BitmapDrawable drawable = (BitmapDrawable) imageView.getDrawable();
        Bitmap bitmap = drawable.getBitmap();
       // File sdCardDirectory = Environment.getExternalStorageDirectory();// its stores under sdcard not in a specific path
        String sdCardDirectory = Environment.getExternalStorageDirectory().toString()+"/Pictures/";
        String url = arrayForImages[i].toString();
        String file = url.substring(url.lastIndexOf('/')+1);
        System.out.println("PATH NAME"+sdCardDirectory);
        File image = new File(sdCardDirectory, file);
        boolean success = false;

        // Encode the file as a PNG image.
        FileOutputStream outStream;
        try {

            outStream = new FileOutputStream(image);
            bitmap.compress(Bitmap.CompressFormat.PNG, 100, outStream); 
            /* 100 to keep full quality of the image */
            outStream.flush();
            outStream.close();
            success = true;
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        if (success) {
            Toast.makeText(getApplicationContext(), "Image saved with success",
                    Toast.LENGTH_LONG).show();
        } else {
            Toast.makeText(getApplicationContext(),
                    "Error during image saving", Toast.LENGTH_LONG).show();
        }
    }

答案 1 :(得分:0)

您确定该图库是存储网络服务图像的最佳位置吗?

如果您想保存到内部存储空间:

public void saveBitmap(String name, Bitmap bitmap){

        if(bitmap!=null && name!=null){
            FileOutputStream fos;

            if(bitmap!=null){
                try {
                    fos = openFileOutput(name, Context.MODE_PRIVATE);
                    bitmap.compress(CompressFormat.JPEG, 90, fos);
                } catch (FileNotFoundException e) {}
            }
        }
    }

要画廊,我这里没有例子。但搜索一下;)

相关问题