Tpath getdocumentspath delphi android

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, или .

// Обновление: разделенные вопросы об этом и разрешениях экрана, как предложил сэр Руфо.

Читайте также:  Saints row the third для андроид

ОБНОВЛЕНИЕ: похоже на жесткое кодирование ‘/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)!

Для тех, кто читает через строчку:
Внимание! Этот способ предназначен для случаев когда в базу не вносятся изменения, а так же обновление приложения происходит вручную, т.е. НЕ через Маркет. Видимо это не ясно из статьи.

Источник

Оцените статью