• 0
Камышев Александр

OpenDialog для мобильных платформ

Вопрос

android, Seattle

Надо пользователю дать возможность выбирать файлы, к примеру из downloads. OpenDialog на моб. пл. не работает.

Может есть у кого наработки? спс.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

9 ответов на этот вопрос

  • 0

для картинок есть родной Action, а вот для файлов нужно через интенты попробовать.

например есть родной файловый менеджер/totalcmd они могут отдать путь к файлу.

Но как это делается не интересовался

а если делать еще и для IOS, то лучше самому навигатор по файлам сделать

Изменено пользователем ZuBy

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Та в любом случае легче самому сделать. И кажется @Andrey Efimov даже писал в блоге у себя как такое реализовать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

У меня, кажется с 5-го Android, при выборе файлов в приложениях появляется такой диалог.

Screenshot_20160915-153320.png

Скрин при выборе прикрепляемого документа в Skype.

Как его вызывать, тоже интересно. В Windows TOpenDiaolg. А что в iOS?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
Только что, Pax Beach сказал:

У меня, кажется с 5-го Android, при выборе файлов в приложениях появляется такой диалог.

Screenshot_20160915-153320.png

Скрин при выборе прикрепляемого документа в Skype.

Как его вызывать, тоже интересно. В Windows TOpenDiaolg. А что в iOS?

вот об этом я и говорил, а в IOS вообще такое есть?

она же не принимает ничего, кроме картинок. остальные файлы доступны только конкретному приложению. или я не прав?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Не на всех устройствах есть родной файловый менеджер. Поэтому интенты не считаю идеальным вариантом. Идеальным будет вызов своего диалога для выбора файлов или попробуйте подключить уже готовые java-либы с диалогом для выбора файлов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Вот в iPhone есть возможность вставить фото или видео:

image1.PNG

 

Можно вставить файлы из хранилища, коим выступает iCloud Drive:

image2.PNG

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

На ios штатного диалога нету, кроме выбора фотки и видео. Это противоречит концепции apple. Там наоборот не хотят юзеру навязывать папочную структуру. НО, не смотря на это, функции по чтении директорий системы доступны. И вы в принципе, как минимум, можете её прочитать и самостоятельно ее визуализировать в UI.

Равиль Зарипов (ZuBy) понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Нашел такие полезные примеры по теме на английском языке:

Будем изучать )

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
String fn;
String path = System::Ioutils::TPath::GetSharedDownloadsPath();
#ifdef __ANDROID__
	TSearchRec sr;
	if ( !FindFirst( path + "/*", faAnyFile, sr) )
		{
			do
				{
					if ( sr.Name=="." || sr.Name==".." ) {}
					else if ( (sr.Attr & faDirectory) == faDirectory ) {} // dir
					else {} // file
					// отрисовать в список sr.Name
					sr.Name;
				} 
			while ( !FindNext(sr) );
			FindClose(sr);
			// по клику в списке получить fn = path + "/" + name;
		}
#else
	OpenDialog->InitialDir = System::Ioutils::TPath::GetSharedDocumentsPath();
	if ( !OpenDialog->Execute() ) return;
	fn = OpenDialog->FileName;
#endif

вот так сделал, кому понадобится, на паскале тоже работает, только синтаксис другой

Изменено пользователем Камышев Александр
Равиль Зарипов (ZuBy), Kitty и Rusland понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу