-
Постов
163 -
Зарегистрирован
-
Посещение
-
Победитель дней
19
Весь контент mazayhin
-
Лезет туда, ну и хай с ним. Работе это не мешает никак
-
Как правильно запускать программу из Delphi на Android?
mazayhin ответил x11 вопрос в Прочие вопросы
Ну дак это и подтверждать не надо, все и так это делают регулярно -
Для этого надо использовать сторонний лаунчер, реализующий т.н. kioskmode. Кнопку back можно переопределить, а вот остальные система не даст. Взможно, можно с помощью AccesibilityManager, точно не скажу
-
Как правильно запускать программу из Delphi на Android?
mazayhin ответил x11 вопрос в Прочие вопросы
Ну правильно, если студия хочет при запуске открыть на чтение, то не запустится. Если не пересобирать (build) то все запустится. Библиотеки самого приложения и сервисов, если есть, перезапишутся точно. Иначе тогда не получалось бы делать обновление. На счет подключенных, сейчас не скажу, у нас в проектах используются сторонние so, надо будет посмотреть. Если в настройках сделать сброс, то развернутые из ассетов фалы удалятся, и при следующем запуске приложения, развернутся вновь. Так же потрет все, что приложение разместило по пути TPath.GetDocumentsPath. Если сделать сброс, то удалятся как раз те 2,07 мб, которые записал мне убер -
Посмотрите здесь описпние и возможные прототипы функции. http://docwiki.embarcadero.com/Libraries/Berlin/en/System.Net.HttpClient.THTTPClient.BeginPost
-
Как правильно запускать программу из Delphi на Android?
mazayhin ответил x11 вопрос в Прочие вопросы
На устройство попадает все, что указано в deployment. Но, при развертывании новой версии приложения, без разницы, через adb или маркет, эти файли не перезаписываются, только разворачиваются новые. Что вполне логично и являеися нормальным поведением системы. Винда даст запустить сколько угодно копий приложения, если это руками не ограничить. Из студии тоже получится, если не пересобирать заново. Если нужно обновить имеющиеся ресурсы, смотрите в сторону System. StartupCopy, он за это отвечает, ну или используйте AssetManager. Так же приложение можно не удалять полностью, а в настройках "стереть данные" перед запуском Но для работы с БД, лучше сразу продумать логику ее обновления в коде. Если данные в базе не важны для пользователя, то возможно, лучшим вариантом будет создавать БД программно. Если данные нужны, проверять версию БД и в коде ее обновлять. Откуда брать обновление-вам решать, или с сервера, или из ресурсов, или из assets выдергивать. -
Если сервис называется MainSvc, то вызов д.б. TAndroidHelper.StringToJString('com.embarcadero.services.MainSvc') Ну и в настройках проекта соответственно
-
Только лучше использовать THTTPClient
-
Ну и правильно, удалить то удалили, а зависимости не разрешили. Из исходника в свой юнит или куда еще, надо перенести именно те методы, дергающие api, которые нужны для решения задачи. Завтра конкретнее посмотрю
-
По HTTP почитайте http://docwiki.embarcadero.com/RADStudio/Berlin/en/Using_an_HTTP_Client Так же вроде есть примеры в поставке студии По Firebase так же есть документация от Google, вам надо смотреть все что имеет отношение к Rest а не Android (https://firebase.google.com/docs/reference/rest/database/) Ну и собственно https://firebase.google.com/
- 5 ответов
-
- онлайн приложение
- работа с бд
- (и ещё 1 )
-
Попробуйте сделать Adapter.ResetView, может поможет
-
Да, и личное мнение, тот же SQLiteExpert удобнее, если брать из свободных
-
Официальная цитата Embarcadero: Смотрите http://docwiki.embarcadero.com/RADStudio/XE5/en/Using_SQLite_with_FireDAC Создавайте БД без шифрования, а затем, в приложении ее шифруйте штатными инструментами FDSQLiteSecutiry http://docwiki.embarcadero.com/Libraries/Tokyo/en/FireDAC.Phys.SQLite.TFDSQLiteSecurity Перед выгрузкой, если необходимо для тестирования и проверки данных, снимайте шифрование и выгружайте. Тогда сможете открыть любым внешним средством. Да, и это не баг-фича студии, это официальное поведение
-
Мы писали на java библиотеку, реализующую работу с сенсором и кейсторам, подключали с помощью паскалевской обертки. Ели будет интерес, то как дойдут руки, до ума доведем и выложим.
-
Дак мы про ddos тут вроде и не говорили. Эта атака подразумевает отказ в обслуживании по каким то причинам. А не получение доступа к данным. Да, SSH много где открыт, и у нашей компании в том числе, да, и на стандартном порту. Просто доступ по ключам, да fail2ban работает. Это из другого русла, вообще. Может все же я, да и мои коллеги, чего то не понимаем, а может это просто уже почти суббота, да или последствия морозов (думаю, OnePeople меня поймет), но все же. Да и детей за границей еще не запретили называть Ваня Брось Таблицу
-
Это да, похвально, что никто не ломился. Дак смысл в том и есть, что делая 2 звено, сервер приложений, тобишь, мы сами решаем, куда давать доступ, зачем и к кому. Одновременно стараясь свести к минимуму риски порч наших систем, будь то ос, бд или логика системы. Помимо этого, 2 звено позволяет исправить ошибки, допущенные при проектировании, либо внести изменения в логику работы системы. Либо, если интерфейс строим динамически, обновлять на лету клиентов. А так да, с первого взгляда, конечно, легче сразу в базу лезть, "все сайты в интернете так работают", а на деле то нет.. А про http и http+api так и не понял. Обычно, http просто является транспортом для общения клиента и СП, ну и избавляет от создания доп. логики. Не охото заморачиваться с транспортом, то http/s, websoket, хотите-да хоть на голых сокетах, с msdn или man в охапку!
-
В чем именно? Ну... Так у нас тоже локалка, между 4 регионами РФ. Не физическая конечно, а виртуальная... Ну про потерю можно много рассуждать. Для кого то и "пидемия" Пети была смехом, котиков навалом, да и контактик надежный. Не скажу про все другие SQLи, но для MS и Oracle достаточно пары часов посветиться в мир, что бы начали пароль подбирать. Ну а дальше... а что дальше: задания агента + xp_cmdshell, или на худой конец волшебство sp_procoptions твооит свое. Ну а пароль к субд хранить на клиенте, даже локальном, тоже ДА. Бэст практис особенно, если клиент это "SELECT * FROM Tablitsa_1 INNER JOIN Tablitsa_20 ON Tablitsa_1.id = Tablitsa_20. id WHERE Tablitsa_1. id > 100500 AND knopka_najmi LIKE '%меня%' " Да. И главное не забыть, сам запрос собирать в [..]Query1_zaprosVajniy. SQL.Text
-
Однозначно трехзвенка, особенно с мобильными клиентами. Прямое подключение = стабильная связь, что не получится на мобильных сетях, и плюсом безопасность (попробуйте порт БД выставить во вне, и загляните через час-другой в логи доступа), а получив привелигированный доступ к субд, считай, систему потеряли. У нас в холдинге КИС самописаная, 3-звенка, так же. Клиенты- web, мобильные на FMX и десктоп. СУБД - MS SQL, основная логика на хранимых процедурах. В промежутке как раз http сервер, писали на Delphi. Используем mORMot framework. Нагрузки держит отлично, ресурсы и память не ест практически. Скорость работы тоже на высоте - за http отвечает драйвер режива ядра http. sys Для других проектов так же используем webbroker isapi
-
Интересный Вы человек! Таблицы бывают разные да и инднксы, впрочем, тоже разные бывают. Напишите что конкретнее надо, а лучше для чего (т.е. что будет в таблицах), тогда скину скрипт, а так только могу написать CREATE INDEX index_name ON table_name (column_name) ; Ну и посоветовать http://www.sqlite.org/lang.html В общем, хотите базу, пишите
-
Здесь или версия устанавливаемого меньше версии установленного, либо подписано разными сертификатами (переустановка студии, запуск с другого компьютера, Debug/Release)
-
Ну если и вправду лень искать или делать самому то, что элементарно, воспользуйтесь готовым IXMLDocument и конвертируйте хоть html -> text, хоть наоборот
-
К тому же он нативный для каждой платформы
-
Вы уверены что загружаете файл по правильному пути? Он точно там существует? При отсутствии файла, будет выдаваться значение по-умолчанию. В какой он кодировке? Если кодировка не UTF-8, попробуйте указать в конструкторе верную (ту, в которой на самом деле файл). Проверьте банально (на С++ перепишите): if TFile.Exists(TPath.Combine(TPath.GetDocumentsPath,'inifile.ini')) then showmessage('file found') else showmessage('file not found'); Были ли значения в файле, когда у вас первый раз получилось его задеплоить? При обновлении приложения, если файл есть на устройстве, он не обновляется сам, надо или очистить в настройках, или сделать это все руками. Проверьте что вообще в нем записано, да тем же TFile.ReadAllText('путь к файлу', 'кодировка'). Ну и если его "там" не будет, то как раз словите исключение... P.S.: специально сейчас проверил, с русскими ключами проблемы нет, все читается. С кодировкой тоже, читает и ANSI и UTF-8 и Win-1251, в конструкторе даже не указывал кодировку.
- 25 ответов
-
- android
- rad studio
-
(и ещё 2 )
C тегом: