0

i am downloading the image from database and saving in download but want to save it in my own app named folder.

fabDownload = (FloatingActionButton) findViewById(R.id.fabDownload); fabDownload.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //check permission if (ActivityCompat.checkSelfPermission(ViewWallpaper.this, android.Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { requestPermissions(new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE}, Common.PERMISSION_REQUEST_CODE); } else { AlertDialog dialog = new SpotsDialog(ViewWallpaper.this); dialog.show(); dialog.setMessage("Please wait......"); String fileName = UUID.randomUUID().toString() + ".png"; Picasso.with(getBaseContext()) .load(Common.select_background.getImageLink()) .into(new SaveImageHelper(getBaseContext(), dialog, getApplicationContext().getContentResolver(), fileName, "CreativeGraphy Live Wallpaper Image")); } } }); 

to save i used image helper bitmap so i wanna know how can i add folder to save this images

SaveImageHelper

package com.blipclap.creativegraphy.Helper;

import android.app.AlertDialog; import android.content.ContentResolver; import android.content.Context; import android.graphics.Bitmap; import android.graphics.drawable.Drawable; import android.provider.MediaStore; import android.widget.Toast; import com.squareup.picasso.Picasso; import com.squareup.picasso.Target; import java.lang.ref.WeakReference; /** * Created by Vinit on 3/26/2018. */ public class SaveImageHelper implements Target { private Context context; private WeakReference<AlertDialog> alertDialogWeakReference; private WeakReference<ContentResolver> contentResolverWeakReference; private String name, desc; public SaveImageHelper(Context context, AlertDialog alertDialog, ContentResolver contentResolver, String name, String desc) { this.context = context; this.alertDialogWeakReference = new WeakReference<AlertDialog>(alertDialog); this.contentResolverWeakReference = new WeakReference<ContentResolver>(contentResolver); this.name = name; this.desc = desc; } @Override public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) { ContentResolver r = contentResolverWeakReference.get(); AlertDialog alertDialog = alertDialogWeakReference.get(); if (r != null) MediaStore.Images.Media.insertImage(r, bitmap, name, desc); alertDialog.dismiss(); Toast.makeText(context, "Download succeed ", Toast.LENGTH_SHORT).show(); } @Override public void onBitmapFailed(Drawable errorDrawable) { } @Override public void onPrepareLoad(Drawable placeHolderDrawable) { } } 

folder should be named with app name over here how can i add folder to save images it that folder

0

2 Answers 2

0

call it after download in SaveImageHelper class:

private void saveImage(Bitmap bitmap,String fileName) { ByteArrayOutputStream stream = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream); byte[] byteArray = stream.toByteArray(); File downloadfolder= new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/NewFolder"); if (!downloadfolder.exists()) { downloadfolder.mkdir(); } File file = new File(downloadfolder, fileName); try { FileOutputStream fos = new FileOutputStream(file); fos.write(byteArray, 0, byteArray.length); fos.flush(); } catch (Exception e) { e.printStackTrace(); } } 
Sign up to request clarification or add additional context in comments.

1 Comment

should i call after this line MediaStore.Images.Media.insertImage(r, bitmap, name, desc);
0
File folder = new File(Environment.getExternalStorageDirectory() +File.separator + "YOUR_APP_NAME"); boolean success = true; if (!folder.exists()) { success = folder.mkdirs(); } if (success) { try { bm.compress(Bitmap.CompressFormat.JPEG, 100, new FileOutputStream(new File(Environment.getExternalStorageDirectory() + File.separator + "YOUR_APP_NAME" + File.separator + "file_name" + ".jpg"))); Toast.makeText(getActivity(), "Downloaded", Toast.LENGTH_SHORT).show(); } catch (FileNotFoundException e) { e.printStackTrace(); } } else { // Do something else on failure } 

Please try the above code

2 Comments

where should i add this in helper class or home activity
In your activity..

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.