Перейти к содержанию
Fire Monkey от А до Я

Kitty

Пользователи
  • Постов

    792
  • Зарегистрирован

  • Посещение

  • Победитель дней

    16

Весь контент Kitty

  1. В AndroidManifest.template.xml написано; <!-- This is the platform API where NativeActivity was introduced. --> <uses-sdk android:minSdkVersion="%minSdkVersion%" android:targetSdkVersion="%targetSdkVersion%" /> А где устанавливается %minSdkVersion% ?
  2. Скажите, пожалуйста, а где выставляется ограничение на версию андроида? Например если приложение использует маячок ibecon, то надо указать, что версия андроида должна быть не ниже 4.3.2 Спасибо.
  3. Kitty

    Eddystone

    Ну да та и есть. У меня ibks настроен одновременно на url htpps для eddistoyn и на взаимодействие с моб. приложением как ibecon.
  4. Kitty

    Eddystone

    Eddystone это только https ссылка и не надо установленного моб. приложения. Ну а если есть моб. приложение, то маячок взаимодействуя с ним может выводить любую ссылку, но это уже не eddystone а классический ibecon. P.S. В после очередного обновления, функцию Интернет вокруг нас в хрома можно отключить. Теперь ссылку в шторке показывает сервис гугла.
  5. Kitty

    Eddystone

    Для работы Eddystone помимо блютуз надо включить еще и местоположение. Для принудительного вывода сообщения в шторке, надо выгрузить хром, потом потушить экран телефона и затем снова включить, затем потянуть шторку. Эта процедура выполняет перепоиск маяка с ссылкой HTTPS. Для теста использую ссылку на яндекс.
  6. Открываю стандартный пример студии: C:\Users\Public\Documents\Embarcadero\Studio\18.0\Samples\CPP\Mobile Snippets\ShareSheet При попытке отправить фото через Gmail получаю у вас нет прав на прикрепление этого файла. Если не работает стандартный пример, то как это победить? P.S. Из стандартной галереи все работает...
  7. Использую эту статью: http://docwiki.embarcadero.com/RADStudio/Seattle/en/Taking_and_Sharing_Pictures_and_Text_Using_Action_Lists ShowShareSheetAction1->Bitmap->Assign(Image1->Bitmap); Вызывает окно со списком учетных записей. Выбираю к примеру Google получаю сообщение, что у меня нет прав прикреплять изображение и приходиться вручную к письму прикреплять. То же самое с яндекс почтой - выбираю яндекс почту открывается пустое письмо и изображение из Image1 не прикреплено к письму, надо опять его выбирать вручную. Почему картинка автоматом не прикрепляется к сообщению? Спасибо.
  8. Kitty

    Failed to load libssl.so

    Можно чуть подробнее. Что из Deploy удалить на картинке или где удалить папку x86?
  9. Kitty

    Failed to load libssl.so

    Странно, что весь функционал приложения на планшете Samsung GT-P5200 работает. Там и запись в SQLLite базу присутствует и работает, открытие новых окон и т.п. - все работает. Не работает только отправка письма...
  10. Kitty

    Failed to load libssl.so

    Приложение имеет возможность отправлять письма. Протокол OpenSSL Indy. Для этого используются библиотечные файлы libcrypto.so и libssl.so Файлы добавлены в деплоймент и указан путь, где они лежат. #include <System.StartupCopy.hpp> #include <IdSSLOpenSSLHeaders.hpp> __fastcall TForm1::TForm1(TComponent* Owner): TForm(Owner) { IdOpenSSLSetLibPath(System::Ioutils::TPath::GetDocumentsPath()); } //нажатие на кнопку try { //код*********************** IdSMTP1->Connect(); try { IdSMTP1->Send(IdMessage1); } __finally { IdSMTP1->Disconnect(); } ShowMessage(L"Письмо отправлено."); } catch (const EIdOSSLCouldNotLoadSSLLibrary &) { //для планшета Samsung GT-P5200 String ErMessage = WhichFailedToLoad(); String path = System::Ioutils::TPath::Combine(System::Ioutils::TPath::GetSharedDownloadsPath(), L"error.ini"); if(FileExists(path)) { std::unique_ptr<TIniFile> FileINI(new TIniFile(path)); FileINI->WriteString(L"ERROR",L"error",ErMessage); ShowMessage(L"Ошибка записана в файл error.ini"); } else { ShowMessage(L"Не найден файл error.ini"); } } catch (const Exception &E) { String MES = L"Ошибка отправки. Проверти интернет. " + E.Message; ShowMessage(MES); } APK инсталлирован на телефоны и пару планшетов. Отправка писем исправно работает. Но есть один планшет Samsung GT-P5200, который не может загрузить библиотечный файл, и получаю на нем ошибку: [ERROR] error="Failed to load /data/data/com.embarcadero.Mikros/files/libssl.so." Чтобы убедиться, что дело не в деплойменте делаю новые шаги: 1. Убираю файлі libcrypto.so and libssl.so из деплоймент менеджера. 2. Вручную копирую эти два файла libcrypto.so и libssl.so на два планшета в их папки Download. 3. Изменяю код, чтобы была указана папка Download: IdOpenSSLSetLibPath(System::Ioutils::TPath::GetSharedDownloadsPath()); 4. Инсталлирую полученный APK на планшеты PIPO M7 pro андроид 4.4.2 и Samsung GT-P5200 андроид 4.4.2. 5. Посылаю Indy email из приложения. На PIPO M7 pro все работает как надо. На Samsung GT-P5200 снова ошибка загрузки: [ERROR] error="Failed to load /storage/emulated/0/Download/libssl.so." Таким образом планшет Samsung GT-P5200 андроид 4.4.2 никак не может загрузить libssl.so Что можете посоветовать? Спасибо. P.S. Ответ разработчика Indy не дает подсказки, а что же сделать чтобы заработало: My guess, and this is just a guess, is that the .so file itself is probably not compatible with that tablet and/or OS version. Or maybe it is linked to a dependent .so file that it cannot find.
  11. Суть проблемы описана в теме и кошки тут не причем. Читаем...
  12. Нашлось и то, о чем Арефев говорил: http://docwiki.embarcadero.com/RADStudio/Berlin/en/Path_Variables_(FireDAC) Только это не поможет. Помогает только перенос кода в конструктор формы...
  13. ZuBy решил все мои вопросы с планшетами. А справочная система эмбаркадеро г...но. Полное.
  14. Создать FireDAC Аревьев написал: Я не знаю, почему пишут так: void __fastcall TForm1::FDConnection1BeforeConnect(TObject *Sender) { #if defined(_PLAT_IOS) || defined(_PLAT_ANDROID) FDConnection1->Params->Values["Database"] = System::Ioutils::TPath::Combine(System::Ioutils::TPath::GetDocumentsPath(), "mikros.s3db"); #endif } когда проще писать эдак: void __fastcall TForm1::FDConnection1BeforeConnect(TObject *Sender) { #if defined(_PLAT_IOS) || defined(_PLAT_ANDROID) FDConnection1->Params->Values["Database"] = "$(DOC)/mikros.s3db"; #endif } Даже не хочу проверять его теории, о которых не слова не сказано в документации!!!
  15. Итак все работает теперь и на планшете. Какой вывод можно сделать с профессором Преображенским из Собачьего сердца? 1. Не читаете газет и документацию эмбаркадеро. 2. Используйте вместо TForm1::FDConnection1BeforeConnect конструктор TForm1::TForm1 3. Спасибо ZuBy за наводку. Самой воображалки не хватило.
  16. После дублирования кода в конструктор формы: __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { #if defined(TARGET_OS_IPHONE) || defined(TARGET_IPHONE_SIMULATOR) || defined(__ANDROID__) FDConnection1->Params->Values["Database"] = System::Ioutils::TPath::Combine(System::Ioutils::TPath::GetDocumentsPath(), "mikros.s3db"); //*** Вижу правильный путь.Спасибо за подсказку! Экспериментирую дальше.
  17. void __fastcall TForm1::Beacon1BeaconProximity(TObject * const Sender, IBeacon * const ABeacon, TBeaconProximity Proximity) { //тестовій фрагмент кода для планшета String path = FDConnection1->Params->Values["Database"]; ShowMessage(path); return; //ниже идет код записи в базу даннных и ошибка Вот этот фрагмент кода показал, что база на планшете тут: C:\Users\Lena\Documents\Embarcadero\Studio\Projects\mikros\mikros.s3db (бред) Это, то что написано в соединении конектор едитора. Следовательно, если я правильно понимаю, на планшетах не отрабатывает этот код: void __fastcall TForm1::FDConnection1BeforeConnect(TObject *Sender) { #if defined(_PLAT_IOS) || defined(_PLAT_ANDROID) FDConnection1->Params->Values["Database"] = System::Ioutils::TPath::Combine(System::Ioutils::TPath::GetDocumentsPath (), "mikros.s3db"); #endif } А на телефонах все гуд...
  18. Я вижу файл mikros.s3db на планшете по пути data/data/com.embadcadero.mikros/files
  19. Попробовла разные планшеты. Везде получаю: [FireDAC][Phys][SQLite]ERROR: unable to open database file При установке на телефоны все работает как часы. Кому нибудь удалось на планшете достучаться до FireDAC SQLite базе данных?
  20. Раз упомянули про С++, то расстраивает эта дорожная карта: http://community.embarcadero.com/article/news/16418-product-roadmap-august-2016 Опять идет лесом С++ Builder в плане создания сервисов для Андроид.
  21. Курс только о мобильной разработке (работа с манифестом, деплоймент, интенты, использование потоков в андроид, рекомендации по интерфейсу...).
  22. Захожу через прокси сервис коих много online. Там надо запольнить поле почтового индекса. Так и не удалось заполнить для Украины. Пишет не верный почтовый индекс.
  23. Для мобильных платформ эмбаркадеро рекомендует на сегодняшний день FireDAC в связке с DataSnap.
  24. Старая неизлечимая до сих пор проблема. В одном из проектов мне помог такой код: void __fastcall TMainForm::FormResize(TObject *Sender) { Application->ProcessMessages(); Sleep(5); }
×
×
  • Создать...