আমি এখানে এমন কোডটি ভাগ করছি যা বিটম্যাপ আকারে চিত্রটি লোড করতে পারে এবং অ্যাপের নাম ফোল্ডারে এসডিকার্ড গ্যালারীতে সেই চিত্রটি সংরক্ষণ করতে পারে। আপনার এই পদক্ষেপগুলি অনুসরণ করা উচিত
- প্রথমে চিত্র বিটম্যাপ ডাউনলোড করুন
private Bitmap loadBitmap(String url) {
try {
InputStream in = new java.net.URL(url).openStream();
return BitmapFactory.decodeStream(in);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
- আপনার অ্যান্ড্রয়েড ম্যানিফেস্ট.এক্সএমএল ফাইলে নিম্নলিখিত অনুমতিও সরবরাহ করুন।
uses-permission android:name="android.permission.INTERNET"
uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
- এখানে অ্যাক্টিটিতে লিখিত পুরো কোডটি এখানে আমরা এই কাজটি সম্পাদন করতে চাই।
void saveMyImage(String appName, String imageUrl, String imageName) {
Bitmap bmImg = loadBitmap(imageUrl);
File filename;
try {
String path1 = android.os.Environment.getExternalStorageDirectory()
.toString();
File file = new File(path1 + "/" + appName);
if (!file.exists())
file.mkdirs();
filename = new File(file.getAbsolutePath() + "/" + imageName
+ ".jpg");
FileOutputStream out = new FileOutputStream(filename);
bmImg.compress(Bitmap.CompressFormat.JPEG, 90, out);
out.flush();
out.close();
ContentValues image = new ContentValues();
image.put(Images.Media.TITLE, appName);
image.put(Images.Media.DISPLAY_NAME, imageName);
image.put(Images.Media.DESCRIPTION, "App Image");
image.put(Images.Media.DATE_ADDED, System.currentTimeMillis());
image.put(Images.Media.MIME_TYPE, "image/jpg");
image.put(Images.Media.ORIENTATION, 0);
File parent = filename.getParentFile();
image.put(Images.ImageColumns.BUCKET_ID, parent.toString()
.toLowerCase().hashCode());
image.put(Images.ImageColumns.BUCKET_DISPLAY_NAME, parent.getName()
.toLowerCase());
image.put(Images.Media.SIZE, filename.length());
image.put(Images.Media.DATA, filename.getAbsolutePath());
Uri result = getContentResolver().insert(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, image);
Toast.makeText(getApplicationContext(),
"File is Saved in " + filename, Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
}
}
- আশা করি এটি আপনার পুরো সমস্যার সমাধান করতে পারে।