Android将图像从图库文件夹复制到SD卡替代文件夹 [英] Android copy image from gallery folder onto SD Card alternative folder

查看:28
本文介绍了Android将图像从图库文件夹复制到SD卡替代文件夹的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在寻找某人来协助我在我的应用程序中所需的代码,以将图像从它们存储在 HTC 愿望作为标准(画廊)的位置复制到 SD 卡上的另一个文件夹.我希望用户能够单击一个按钮并将某个文件从 SD 卡库文件夹复制到 SD 卡上的另一个文件夹?谢谢

I am looking for someone to assist in the code i require in my application to copya image from where they get stored on the HTC desire as standard(the gallery) to a another folder on the SD card. I want the user to be able to click on a button and a certain file is copied from the SD card gallery folder to the another folder on the SD card? Thanks

推荐答案

Usmaan,

您可以通过以下方式启动图库选择器意图:

You can launch the gallery picker intent with the following:

    public void imageFromGallery() {
    Intent getImageFromGalleryIntent = 
      new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI);
    startActivityForResult(getImageFromGalleryIntent, SELECT_IMAGE);
}

返回时,通过以下部分代码获取选中图片的路径:

When it returns, get the path of the selected image with the following portion of code:

public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == RESULT_OK) {
        switch(requestCode) {
        case SELECT_IMAGE:
            mSelectedImagePath = getPath(data.getData());
            break;
    }
}

public String getPath(Uri uri) {
    String[] projection = { MediaStore.Images.Media.DATA };
    Cursor cursor = managedQuery(uri, projection, null, null, null);
    startManagingCursor(cursor);
    int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
    cursor.moveToFirst();
    return cursor.getString(column_index);
}

现在您已将路径名包含在字符串中,您可以将其复制到另一个位置.

Now that you have the pathname in a string you can copy it to another location.

干杯!

如果您只需要复制文件,请尝试...

If you just need to copy a file try something like...

try {
    File sd = Environment.getExternalStorageDirectory();
    File data = Environment.getDataDirectory();
    if (sd.canWrite()) {
        String sourceImagePath= "/path/to/source/file.jpg";
        String destinationImagePath= "/path/to/destination/file.jpg";
        File source= new File(data, sourceImagePath);
        File destination= new File(sd, destinationImagePath);
        if (source.exists()) {
            FileChannel src = new FileInputStream(source).getChannel();
            FileChannel dst = new FileOutputStream(destination).getChannel();
            dst.transferFrom(src, 0, src.size());
            src.close();
            dst.close();
        }
    }
} catch (Exception e) {}

这篇关于Android将图像从图库文件夹复制到SD卡替代文件夹的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆