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

Mike_var

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

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

  • Посещение

Активность репутации

  1. Thanks
    Mike_var отреагировална Pax Beach в Пример создания Android приложения в RAD Studio 10 Seattle для работы c сервером MySQL. Работа с компонентами UniDAC от Devart.   
    Столкнулся с проблемой взаимодействия своего приложения Android с сервером MySQL в локальной сети.
    Задача простая: скачать на планшет таблицу с данными с сервера MYSQL в локальной сети, выполнить на планшете действия с данными, выгрузить обратно на MySQL уже в другую таблицу результат действий.
    Начал разбираться, пересмотрел и перечитал множество примеров других разработчиков. Оказалось, что в RAD Studio 10 Seattle нет компонентов, способных заставить работать Android устройство напрямую с сервером MySQL.
    Конечно есть FireDAC, dbExpress.
    По факту, хоть разработчики dbExpress и заявляют, что компонент TSQLConnection работает с Android platform, но при попытке открыть соединение с MySQL сервером на Android устройстве сообщает об ошибке. На Windows компонент отрабатывает соединение нормально.
     

      Разработчики FireDAC честно заявили, что их соединение с MySQL на Android работать не будет.

     
     
    Какие есть выходы:
    1.    Создать DataSnap сервер, который будет установлен на сервере и взаимодействовать с Android клиентом и сервером MySQL. DataSnap будет являться прослойкой между Android и MySQL, через него можно осуществлять обмен данными, обернутыми в JSON.
    Для меня этот вариант не подходит, потому что по различным причинам устанавливать на сервер (или даже рабочую станцию) дополнительный сервер приложений не представляется возможным.
    2.    Использовать дополнительные компоненты, позволяющие работать с MySQL из-под Android и iOS.
     
    Поиск нужных компонентов для RAD Studio показал, что все они платные. И уж если бесплатных не найти, покупать нужно хороший продукт, которые поддерживает как минимум MySQL, SQLite, SQLServer.

     
     
    Не буду начинать холивар, скажу только, что для меня наиболее подходящим оказался компонент UniDAC от Харьковской компании Devart. Решающими факторами стали: удобнная политика лицензирования, приемлемая для задач цена, быстрая скорость ответа технической поддержки, конечно, поддержка всех распространенных серверов баз данных и нужных мне платформ, работа с большими объемами данных (более 100 тыс. записей), возможность 2 месяца тестировать компоненты, получить существенную скидку при покупке, рекомендации разработчиков с форума www.fire-monkey.ru .
     

     
     
    На сайте www.devart.com выбрал свою версию RAD Studio и скачал инсталяторы компонентов UniDAC и MyDAC. Установил и запустил RAD Studio. В главном меню RAD Studio появились соответствующие пункты меню, а в палитру компонентов добавились три закладки.
     

     
     
    Вы самостоятельно может скачать и попробовать компоненты можно по этой ссылке https://www.devart.com/unidac/
     
    Реализация кода:
                    Итак, я собрал тестовый стенд. На котором разместил 3 соединения, 3 набора данных, три кнопки для соединения и разъединения с сервером MySQL, и две метки, в которые при успешном соединении записываю случайную запись «Название компании» из таблицы «Покупатели», в одну Ansi формат, в другую UTF8. В качестве демонстрационной базы данных использую Northwind, поставляемую с RAD Studio.
                    Как видно на рисунке, тестировалась работа компонентов dbExpress, MyDAC, UniDAC.
     

     
     
    Двойной щелчок на компоненте соединения, открываются свойства соединения, прописываем для компонентов необходимые параметры и запускаем.

     
     
                    Я прилагаю пример приложения, который вы самостоятельно сможете запустить на своей RAD Studio.
                    В результате, как и ожидалось, компоненты dbExpress не смогли соединиться с базой данных и вывалился с ошибкой “TDBXError: Unable to find procedure DBXLoader_GetDriver”. Которую было не просто отловить из-за отсутствия в компоненте обработчика Connection Timeout.

     
     
                    Компоненты MyDAC и UniDAC мгновенно соединялись с MySQL и считывали записи.
    Моя задача решена, переписываю решение в рабочий проект. Надеюсь и вам будет полезен этот пример.
     

    MyDACvsDbExpressDemo.zip
  2. Haha
    Mike_var отреагировална #WAMACO в Контролировать приход SMS   
    нет конечно! еще не хватало, чтобы вирусню разную писали.... иж что захотели... скрытые символы, выполнение функций в зависимости от поступления команд....
    запретить! 
  3. Haha
    Mike_var отреагировална krapotkin в Контролировать приход SMS   
    значит, договаривайтесь с гугл, чтобы изменили политику взад...
     
  4. Sad
    Mike_var отреагировална krapotkin в Контролировать приход SMS   
    Насколько я помню, эта функциональность теперь считается опасной и у гугла спец апи для  этого
    https://medium.com/@sampadasalimath14/sms-retriever-api-for-automatic-sms-verification-e029cc501b1f
    реализаций на делфи не видел
×
×
  • Создать...