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

Равиль Зарипов (ZuBy)

Модераторы
  • Постов

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

  • Посещение

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

    264

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

  1. Like
    Равиль Зарипов (ZuBy) отреагировална Andrey Efimov в [Статья][Android] Как получить информацию о потреблении ОЗУ?   
    Ссылка: http://delphifmandroid.blogspot.ru/2017/03/blog-post.html
    Автор: Ефимов Андрей
    Описание:
  2. Like
    Равиль Зарипов (ZuBy) отреагировална Andrey Efimov в Остановить таймер, когда приложение сворачивается   
    Вот сделал таблицу с событиями. Добавил в статью Очередь событий Delphi приложения на Android
    И получилось, что отслеживать сворачивание можно по:
    OnSaveState
    aeWillBecomeInactive
    EnteredBackground
    Разворачивание:
    WillBecomeForeground

  3. Like
    Равиль Зарипов (ZuBy) отреагировална Andrey Efimov в Остановить таймер, когда приложение сворачивается   
    Не совсем, если отслеживать все возможные варианты сворачивания приложения (включая выход из приложения), то лучше использовать:
    TApplicationEvent.EnteredBackground
    Для отслеживания разворачивания приложения достаточно:
    TApplicationEvent.WillBecomeForeground
     
    aeBecameActive и aeWillBecomeInactive отрабатывают только в определённых случаях.
     
    p.s. Надо табличку оформить, чтобы было понятно, когда и для чего могут понадобится те или иные события.
  4. Like
    Равиль Зарипов (ZuBy) отреагировална krapotkin в Остановить таймер, когда приложение сворачивается   
    https://community.embarcadero.com/blogs/entry/handling-ios-application-events-39450
  5. Like
    Равиль Зарипов (ZuBy) отреагировална Andrey Efimov в Остановить таймер, когда приложение сворачивается   
    Очередь событий Delphi приложения на Android Жизненный цикл мобильного приложения
  6. Like
    Равиль Зарипов (ZuBy) получил реакцию от Kitty в TWebBrowser   
    из TWebBrowser никак вроде
    можно через THTTPClient и метод Get(url)
  7. Like
    Равиль Зарипов (ZuBy) отреагировална krapotkin в Save for Enterprise or Ad Hoc Deployment   
    чтобы выгрузить что-то на устройство все равно нужен сертификат, насколько я понимаю
  8. Like
    Равиль Зарипов (ZuBy) получил реакцию от Kitty в Окончательная точка в вопросе расчета высоты TListViewItem (TListItemText)   
    у меня нет проблем с подсчетом высоты текста, в ModernLV есть код без костылей и без загрузки шрифта
    function getItemTextHeight(const AItem: TListItemText; const aWidth: Single = 0): Integer; // ZuBy function getItemTextButtonHeight(const AItem: TListItemTextButton; const aWidth: Single = 0): Integer; // ZuBy function getItemTextWidth(const AItem: TListItemText; const aHeight: Single = 0): Integer; // ZuBy function getItemTextButtonWidth(const AItem: TListItemTextButton; const aHeight: Single = 0): Integer; // ZuBy в нескольких проектах используется, iOS, Android, Windows
  9. Like
    Равиль Зарипов (ZuBy) получил реакцию от Menkos1 в Наложил стиль и перестала работать TComboBox   
    как-то странно вы стили подключаете... зачем его редактировать?
    Загрузите в TStyleBook стиль, выберите нужный для TComboBox.
    а то что не выбирается, возможно в стиле где-то косяк в HitTest у элементов
    HitTest = true - разрешает принимать события мыши
    HitTest = false - запрещает принимать события мыши
  10. Like
    Равиль Зарипов (ZuBy) получил реакцию от ENERGY в Тормозит анимация TabControl при использовании TFrame (на MyFrame.Parent := FrameTabPage )   
    Попробуйте прогрузить стиль фрейма до показа, вот таким кодом
     
  11. Like
    Равиль Зарипов (ZuBy) отреагировална dante333 в [Статья] Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS [Часть 2]   
    Насколько я помню,он бесплатен до определенного количества пользователей/запросов.Сам начинал с него,но потом перешел на тогда еще GCM + PHP push-сервер.И как говорится,"ни о чём не жалею" )).
  12. Like
    Равиль Зарипов (ZuBy) получил реакцию от zairkz в [Статья] Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS [Часть 2]   
    Токен - это идентификатор который отправил сервер (APNs/GCM), он используется для связи приложения и серверной части. Кинвей на своей стороне хранит ваши токены, чтобы по ним отправить пуш. Иначе другого варианта нет. Это классно, если у вам не требуется делать выборку по определенным критериям.
    Я такие сервисы не использую, т.к. часто в пушах присылаю техническую информацию, которая обычным (не всем) пользователям не должна быть показана. А для того чтобы сделать подобное, нужна своя база с токенами и другой инфой о владельце девайса.
    Отослать пуши по критерию:
    Обновление приложения на определенной платформе Техническая информация по типу учетной записи (админ, модер, пользователь и тд..) Поздравление с днем рождения, предоставление скидок Уведомление о недостаточном балансе и тд.. примеров масса Я слабо представляю такую реализацию через сервис кинвей и подобным которые предоставляются из коробки в RAD.
    Статья была написана, чтобы показать именно НАСТРОЙКУ через сервис Firebase, и никак не претендует на полное описание работы с пушами в целом.
    Код на делфи был показан, чтобы убрать зависимость от сервисов из коробки
    Код на PHP был показан, чтобы можно было реализовать функционал на своём сервере
    Пару слов было сказано о правильном сохранении в БД, а вот бизнес логика уже у каждого приложения своя.
     
  13. Like
    Равиль Зарипов (ZuBy) отреагировална Кривяков Виталий в [Статья] Как конвертировать растровую картинку в векторный TPath Firemonkey. How to convert a bitmap image (png, jpeg, bmp) into a Firemonkey vector TPath.   
    Добрый день!
    Коллеги, хочу озвучить одну из причин, из-за которой может возникать ситуация " Иногда бывает что при вставке пути в TPath, компонент его отображает некорректно"
    Дело в том, что существуют сокращения в представлении данных и не все из низ TPath понимает, вот с чем столкнулся:
    Есть команда 'c' - рисование кривой. не буду вдаваться в подробности, можно найти в интернете описание, скажу только то, что данная команда содержит 6 чисел. В идеале должно быть:
    сX1 X2 X3 X4 X5 X6
    Но очень часто (например в иконках Material Design) можно встретить:
    c-1.1 0-1.99.9-1.99 2
    И на этой строчке парсер TPath падает с ошибкой, так как пытается сконвертировать '-1.99.9' в число, что не верно. В реальности данная запись соответствует двум числам -1.99 и 0.9.
     
    Для обхода проблемы я загружаю SVG в рантайме, и сроку пропускаю через корректор:
    function CorrectSVG(const Value: String): String; var SB : TStringBuilder; I: Integer; C : Char; begin SB := TStringBuilder.Create; try I := 0; for C in Value do begin if C='.' then Inc(I) else if not CharInSet(C, ['0'..'9']) then I := 0; if I=2 then begin SB.Append(' 0.'); I := 0; end else SB.Append(C); end; Result := SB.ToString; finally FreeAndNil(SB); end; end;  
  14. Like
    Равиль Зарипов (ZuBy) получил реакцию от Kitty в [Статья] Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS [Часть 2]   
    Токен - это идентификатор который отправил сервер (APNs/GCM), он используется для связи приложения и серверной части. Кинвей на своей стороне хранит ваши токены, чтобы по ним отправить пуш. Иначе другого варианта нет. Это классно, если у вам не требуется делать выборку по определенным критериям.
    Я такие сервисы не использую, т.к. часто в пушах присылаю техническую информацию, которая обычным (не всем) пользователям не должна быть показана. А для того чтобы сделать подобное, нужна своя база с токенами и другой инфой о владельце девайса.
    Отослать пуши по критерию:
    Обновление приложения на определенной платформе Техническая информация по типу учетной записи (админ, модер, пользователь и тд..) Поздравление с днем рождения, предоставление скидок Уведомление о недостаточном балансе и тд.. примеров масса Я слабо представляю такую реализацию через сервис кинвей и подобным которые предоставляются из коробки в RAD.
    Статья была написана, чтобы показать именно НАСТРОЙКУ через сервис Firebase, и никак не претендует на полное описание работы с пушами в целом.
    Код на делфи был показан, чтобы убрать зависимость от сервисов из коробки
    Код на PHP был показан, чтобы можно было реализовать функционал на своём сервере
    Пару слов было сказано о правильном сохранении в БД, а вот бизнес логика уже у каждого приложения своя.
     
  15. Like
    Равиль Зарипов (ZuBy) получил реакцию от Anatoliy в [Статья] Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS [Часть 2]   
    Ссылка: http://blog.rzaripov.kz/2017/02/firebase-android-ios-2.html
    Автор: Зарипов Равиль @ZuBy
    Описание: Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS [Часть 2]
    В предыдущей  части , я рассказывал как сделать настройку пуш уведомления в консоли Firebase, в этой я покажу код на Delphi и серверную часть на PHP
    https://github.com/rzaripov1990/PUSHTestFCM
  16. Like
    Равиль Зарипов (ZuBy) отреагировална krapotkin в [Статья] Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS [Часть 2]   
    хитрость именно в том, что kinvey - это готовый сервер. как Google Firebase или amazon_не_помню_как_его
    по какому принципу его выбрала emro - загадка
    если вы собираетесь полностью ВСЕ данные хранить на нём - тогда все норм.
    а если вам нужен свой сервер со своими юзерами и другими вещами?
    тогда нужно где-то соединять ваш логин-пароль и ID вашего телефона(токен) чтобы при регистрации ваш сервер мог послать пуш на ваш девайс
  17. Like
    Равиль Зарипов (ZuBy) получил реакцию от Manfred в [Статья] Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS [Часть 2]   
    Принцип работы Push на разных ОС не отличается
    если коротко, не обращаем внимание на OS и термины (для ознакомления прошу сюда)
    Описание технологии GCM и APNs  хорошо расписаны на хабре, гораздо более профессионально. Я уж точно ничего нового не внесу.
  18. Like
    Равиль Зарипов (ZuBy) отреагировална krapotkin в [Статья] Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS [Часть 2]   
    ems - тоже вещь в себе. эту штуку теперь развили до RAD server и продают за деньги и его и еще и клиентские лицензии.
    за эти деньги какбе не очень нужен он. так что делать реализацию под EMS или RAD server имхо бессмысленно
  19. Like
    Равиль Зарипов (ZuBy) получил реакцию от Kitty в [Статья] Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS [Часть 2]   
    описание терминов и работы пуш уведомлении разжован в интернете чуть более чем полностью) и это не совсем относится к FMX, так что я не стал тратить на это время, увы его не так много как хотелось бы)
  20. Like
    Равиль Зарипов (ZuBy) получил реакцию от Manfred в [Статья] Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS [Часть 2]   
    @Ingalime спасибо за вопросы) 
    1) Вот есть хорошее описание работы и терминов касательно APNs и GCM, тратить на это время и писать тоже самое не хотелось
    2) Реализация серверной и клиентской части есть в статье
    3) Что для этого нужно и как настроить есть в предыдущей статье
    Laravel - это PHP фреймфорк, но выложил код на "чистом" PHP, чтобы каждый мог быстро интегрировать в свой проект, не привязываясь к фреймворкам
  21. Like
    Равиль Зарипов (ZuBy) получил реакцию от Ingalime в [Статья] Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS [Часть 2]   
    Токен это идентификатор который генерирует системный сервис для конкретного девайса по каким-то критериям. Но не вечный, есть время жизни, но это невозможно проверить.
  22. Like
    Равиль Зарипов (ZuBy) получил реакцию от Ingalime в [Статья] Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS [Часть 2]   
    Честно даже никогда и не рассматривал этот вариант и не интересовался им. Статья нацелена на реализацию через Firebase, т.к. сервис содержит необходимый функционал для android + ios и web, это очень удобно и настройка проще для ios, не нужно генерить и держать сертификаты у себя на сервере.
  23. Like
    Равиль Зарипов (ZuBy) отреагировална Andrey Efimov в [Статья][Android] AlarmManager - Автозапуск приложения в назначенное время   
    Евгений, внимательнее читайте статью, там есть раздел теории, а конкретно такие строчки:
    это половина ответа на ваш вопрос.
    Вторую половину можно найти например в этой статье [Android Service+BroadcastReceiver] Автозапуск службы после рестарта ОС. В ней говорится, какое имя будет у сервиса после создания:
     
  24. Like
    Равиль Зарипов (ZuBy) отреагировална Евгений Корепов в Нужно ли разрешение Write External Storage   
    По моему опыту это разрешение не нужно. Включая вариант с установкой приложения на SD-карту. 
    Разрешение требуется при использовании папок TPath.GetShared% или когда явно указано использование External Memory в http://docwiki.embarcadero.com/RADStudio/Seattle/en/Standard_RTL_Path_Functions_across_the_Supported_Target_Platforms
    P.S. Некоторые мои приложения опубликованные в маркете использует единственное разрешение Internet, при этом успешно пишут конфиги в GetHomePath. Проблем с установкой на SD-карту тоже не замечено. Сейчас гугль заставляет публиковать политику конфиденциальности при использовании разрешений, так что чем меньше разрешений, тем лучше. Да и пользователи с большим доверием относятся к приложению с минимальными разрешениями. Жаль что пуши требуют разрешение Идентификационные данные - пользователи постоянно обвиняют приложение в попытках украсть что то с их телефонов ;-) 
  25. Like
    Равиль Зарипов (ZuBy) отреагировална dante333 в [Статья] Как конвертировать растровую картинку в векторный TPath Firemonkey. How to convert a bitmap image (png, jpeg, bmp) into a Firemonkey vector TPath.   
    Думаю будет полезно многим.Сам делал так же недавно в одном проекте,лучше этого метода тоже ничего не придумал.Да и svg оказался довольно годным форматом,который легко поддается манипуляциям.
    Вот так у меня выглядит:

×
×
  • Создать...