мне нужно использовать эту функцию,Как получить каталог и имя файла изображения, выбранного из галереи
java.io.File.File (реж файла, имя String)
общественного файла (File dir, String name)
Добавлено в уровень API 1 Создает новый файл, используя указанный каталог и имя . Параметры dir каталог, в котором находится файл . назовите имя файла. Выбрасывает NullPointerException, если имя null.
Теперь, поскольку мы можем видеть, что ему нужно указать имя файла и имя в качестве параметров. Теперь я выбираю изображение из галереи по намерениям. Как я могу получить директорию и имя для выбранного файла?
Вот фрагмент кода:
public File String_to_File(String img_url) {
try {
File rootSdDirectory = Environment.getExternalStorageDirectory();
---------------------------------------------------------------------------------------
**casted_image = new File(rootSdDirectory, "attachment.jpg");**
---------------------------------------------------------------------------------------
if (casted_image.exists()) {
casted_image.delete();
}
casted_image.createNewFile();
FileOutputStream fos = new FileOutputStream(casted_image);
URL url = new URL(img_url);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setDoOutput(true);
connection.connect();
InputStream in = connection.getInputStream();
byte [ ] buffer = new byte [1024];
int size = 0;
while ((size = in.read(buffer)) > 0) {
fos.write(buffer, 0, size);
}
fos.close();
return casted_image;
} catch (Exception e) {
System.out.print(e);
// e.printStackTrace();
}
return casted_image;
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) {
Uri selectedImage = data.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(selectedImage,
filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String picturePath = cursor.getString(columnIndex);
cursor.close();
iv.setImageURI(selectedImage);
// String picturePath contains the path of selected Image
}
}
Что должно быть сделано, чтобы передать соответствующие параметры функции между строк?
Я ссылаюсь на sharing-text-image-in-twitter-android-example. Все хорошо, за исключением того, что я хочу использовать свое собственное выбранное изображение вместо его URL-изображения. Пожалуйста помоги.
Я не беру изображение из URL, я выбираю его из галереи сейчас. Поэтому мне нужен реестр и имя выбранного файла. – Akshat
у вас есть 'String picturePath = cursor.getString (columnIndex);' это путь, вы можете создать переменную-член класса и назначить 'cursor.getString (columnIndex);' ему. и затем получить доступ к нему в 'String_to_File (String img_url)' –