Якщо необхідно реалізувати вибір файлів у вашій Android програмі, то додати до своєї програми так званий FileChooser або ж його ще називають FilePicker можна декількома способами. Можна використати стандартні засоби API Android, а можна скористатися сторонніми бібліотеками, яких зараз є доволі багато.
Передусім можна використати стандартний Intent.ACTION_GET_CONTENT. Для цього достатньо додати в обробник події натиснення кнопки наступні рядки:
На моєму мобільному це виглядає так:
Інший варіант реалізувати вибір файлів є підключення сторонньої бібліотеки до Андроїда. Я опробував дві бібліотеки.
Material FilePicker ('com.nbsp:library:1.8') Детальніше тут.
Як її застосовувати також наведено на цьому відео:
Дана бібліотека дозволяє створити простий FileChooser в Android. Проте особисто мені сподобалась інша бібліотека, яка має більше можливостей щодо налаштувань, більше функцій та кращий зовнішній вигляд.
Це Android-FileBrowser-FilePicker ('com.adityak:browsemyfiles:1.9'). Детальніше тут.
Якщо необхідний FileChooser/FilePicker, то додаємо в gradle:
Початковий код розміщено тут: https://github.com/volodimirg/TestFileChooser. Дивіться код MainActivity. У Manifest було додано лише дозвіл доступу до зовнішнього сховища даних.
Якщо у вас є зауваження, питання, відгуки, то буду вдячний, якщо ви залишите їх у коментарях під публікацією. Підписуйтесь на фейсбук сторінку.
Дивіться також:
Передусім можна використати стандартний Intent.ACTION_GET_CONTENT. Для цього достатньо додати в обробник події натиснення кнопки наступні рядки:
Intent myFileIntent=new Intent(Intent.ACTION_GET_CONTENT); myFileIntent.setType("*/*"); startActivityForResult(myFileIntent,10);Також необхідно замістити (@Override) метод OnActivityResult і додати в ньому:
if (requestCode == 10 && resultCode == RESULT_OK) { String path=data.getData().getPath(); textView.setText(path); }В результаті після натиснення кнопки з’явиться стандартна активність, яка дозволяє вибрати звідки вибирати файли і навіть, які засоби встановлені у системі використати. Наявні елементи можуть відрізнятися в залежності від конфігурації системи Android.
На моєму мобільному це виглядає так:
Інший варіант реалізувати вибір файлів є підключення сторонньої бібліотеки до Андроїда. Я опробував дві бібліотеки.
Material FilePicker ('com.nbsp:library:1.8') Детальніше тут.
Як її застосовувати також наведено на цьому відео:
Дана бібліотека дозволяє створити простий FileChooser в Android. Проте особисто мені сподобалась інша бібліотека, яка має більше можливостей щодо налаштувань, більше функцій та кращий зовнішній вигляд.
Це Android-FileBrowser-FilePicker ('com.adityak:browsemyfiles:1.9'). Детальніше тут.
Якщо необхідний FileChooser/FilePicker, то додаємо в gradle:
implementation 'com.adityak:browsemyfiles:1.9'В обробник події кнопки для реалізації множинного вибору:
Intent i2 = new Intent(getApplicationContext(), FileChooser.class); i2.putExtra(Constants.SELECTION_MODE, Constants.SELECTION_MODES.MULTIPLE_SELECTION.ordinal()); startActivityForResult(i2, PICK_FILE_REQUEST);А у заміщеному (@Override) методі OnActivityResult додаємо:
if (requestCode == PICK_FILE_REQUEST && data!=null) { if (resultCode == RESULT_OK) { ArrayListРезультат тестування усіх трьох способі наведено на наступному відео:selectedFiles = data.getParcelableArrayListExtra(Constants.SELECTED_ITEMS); } }
Початковий код розміщено тут: https://github.com/volodimirg/TestFileChooser. Дивіться код MainActivity. У Manifest було додано лише дозвіл доступу до зовнішнього сховища даних.
Якщо у вас є зауваження, питання, відгуки, то буду вдячний, якщо ви залишите їх у коментарях під публікацією. Підписуйтесь на фейсбук сторінку.
Дивіться також:
Немає коментарів:
Дописати коментар