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

Tumaso

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

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

  • Посещение

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

    41

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

  1. @MrAnderson, у меня в проекте используется custom activity вместо стандартного (т.е. в AndroidManifest.template.xml вместо com.embarcadero.firemonkey.FMXNativeActivity указано com.embarcadero.firemonkey.CustomActivity и используется дополнительный jar в качестве реализации).
  2. на видео выглядит достаточно шустрым приложением, плюс работает видео. Интересно.
  3. У winsoft есть библиотеки работы с com-портами под андроид: https://www.winsoft.sk/acomport.htm
  4. Мне вот интересно, в 10.3 будет горизонтальный TListView из коробки?
  5. У Эмбы есть описание подобной проблемы: http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Migrating_Delphi_Code_to_Mobile_from_Desktop, раздел Use a Function Call in a try-except Block to Prevent Uncaught Hardware Exceptions условно говоря, код, который может вызвать аппаратное исключение, нужно вызывать из другой процедуры, и исключение ловить уже там. Это справедливо не только для iOS, но для андроида тоже. пример: procedure InternalG1; begin try // что то, приводящее к исключению except // здесь обработчик по факту игнорируется end; end; procedure G1; begin try InternalG1; except // здесь обработчик корректно обработает исключение end; end; А вообще у Grijjy team есть хорошая библиотека обработки необработанных исключений для андроида и иоса.
  6. Посмотри примеры мобильных приложений, идущих в комплекте со студией
  7. @Alex7wrt, устанавливают в том числе и новые пользователи на старых версиях андроида, и у них работает. minSdkVersion для этого. Что касается targetSDK, то этим значением приложение уведомляет операционку, что возможно будет использовать api вплоть до данной версии. targetSDK 27 пока не использовал, только 26, и все что надо работает. В самом коде делаю анализ текущей версии SDK, и в зависимости от нее возможно делаю дополнительные действия. Вот например, работа с правами: {$IFDEF ANDROID} // для Android 6+ требуется дополнительная работа с правами if TJBuild_VERSION.JavaClass.SDK_INT >= 23 then begin if (TAndroidHelper.context.checkSelfPermission( StringToJString(PERMISSION_FILE_READ) ) = TJPackageManager.JavaClass.PERMISSION_DENIED) or (TAndroidHelper.context.checkSelfPermission( StringToJString(PERMISSION_FILE_WRITE) ) = TJPackageManager.JavaClass.PERMISSION_DENIED) then begin // необходимо запросить разрешение на использование галереи LIsWaitPermissions := True; TAndroidHelper.Activity.requestPermissions( CreateJavaStringArray([PERMISSION_FILE_READ, PERMISSION_FILE_WRITE]), BUTTON_FILE ); end; end; {$ENDIF}
  8. @Alex7wrt, конечно смогут. Минимально допустимая версия указывается в minSdkVersion. У меня например во всех приложениях установлено <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="26" />
  9. У делфи большой плюс - кроссплатформенность. У меня реально 90% единого кода для виндов, андроида и иоса. Специфичного для каждой платформы не так и много, по большому счету. Писать отдельно в андроид студии, отдельно в xcode, отдельно в делфи с VCL реально не очень хочется Заказчикам то пофиг, они хотят как минимум мобильные приложения сразу и для андроида и для иоса.
  10. Я к тому, что все больше заказчиков хотят в своих приложениях иметь карты со своими разнообразными элементами поверх карты. И реально уже непонятно, получим ли мы такой функционал в делфи, или нет. Одно дело подождать до конца года и получить наконец работающий z-order, или плюнуть и реально перейти на андроид студию.
  11. Это делфи 10.3, сейчас в стадии беты
  12. А кстати о карнавале. Там теперь можно поверх TMapView размещать делфовские компоненты?
  13. Ммм, может вы запустите свое приложение в режиме отладки и найдете место, инициирующее исключение?
  14. Не переживайте насчет затрат для разработки под iOS - яблочников можно отлично доить, так что всё окупится)
  15. Уважаемый, вы видимо забыли свой изначальный вопрос? Ответ вам дан. Дальше все в ваших руках))
  16. А что мешает использовать единый обработчик OnTap / OnClick для всех компонентов, которые не принимают фокус на форме?
  17. Я в токио использую TEdit.ResetFocus - фокус с edit убирается, событие OnExit срабатывает
  18. Проведение тестирования нужно заказывать дополнительно, по умолчанию его нет
  19. Align не решает всех проблем с необходимым расположением контролов. В простых случаях - да, но только чуть сложнее логика размещения, и тут только программно)
  20. При запуске приложения определяете текущее разрешение, программно вычисляете размеры и положения компонент и программно применяете их. При OnResize у формы всё пересчитываете..
  21. @ENERGY, я сделал вывод текста в tpaintbox, после чего копирую полученный битмап в TListView, искажения текста ушли. Почему прямое рисование искажает, я пока не понял - вроде все коэффициенты и размеры один к одному. Так что уже неактуально. А вот насчет рисования кругов со сглаживанием через nativeAPI, можно поподробнее? А то TCircle в андроиде это полный треш
  22. Я еще не тестировал приложения на Android 9, поэтому не готов подсказать
  23. Если бы не было этой проблемы, я бы ее и не спрашивал бы, как с ней бороться. Суть в том, что я использую TListView с динамической высотой элементов (высота может быть различной) и динамической формированием элементов. В качестве шрифта используется устанавливаемый с приложением шрифт (если быть точным - plumb). Изначально я формировал изображение, рисуя на Bitmap у ListView.ItemAppearance.Item.TImageObjectAppearance. В данной ситуации FillText при выводе теста, содержащего больше одной строки, приводил к формированию текста с небольшим искажением, но при этом текст в одну строку выводится без проблем. В качестве решения я использовал формирование в промежуточном буфере на базе TPaintBox, после чего копировал сформированное изображение в Bitmap. Искажения текста исчезли. Почему в исходном варианте наблюдается такое поведение FillText, я не знаю. Все scales, width / height и т.д. рассчитываются верно. Поэтому предлагаю лично вам свое мнение об этой проблеме и способах ее решения либо оставить при себе, либо озвучивать в другой теме. Желаете, что бы я начал комментировать ваши рассуждения об использовании FMX на этом форуме? )))))))))) Сразу отвечаю на замечание ENERGY - формируемые изображения кэшируются, ListView заполняется в коде очень быстро, и также шустро работает, скролится без лагов. Для пользователей программы это важно, по моему скромному мнению.
  24. Так я же уже решил проблему, путем построения промежуточного буфера в TPaintBox вместо TBitmap, теперь многострочный текст не искажается...
  25. Android SDK 25.2.5 AndroidManifest.template.xml: <uses-sdk android:minSdkVersion="18" android:targetSdkVersion="26" /> Phones: Samsung Galaxy S3, S4, S5, S6, S7, S8 Samsung Note 3, 4, 5
×
×
  • Создать...