- Tpath getdocumentspath delphi android
- Вопрос
- la_coste
- la_coste
- 4 ответа на этот вопрос
- Рекомендуемые сообщения
- Похожий контент
- Delphi XE5 Android: Сохранить и загрузить данные
- Решение
- Как сохранить файл на Android? (Технологии FireMonkey)
- 4 ответов
- Delphi XE5 Android — Проблемы с путями хранения
- 2 ответа
- Delphi разработка под Android
- Страницы
- воскресенье, 16 февраля 2014 г.
- Обновляем файл базы данных без перезапуска приложения
Tpath getdocumentspath delphi android
Ответ от la_coste,
13 января, 2014
Вопрос
la_coste
la_coste
Доброго времени суток, уважаемые форумчане!
У меня такой вопросик: можно ли в установочный пакет для android собираемый в delphi xe5 включать свои файлы.
Заранее спасибо))
Ссылка на комментарий
4 ответа на этот вопрос
Рекомендуемые сообщения
Похожий контент
160 файлов общим весом
30 мб, которые добавлены в проект через Deployment. Используются они след. образом:
Tpath.Combine(Tpath.GetDocumentsPath, ‘Sample.file’); Проблема в том, что чем больше файлов становится, тем дольше приложение запускается(1 сек заставка, дальше
5 сек черный экран), причем как на слабом железе, так и на мощном. Мб другой способ хранения файлов решит проблему? Если да, то какой?
Я конечно понимаю, что эта тема описана много раз, вот даже ссылка на тему на этом сайте.
Но все равно у меня файл базы SQLLite при разворачивании в отладке из Delphi XE8 не обновляется. Все равно используется старый файл БД.
Подскажите как это победить.
Спасает только если приложение удаляешь из телефона и потом заново устанавливаешь. Но как же тогда быть при публикации в Google Market?
Вот скрин моего Deployment Manager. Все установлено, папка прописана, признак обязательной замены стоит. что не так-то
Добрый день! Подскажите пожалуйста как открыть придеплойенную html’ку в TWebBrowser под ios?
Под андройд работает так:
WebBrowser1.Navigate(‘file:слэш слэш’+ TPath.GetDocumentsPath + PathDelim + ‘test.html’); под ios пробовал так (не работает):
WebBrowser1.Navigate(‘file:слэш слэш’+ TPath.Combine(TPath.GetDocumentsPath, ‘test.html’));
При установке приложения появляется список «Разрешить этому приложению», в данном списке куча всего казалось бы моему приложению не требуемого, в том числе: «Платные услуги».
Не могу понять как определить данный список под приложение, чтобы лишнего оно не просило при установке и не пугало пользователей.
Подумал может в deployment где-то это, или в uses надо что-то убрать, но не знаю чего, нагуглить тоже не выходит.
Список:
Ваше местоположение Сетевой обмен данными Личная информация Память Телефонные вызовы Управление оборудованием Платные услуги (Посылать прямые вызовы на номера телефонов) и ещё под скрыть:
Инструменты разработки (Проверьте доступ к защищенному хранилищу) — это может в режиме дэбага такое, если нет, то как убрать тоже не пойму.. P.S.:
Из всего перечисленного кажется нужно только:
Память, т.к. создаю txt файл и сохраняю в него данные (да и нужно ли для этого такое разрешение?) Возможно ещё, но вряд ли:
Личная информация, для определения времени на устройстве, но думаю это не то, и время и так определяется.
Источник
Delphi XE5 Android: Сохранить и загрузить данные
Delphi XE5 Android!
АПК на андроиде версии 4 запускается и работает нормально а на версиях с выше 5 не запускается и не.
Delphi XE5 Android
Здравствуйте, создала приложение на свой планшет в Delphi XE5, суть приложения заключается в том.
Delphi XE5 Android и Excel
Здравствуйте. Разрабатываю приложение для Android в Delphi xe5. Столкнулась с необходимостью.
Delphi XE5: Android рисовалка
Всем доброго времени суток. Пытаюсь потихоньку осваивать Delphi XE5 под Android Встала задача.
Опять же, я ошибся. Можешь, пожалуйста, расписать что надо писать в скобках, например (Тут пишешь путь файла к диску + ‘название папки’ + ‘имя файла’);Я написал образно, конечно. И напиши пожалуйста, как мне конкретно написать, чтобы файл с названием ‘config.ini’ создался в папке ‘LetsBet’, которая лежит на SD-карте смартфона. Я имею ввиду полностью готовый код. Буду крайне признателен) Никто не писал в интернете как это сделать именно на Android, а не на Windows.
Добавлено через 7 минут
Ах, да, изменил GetDocumentsPath на GetHomePath, ничего не изменилось(
Все прекрасно работает. А насчет куда можно еще или вообще задеплоить файлы, видел две статьи: эту и эту
И когда создаешь допустим ини файл, посмотри куда ведет через Showmessage, но все же на разных устройств этот путь может быть разный.
Решение
На скорую руку я вам написал проект, сохраняются настройки в папке с кэшем. (рекомендую все же там хранить настройки), а если нужно спрятать от глаз пользователя, то уже в internal (внутри приложения).
Вложения
Inifiles.zip (11.6 Кб, 562 просмотров) |
Всем доброго времени суток!
Уважаемые форумчане, прошу помощи.
Есть некое приложение на ХЕ7 оно создано под андроид.
В этом приложении есть memo1 собственно надо инфу из него записать в текстовой файлик, как это сделать без сэйвдиалога никак не догоню. Прошу помощи как это реализовать.
Один момент, этот файлик в дальнейшем будет открываться на этом же мобильном устройстве, но уже как говориться сторонней прогой, т.е. он должен распологаться гдето в общедоступном пространстве.
Заранее всем благодарен! Если можно ответ по подробнее, с наглядным примером, так как к делфям обращаюсь эпизодически, по мере необходимости, и бывает элементарные вещи подзабываю
Источник
Как сохранить файл на Android? (Технологии FireMonkey)
Как сохранить файл локально на устройстве Android, использование Delphi (XE5, Firemonkey)?
что-то простое, как
не работает. Это приводит к следующему сообщению об ошибке:
«Не удается создать файл» / test.формат txt.» Не каталог.»
4 ответов
согласно документу создание приложения для Android, получите путь к документам следующим образом:
вместо System.SysUtils.PathDelim , вы можете использовать
Combine выбирает между окнами \ и Linux /
System.IOUtils должно быть uses в этой строке вместо setup в предложении uses, потому что, вероятно, больше инициалов Tpath.
на моем устройстве (и, предположительно, на всех устройствах android?) GetHomePath неправильно дает мне / storage / emulated/0/. в то время как мне нужен /storage/sdcard0/. чтобы добраться до хранилища, видимого в Проводнике Windows, через USB.
таким образом, полный путь к моим файлам может быть ‘/storage / sdcard0 / Android / data / com.пристань.(мое имя приложения) / files/’
предположительно, если у вас есть подключаемая SD-карта, это может быть sdcard1 или что-то еще.
вы можете просматривать содержимое вашего устройства папка с таким кодом
на моем устройстве это дает мне:
sdcard0 USB подражал
затем измените S, Когда вы хотите исследовать подпапки
обратите внимание, что папка files очищается каждый раз при повторной компиляции и развертывании.
GetHomePath, возвращает строку с путем. — >’данные / данные / / файлы’
Источник
Delphi XE5 Android — Проблемы с путями хранения
Я начал делать приложение для Android на Delphi XE5, и тут возникли проблемы.
Я действительно не понимаю, как найти пути. После того, как я установил разрешения на запись и чтение внешнего хранилища, я попытался получить пути, чтобы я мог видеть, где я сохраняю файлы, которые я создаю, и вот что я получаю:
Насколько я понял из других тем, GetDocumentsPath должен быть путем по умолчанию для SD-карты, Загрузки должны быть sdcard / Downloads, но вместо этого он использует / Android / data / папку приложения / files / здесь создает папки, которые уже существуют на самой SD-карте.
/ emulated / 0 / на самом деле то же самое, что / sdcard / на моем телефоне, если это кого-то смущает (на всякий случай . ).
У него есть несколько ярлыков, насколько я понимаю, storage / emulated / 0 /, storage / sdcard0 /, также из корневой папки имеет прямой доступ к sdcard / (но я предполагаю, что приложения без корневого доступа имеют только доступ по умолчанию к хранилищу / папке , следовательно, существуют папки storage / sdcard0 и emulated / 0; хотя не знаю, почему дублируются ярлыки для одной и той же папки . )
[[Есть также storage / emulated / legacy /, который, кажется, тоже указывает на ту же папку, но я никогда не трогаю его, так как раньше у меня были проблемы с дубликатами файлов и странным поведением музыкальной библиотеки, прямо перед тем, как я рутировал и отформатировал его . Никогда не догадывался, что произошло на самом деле, но мне все равно. Дело в том, что эмулированная папка кажется злой и необъяснимой;)]]
Кроме того, эти проблемы с путями связаны с тем, что у телефона нет опции монтирования, а есть только MTP, или что это android 4.3, или .
// Обновление: разделенные вопросы об этом и разрешениях экрана, как предложил сэр Руфо.
ОБНОВЛЕНИЕ: похоже на жесткое кодирование ‘/sdcard/filename.extension’, поскольку строка пути выполняет задание, однако я не уверен, насколько разумно жестко указать местоположение в приложении . //
2 ответа
Старайтесь не кодировать путь жестко. Пути к внешнему хранилищу могут отличаться для разных платформ Android, и вы упустите преимущество кроссплатформенного программирования. Когда я начал программировать для Android, я написал небольшое приложение «Где», предназначенное для перечисления всех «специальных» каталогов для всех платформ. Это было очень полезно, поскольку я не знал этих каталогов даже для Windows, не говоря уже о Android. В вашем примере вам не хватает SharedDirectories. Это вернет путь к /storage/emulated/0/Music/ для GetSharedMusicPath , например, и так далее для Movies , Download и т. Д. Я думал, что для моей Galaxy Tab это было иначе, но я ‘ м не уверен. Просто удалите фамилию, и у вас будет путь к внешнему хранилищу.
Убедитесь, что у вас установлены READ_EXTERNAL_STORAGE и WRITE_EXTERNAL_STORAGE , если вы хотите читать и писать во внешнее хранилище (где-нибудь в Project | Options | Android). Я не знаю, позволяет ли Android писать в корень внешнего хранилища, вы должны попробовать это сами.
Вот функция, которая получит путь к SDCard по умолчанию из путей GetShared; Первый простой и даст вам только путь SDCard от фиксированного пути SharedMusic;
Я мог бы добавить функцию для извлечения пути SDCard из любого из предоставленных результатов путей, но я думаю, что приведенный выше пример является наиболее простым, который вы могли бы использовать, и работает для меня безупречно. Спасибо @Arnold за помощь. 🙂
Источник
Delphi разработка под Android
Страницы
воскресенье, 16 февраля 2014 г.
Обновляем файл базы данных без перезапуска приложения
Я уже писал об этом тут Несколько особенностей и вопросы по ним, в комментариях предложили несколько вариантов, которые можно использовать, чтобы переносить изменённые данные из старой базы в новую. В моём сообщении речь шла об обновлении файла базы данных без внесения изменений, нормального решения на тот момент я так и не нашёл. Оставалось только удалять файл базы и перезапускать приложение, чтобы подтянулся новый файл. Но нет таких пользователей, которым нравилось бы каждый раз перезапускать приложение, поэтому необходимо нормальное решение.
Upd (21.04.14). Проверил код на Delphi XE6 и добавил информацию о необходимых изменениях.
UPDATE (21.04.14):
Чтобы код заработал в Delphi XE6, необходимо:
в «uses» добавить модуль «Androidapi.Helpers».
Архив обновлён (Добавил комментарий для Delphi XE6)!
Для тех, кто читает через строчку:
Внимание! Этот способ предназначен для случаев когда в базу не вносятся изменения, а так же обновление приложения происходит вручную, т.е. НЕ через Маркет. Видимо это не ясно из статьи.
Источник