kudatsky
-
Постов
10 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные kudatsky
-
-
Спасибо. Это хоть как-то решает проблему.
-
SQLite-файлы создаются на компе и разными путями (шнурок, mail, viber)
передаются на смартфон в каталог Documents. Приложение для работы с ними
разрабатывалось несколько лет назад для одной из предыдущих версий андроида.
Сейчас андроид обновился до версии 13 и приложение перестало видеть эти файлы.
Я внес небольшие изменения, список файлов теперь создается так:
FPermissionRead := JStringToString(TJManifest_permission.JavaClass.READ_EXTERNAL_STORAGE);
PermissionsService.RequestPermissions([FPermissionRead], nil,nil);
for S in TDirectory.GetFiles(DBDir,'*.*') do //далее по тексту
но это не помогает.
Видимо, проблема в ограничениях, накладываемых новыми версиями андроида.
Что можно сделать?
-
Мне нужно в Run Time переключать фонт с жирного на нежирный и наоборот.
В диалоге выбора фонта в Design Time есть множество стилей:
Light, Licht Italic, ... Bold и т.д.
В свойстве TextSettings.Font.Style для Design Time я нахожу только 4 стиля:
fsBold, fsItalic, fsUnderline, fsStrikeOut
А где остальные ?
-
Vitaldj>
Я проверил предположение о том, что причина в разности версий БД. Для этого я написал
программу, которая полностью создавала БД нужной мне структуры через SQL запросы
и заполняла её тестовыми данными. Эту программу я запустил на смартфоне.
Всё стало работать нормально. Вы были правы. Большое спасибо.
-
В 04.05.2019 в 18:09, #WAMACO сказал:
Это все происходит из-за разницы версий SQLite, поэтому обменивайтесь бэкапами, тобишь после того, когда заполнили данные на смартфоне и собираетесь переписать на РС, сначала забэкапьте, потом копируйте бэкап и на РС разверните. Также назад.
Ошибки не будет.
Как я понял из документации по Firedac, backup-файл SQLite -это просто копия исходной БД,
полученная с 'осторожностью'. Эту фичу я сделал, но никакого развёртывания не требуется.
Backup как любой SQLite-файл прекрасно читается и под андроид и под Windows. Да и
компонента SQLiteRestore в Firedac нет.
-
22 часа назад, Vitaldj сказал:
Просто sqlite база данных не относится к клинт-серверным и значит не подразумевается такое использование. Только в монопольным режиме. Тем более, если ты использует firedac, а она вроде бы как использует для коннекта библиотеку. Так вот, не факт, что при дисКоннекте, закрываются все токены БД. Вот у тебя и ошибка. БД думает, что с ней еще работают клиент, ведь по логике БД он должен быть только один.
Все запросы к БД на смартфоне выполняются так:
- создаётся соединение компонентом TFDConnection
- стартует транзакция
- выполняется запрос
- подтверждается транзакция
- разрывается соединение
т.е. после каждого запроса БД освобождается.
Как БД после этого может думать, что с ней ещё работают - непонятно.
Я для эксперимента пробовал стартовать транзакцию и выполнить запрос
не открывая БД - ничего не получается.
-
В 01.05.2019 в 11:45, Vitaldj сказал:
Это как? Поподробнее об этом...
Есть два приложения, работающие с одной и той же БД SQLite - десктопное и мобильное.
Обмен базами данных между ними происходит через USB. Сначала десктопное приложение
загружает инфу в БД, через USB БД перекачивается в смартфон, в смартфоне заполняется
и передается через USB обратно на комп.
БД на смартфоне помещаю в каталог Documents. Его адрес получаю функцией
TPath.GetSharedDocumentsPath() из ioUtils.
-
De
В 30.04.2019 в 05:42, Vitaldj сказал:Какие компоненты используешь? И каким это образом ты ее обратно на комп тащишь???
Delphi, fmx, Firedac. На комп тащу так же как и на смартфон - через USB.
Я эту проблему вроде как решил, только всё как-то странно. Нужно перегрузить смартфон.
Другое решение - сделать backup компонентом FDSQLiteBackup. Такое впечатление,
что после завершения приложения базу данных что-то ещё удерживает.
-
SQLite база данных создаётся на РС и частично заполняется.
Далее через USB - кабель переписывается на смартфон и там окончательно заполняется.
Всё работает замечательно. Заполненную БД переписываю обратно на РС и пытаюсь открыть.
Клиентская программа пишет : "database disk image is malformed".
SQLite Studio её тоже не открывает.
Где тут собака порылась ?
Delphi 11 Android зависает IDE
в Отладка
Опубликовано
Перехожу с Delphi 10.4 на Delphi 11.3.
Там все работало. На 11.3 компиляция и deploy идет нормально,
run тоже работает и приложение стартует, главное окно появляется,
разрешения запрашивает. Но дальше главное окно глухо зависает и IDE
зависает. Если приложение вырубить и запустить вручную, без IDE,
то оно стартует, не виснет, но сбоит по другим причинам.