Я использую эту функцию, что я получил от другого вопроса для копирования изображения:Как получить путь к файлу после копирования?
public static boolean copyFile(String from, String to) {
try {
File sd = Environment.getExternalStorageDirectory();
if (sd.canWrite()) {
int end = from.toString().lastIndexOf("/");
String str1 = from.toString().substring(0, end);
String str2 = from.toString().substring(end+1, from.length());
File source = new File(str1, str2);
File destination= new File(to, str2);
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();
}
}
return true;
} catch (Exception e) {
return false;
}
}
и я использую, что таким образом:
String filePath = Helper.pathgal(act, data.getData());
File mydir = new File(Environment.getExternalStorageDirectory() + "/Albummaker/Pics/");
if (!mydir.exists()) {
mydir.mkdirs();
} else {
Log.d("error", "dir. already exists");
}
String dest = mydir.getAbsolutePath();
copyFile(filePath, dest);
// now I want to use destination file path for using in a bitmap
bmp = Helper.decodeFile(dest, act);
// now I'm loading that bitmap in an imageview
Helper.showpic(act, id1, bmp);
Но это не показывает в ImageView (Если я использую оригинальный путь к файлу, он работает, хотя). функция копирования работает, и файл изображения существует в окончательном пути к файлу, но я думаю, что я должен добавить имя файла как «путь к файлу mydir» для использования в растровом изображении.
вы не указали имя файла в любом из приведенного выше кода. String dest = mydir.getAbsolutePath() + "myfile.png"; что-то вроде этого требуется –
@IllegalArgument мой вопрос именно в этом. как получить это «имя файла»? (Это не тот же файл каждый раз, и он изменяется.) –
Мой ответ в точности соответствует тому, что ваше имя файла в комментарии выше «myfile.png», чтобы вы знали, что это «myfile.png», прежде чем присоединять его –