java - 如何将图像保存到用户的手机上?然后加载它?

标签 java android image android-studio fileoutputstream

我遵循了很多关于如何将图像保存到手机并重新加载图像的指南,最后得出以下结论: 在视频中它有效,但由于某种原因它对我不起作用。

可能有更好的版本吗?我稍后如何读取此内容,以便将其与 Picasso 一起粘贴到另一个 ImageView 中?

(更新:Logcat 说:Logcat 说:java.io.FileNotFoundException:/storage/emulated/0/LiFit/profileimage.jpg(没有这样的文件或目录),但我明确使用 mkdir 命令创建此文件夹那么为什么它不起作用?)

BitmapDrawable drawable = (BitmapDrawable) profilBild.getDrawable();
Bitmap bitmap = drawable.getBitmap();
File sdCard = Environment.getExternalStorageDirectory();
File directory = new File(sdCard.getAbsolutePath()+ "/LiFit");
directory.mkdir();
String fileName = String.format("%d.jpg", System.currentTimeMillis());
File outFile = new File(directory, fileName);
Toast.makeText(getActivity(), "Pic saved", Toast.LENGTH_LONG).show();
try {
    outputStream = new FileOutputStream(outFile);
    bitmap.compress(Bitmap.CompressFormat.JPEG, 100, outputStream);
    try {
        outputStream.flush();
        outputStream.close();
        Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
        intent.setData(Uri.fromFile(outFile));
        getContext().sendBroadcast(intent);
    } catch (IOException e) {
        e.printStackTrace();
    }
} catch (FileNotFoundException e) {
    e.printStackTrace();
}

最佳答案

显然您需要将应用程序设置中的权限更改为......

关于java - 如何将图像保存到用户的手机上?然后加载它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61658584/

相关文章:

android - "only const val can be used in constant expressions"编译时错误 Dagger2 Kotlin

python - 如何将二维码分割成单独的图像?

java - 管理软件版本

java - 将 arraylist 添加到 Jlist

java - WebStart 启动尝试在本地查找 jar

java - 纹理区域分割不起作用

Java 线程工作组性能与嵌入式循环性能

java - 响铃一定次数后挂断电话

javascript - 在页面加载时缩放图像

image - 从目录中获取图像