繁体   English   中英

重命名图库中的所选图像

Renaming selected image from gallery

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在尝试制作一个用户可以从图库中选择图像并将其重命名为所需名称的应用,从图库中获取图像的代码是

Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
            photoPickerIntent.setType("image/*");
            startActivityForResult(photoPickerIntent, RESULT_LOAD_IMG);

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (resultCode == RESULT_OK){
        try {
            upload.setVisibility(View.INVISIBLE);
            Image.setVisibility(View.VISIBLE);
            final Uri imageUri = data.getData();
            final InputStream imageStream = getContentResolver().openInputStream(imageUri);
            final Bitmap selectedImage = BitmapFactory.decodeStream(imageStream);

            Image.setImageBitmap(selectedImage);
            Log.i("FileName is", fileName);
        } catch (FileNotFoundException e){
            e.printStackTrace();
            Toast.makeText(getApplicationContext(),"Error Loading Image",Toast.LENGTH_LONG).show();
        }
    } else {
        Toast.makeText(getApplicationContext(),"Please select an image",Toast.LENGTH_LONG).show();
    }
}

我看过一些文章,它们使用fromto重命名Images,但是我不明白它是如何工作的以及如何设置所需的名称(用户将通过editText输入)。

任何帮助,将不胜感激

2 个回复

在这里,您可以找到@Davewebb的相关解决方案,您对from to感到困惑

File sdcard = Environment.getExternalStorageDirectory();
File from = new File(sdcard,"from.txt");
File to = new File(sdcard,"to.txt");
from.renameTo(to);

from.txt是您的旧名称,新名称将在此处to.txt

对于内部存储,您可以读取这样的文件,并执行与上面相同的过程

private String readFileFromInternalStorage(){
ImageView imageView = (ImageView) findViewById(R.id.image);
ContextWrapper cw = new ContextWrapper(context);

//path to /data/data/yourapp/app_data/dirName
File directory = cw.getDir("dirName", Context.MODE_PRIVATE);          
File mypath=new File(directory,"imagename.jpg");

ImageView imageView = (ImageView) findViewById(R.id.image);
    imageView.setImageDrawable(Drawable.createFromPath(mypath.toString()));
}

这是可能对您有帮助的代码

    File sdcard = Environment.getExternalStorageDirectory();
    File from = new File(sdcard, "from.txt");
    File to = new File(sdcard, "to.txt");
    if (updateFileName(context, from, to))
        Log.d("File Rename", "Successfully renamed");
    else Log.d("File Rename", "Rename filed");

 public static boolean updateFileName(Context mContext, File from, File to) {
        if (from.renameTo(to)) {
            removeMedia(mContext, from);
            updateMediaInGallery(mContext, to);
            return true;
        } else {
            return false;
        }
    }

    public static void updateMediaInGallery(Context c, File f) {
        Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
        intent.setData(Uri.fromFile(f));
        c.sendBroadcast(intent);
    }

    private static void removeMedia(Context c, File f) {
        ContentResolver resolver = c.getContentResolver();
        resolver.delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, MediaStore.Images.Media.DATA + "=?", new String[]{f.getAbsolutePath()});
    }
1 如何在图库中重命名/保存图像

我创建了一个自定义文件夹,以通过我的应用程序将图像保存在图库中(通过以下代码实现)。 现在,我想为该保存的图像设置自定义名称。 我如何应对这一挑战? 如果有人可以帮助我应对这一挑战。 ...

2 根据表单中的所选选项重命名图像?

很简单的问题。 当选择一个选项时,我有一个用HTML制成的选择选项框,它会根据该选项的名称重命名上载的图像。 因此,将图像上传到S3时,需要将其添加到重命名中。 像这样: $ hotelDir实际上是房间类型还是我们设置的任何类型。 这是想要查看的任何人的列表示例。 ...

6 如何从图库中获取所选图像的路径

我正在创建一个应用程序以将图像上传到服务器。 选择图片时出现以下异常。 方法引发了“ android.database.sqlite.SQLiteException”异常。 打开图库的代码: 活动结果 ...

2017-02-20 12:05:40 2 4808   android
9 如何在Android的图库中对所选图像应用效果?

实际上,我尝试通过使用Effectsfactory类来在可绘制文件夹中找到图像上的“图像效果”。 它的工作正常。 实际上,此代码使用了此链接“ http://grishma102.blogspot.in/2013/10/apply-effects-on-image-using-effects ...

2015-01-27 11:53:05 1 2051   android
10 所选的图库图像未显示在第三个活动中

我正在创建一个应用程序,该应用程序允许用户在第一个活动中从画廊中选择图像,然后将其发送到“第三和第四个活动”,依此类推。活动(即“第二个活动”)以及我用来将所选图像发送到多个活动中以按顺序绕过其URI的方法。 问题是,用户选择的图片正在第二个活动中显示,但是当我将URI's从第二个活动传递到第三,第 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM