selva
selva

Reputation: 1503

Webservice url images store in to android Gallery

I am using ImageView in my android application here i show the images from webservice so i am using UrlImageViewHelper. i want to store this image into android Gallery files.

my images like:

    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);

i tried like this.. but its not working. Any one can help me how to store these Images into Android Gallery?

Upvotes: 0

Views: 439

Answers (2)

selva
selva

Reputation: 1503

i got solution for this problem, Here my answer

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();
        }
    }

Upvotes: 1

marceloamx
marceloamx

Reputation: 116

Are you sure that the gallery is the best place to store images of webservice?

If you wanted to save to internal storage:

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) {}
            }
        }
    }

To gallery, i have not examples here. But search a little;)

Upvotes: 0

Related Questions