• 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.

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


Ссылка на сообщение
Поделиться на другие сайты
  • 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

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

Изменено пользователем Камышев Александр

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу