下面是关于“Android 图片存储到指定路径和相册的方法”的完整攻略。
1. 存储到指定路径
在 Android 中,我们可以通过使用 File
类库来创建一个指定路径的文件夹。然后,我们可以将图片保存在该文件夹中。
以下是一些示例代码:
1.1 创建目录和文件
String folderPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/MyFolder";
File folder = new File(folderPath);
if (!folder.exists()) {
folder.mkdirs(); // 创建 MyFolder 文件夹
}
File imageFile = new File(folder, "my_image.jpg");
try {
imageFile.createNewFile(); // 在 MyFolder 中创建 my_image.jpg
} catch (IOException e) {
e.printStackTrace();
}
上面的代码首先获取了存储卡的绝对路径,然后创建了一个新的文件夹 MyFolder
。如果文件夹不存在,则创建该文件夹。接下来,代码创建了一个新的文件 my_image.jpg
,并将其保存在 MyFolder
文件夹中。
1.2 保存图片
FileOutputStream fos = null;
Bitmap bitmap = ... ; // 从某个地方获取 Bitmap 对象
try {
fos = new FileOutputStream(imageFile);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos); // 将 Bitmap 对象保存为 JPEG 文件
fos.flush();
Toast.makeText(this, "保存成功", Toast.LENGTH_SHORT).show();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fos != null) {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
我们可以使用 FileOutputStream
来保存图片。上面的代码从某个地方获取了 Bitmap 对象,然后将其压缩为 JPEG 文件,并保存在 my_image.jpg
文件中。
2. 存储到相册
2.1 添加权限
要将图片保存到相册中,我们需要为应用程序添加写入权限。在您的应用程序清单文件(AndroidManifest.xml)中添加以下代码:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
2.2 保存图片
您可以使用以下代码将图片保存到相册中:
MediaStore.Images.Media.insertImage(getContentResolver(), bitmap, "my_image" , "Image Description");
MediaStore.Images.Media.insertImage()
方法用于将图片添加到相册,并返回一个字符串。这个字符串是新插入的图片的 URI。我们可以使用这个 URI 来访问相册中的图片。
需要注意的是,这种方法只能将 Bitmap 对象保存到相册中。如果您的应用程序需要保存其他类型的文件,例如音频或视频文件,您需要使用不同的类库和方法。
另外,如果您希望保存的文件在相册中显示出来,请使用以下代码:
sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(imageFile)));
这将通知系统将相册中的文件刷新,并显示您保存的文件。
以上是完整的“Android 图片存储到指定路径和相册的方法”的攻略,希望可以帮助您解决问题。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Android 图片存储到指定路径和相册的方法 - Python技术站