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

Andrey Efimov

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

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

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

    123

Сообщения, опубликованные Andrey Efimov

  1. 16 минут назад, CyberStorm сказал:

    Тогда вопрос, как мои остальные приложения из Google.Play обновляются?

    Как и раньше, но теперь у них(других приложений) доступна версия 64-bit.

    16 минут назад, CyberStorm сказал:

    Если в октябре 32-ух битные приложения заблочили, и остались только 64-битные, то как оно всё работает?

    32-bit приложения не блочили. Разработчиков просто обязали в дополнение к 32 битной версии прикладывать 64 битную версию.

    Полный отказ от 32 битных приложений был запланирован на Август 2021.

  2. Обратите внимание вот на эту заметку: Получаем информацию об устройстве (Device Information)

    Касательно данной темы, в заметке учитываются такие нюансы: Android API > 17; Android API < 17; и устройства не позволяющие кастомизировать Device Name.

  3. Документация по студии. Например: Mobile Tutorial: Using Location Sensors (iOS and Android) в самом начале указано какие разрешения нужны для использования.

    Документация по Android: Manifest.permission; Normal permissions; Dangerous permissions and permission groups

  4. Например вот так.

    в программе:

    var
      LIntent: JIntent;
    begin
      LIntent := TJIntent.Create;
      LIntent.setClassName(TAndroidHelper.Context.getPackageName(), StringToJString('com.embarcadero.services.nameservice'));
      LIntent.putExtra(StringToJString('NameForValue'), StringToJString('Value'));
      TAndroidHelper.Activity.StartService(LIntent);

    в сервисе:

    function TDM.AndroidServiceStartCommand(const Sender: TObject; const Intent: JIntent; Flags, StartId: Integer): Integer;
    var
      Value: string;
    begin
      Value := JStringToString(Intent.getStringExtra(StringToJString('NameForValue')));
      // дальше что-то делаем
    end;

     

  5. 5 часов назад, Равиль Зарипов (ZuBy) сказал:

    1) Решение Андрея не полное, нет колбэка от выбранного действия. Неизвестно юзер разрешил или нет

    Не обманывай людей :). Это что: procedure onReceivePermissionsResult(const ASender: TObject; const AMessage: TMessage); ?

     

  6. Вот так попробуйте:

    uses
      Androidapi.JNI.GraphicsContentViewText, Androidapi.JNI.JavaTypes, Androidapi.Helpers, Androidapi.JNI.App;
    
    procedure TForm1.Button1Click(Sender: TObject);
    var
      PackageManager: JPackageManager;
      PackageName: JString;
      LastUpdateTime: Int64;
    begin
      PackageManager := TAndroidHelper.Activity.getPackageManager;
      PackageName := TAndroidHelper.Context.getPackageName;
    
      LastUpdateTime := PackageManager.getPackageInfo(PackageName, 0).lastUpdateTime; // firstInstallTime
    end;

     

    p.s. А вообще, это вы должны были ещё в первом посте указать версию среды...

  7. 17 часов назад, Виталий Иванов сказал:

    Вопрос к экспертам :)

    Возникла необходимость и хотел спросить можно ли как-то сделать TlistViewItem  прозрачным, а то получается что сам TlistView может быть прозрачным а его итем нет :(. Это как-то же делаться у TListBoxItem. 

    Заранее огромное спасибо.

    Через стиль можно сделать, "itembackground.color" ставим Null. Ну и прозрачность у самого компонента включаем.

  8. Вот, попробуйте. Уведомление должно появиться через 8 секунд.

    NotificationApp.zip

     

    12 минуты назад, x11 сказал:

    Вопрос по правам. Нужно ли какие-то права указывать именно для библиотеки сервиса? Или достаточно того, что они есть у приложения-хозяина?

    Нет, не нужно.

  9. Какое устройство используете, какая оболочка установлена?

    В Берлине такого бага не встречал, бывает в оболочках, которые над Андроидом нужно разрешить фоновую работу приложению.

    В этом примере, у вас должно будет появиться уведомление, если появилось, значит сервис отработал.

  10. 5 часов назад, x11 сказал:

    1. Те. получается, что D 10+ позволяют создавать службы для андроида без дополнительных java файлов?

    Смотря какой сервис, в Делфи просто автоматизировали процесс как смогли. На самом деле, в итоге, создаются java файлы, потом всё превращается в либу и прикрепляется к основному приложению.

    5 часов назад, x11 сказал:

    2. Можно ли обходится без HOST-приложения? Если да, то как запустить сервис?

    Прям вообще без приложения - нет. (на сколько мне известно)

    5 часов назад, x11 сказал:

    3. Присоединяюсь к вопросу fsdb: нужны ли какие-тор танцы с бубном, чтобы сервис автоматически запускался при старте ОС или он будет, как в винде, запускаться автоматически без лишних танцев?

    Нужны и не малые, если хотите охватить максимум устройств, но такие танцы не зависят от языка.

    Начать изучать можно с поиска по форуму. Ещё напомню, что на форуме есть раздел "Статьи и заметки".

    5 часов назад, x11 сказал:

    4. Разрешено ли сервису использовать Toast?

    В теории можно, но либа Ярослава для этого не подойдёт, т.к. в компоненте используются файлы студии, которые не работают в сервисах.

     

     

    По поводу умирающего сервиса (после закрытия приложения). Да, есть такой косяк, появился с версии Berlin, в Seattle всё работало.

  11. Для создания резинового интерфейса достаточно использования TLayout (или наследников/других подобных компонентов) и свойств Align, Margins, Paddings, Anchors у компонентов.

    В Embarcadero позаботились о том, чтобы данная тема была рассмотрена в справке, вот вам несколько ссылок с примерами:

     

    Теперь по поводу View, данный функционал создавался в основном для того, чтобы разработчик мог делать разный дизайн для разных платформ и размеров экрана. Создавая View для Windows платформы вы можете быть уверены, что при запуске приложения на Windows платформе будет отображаться это View. Вы можете изменить весь дизайн приложения для Windows платформы, на остальных платформах будет отображаться Master View. В некоторых случаях это очень удобная фишка, например, если нужно сделать два разных дизайна для телефонов и планшетов.

    Вот несколько ссылок про использование View:

     

    И напоследок, общий гайд по дизайну: FireMonkey Application Design

  12. 13 часа назад, gelo1 сказал:

    Здравствуйте Андрей.

    Не совсем понял. Пришлите пожалуйста на мою почту или сюда скриншот или видеоролик того что происходит. Адрес в верхнем меню "О приложении".

    СпасиБО. С Уважением. Олег.

    Я вам лично ничего не писал. Вам написал GASCHE: http://fire-monkey.ru/topic/4655-подбор-и-расчёт-карданного-вала-v20/?do=findComment&comment=29373. Но изначально, он залил скриншот в архиве, т.к. на форуме принято выкладывать скриншоты прямо в сообщении и я являюсь модератором-администратором, то я скачал его архив, извлёк скриншот и залил в его сообщение (где оставил пометку об этом). Так что вам необходимо связаться с GASCHE (скриншот под спойлером в его сообщении)

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