我正在制作一个画廊,我在其中从资产文件夹加载(在运行时)图像。现在我想在点击事件时将图像保存到 SD 卡。
例如: 当应用程序启动时,用户看到图像,他们可以滚动浏览图像并查看它们(这部分完成)。问题是图片在我自己的画廊视图中动态加载。我没有硬编码它们。
我想把它保存到 SD 卡上。但我没有图像的硬编码路径。可以有任意数量的图像。
private void CopyAssets() {
AssetManager assetManager = getAssets();
InputStream in=null;
String[] files = null;
try {
files = assetManager.list("image");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
for(String filename : files) {
try {
in = assetManager.open(filename);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
String dirName = Environment.getExternalStorageDirectory().toString();
File newFile = new File(dirName);
newFile.mkdirs();
OutputStream out = new FileOutputStream(newFile);
System.out.println("in tryyyy");
copyFile(in, out);
in.close();
in = null;
out.flush();
out.close();
out = null;
} catch(Exception e) {
Log.e("tag", e.getMessage());
}
我尝试了上述方法,我不想将所有图像复制到 SD 卡。但只有用户从画廊中选择的那个太动态了。因为会有很多图像。对每个图像路径进行硬编码将很困难。
Android中是否有任何方法可以获取字符串中的当前图像路径或URI?是什么View v = this.getCurrentFocus();
?它返回什么?