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

Поиск сообщества

Показаны результаты для тегов 'android'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

  • Общие вопросы
    • Анимация
    • Графика
    • Стили
    • Базы данных и REST
    • Компоненты
    • Положение, размеры, выравнивание
    • Работа с текстом
    • Приложение и формы
    • Отладка
    • Развертывание приложений
    • Вопросы по языку Object Pascal и RTL
    • Общая информация о TControl
    • События
    • Прочие вопросы
  • Вопросы по платформам
    • Android
    • iOS
    • OSX
    • Windows
    • Windows Phone
    • Linux
  • Вопросы по использованию RAD Studio
    • Лицензирование
    • Сборка проектов
    • Multi-Device Designer
    • Редактор кода
    • Вопросы
  • Обучение
    • Основная информация
    • Вопросы
    • Отзывы
  • Поиск специалистов по FireMonkey
    • Консультации
    • Ищу подрядчика
  • Дополнительные ресурсы по FireMonkey
    • Сторонние компоненты
    • Приложения, написанные с использованием FireMonkey
    • Примеры
    • Руководства
    • Шаблоны
    • Статьи и заметки
    • Информация о версиях RAD Studio
    • Новости
  • Организация работы данного форума

Поиск результатов в...

Поиск контента, содержащего...


Дата создания

  • Начало

    Конец


Дата обновления

  • Начало

    Конец


Фильтр по количеству...

Регистрация

  • Начало

    Конец


Группа


AIM


MSN


Сайт


ICQ


Yahoo


Jabber


Skype


StackOverflow


Защита от ботов


Город


Интересы

  1. Как избежать повторных нажатий/ закликиваний на кнопку? Имеется следующий код: procedure Tfm.ButtonPrevCardClick(Sender: TObject); begin ButtonPrevCard.Enabled := false; Application.ProcessMessages; // здесь код по смене карты + пауза в 2 секунды ButtonPrevCard.Enabled := true; Application.ProcessMessages; end; Под Windows повторных нажатий/закликиваний при этом не происходит. А под Андроид, если пользователь быстро подряд нажал несколько раз, то сработает также несколько раз.
  2. Я использую принудительную ориентацию экрана на Android устройстве. Что это означает? Когда открывается приложение, экран переворачивается в то положение, которое я устанавливаю по умолчанию, или которое было установлено в настройках приложения (состояние читается при запуске приложения). Приведу пример кода, как я его написал. Здесь что-то лишнее, что-то может стоит доработать. Есть две проблемы в примере: 1. Чтобы изменить ориентацию экрана, приходится закрывать (уничтожать) приложение, а потом открывать заново. 2. Когда стоит режим ландшафт, то срабатывает автоматический переворот экрана по сенсору, когда поворачиваешь экран на 180 градусов. А когда стоит режим портрет, автоматически экран не переворачивается. В настройках проекта так: В Object inspector для главной формы так: В модуле проекта вот так: begin Application.Initialize; TAndroidHelper.Activity.getWindow.addFlags (TJWindowManager_LayoutParams.JavaClass.FLAG_KEEP_SCREEN_ON); Application.FormFactor.Orientations := [TFormOrientation.Portrait, TFormOrientation.InvertedPortrait, TFormOrientation.Landscape, TFormOrientation.InvertedLandscape]; Application.CreateForm(TDM, DM); Application.CreateForm(TfmMain, fmMain); VKAutoShowMode := TVKAutoShowMode.Always; Application.Run; end. В модуле главной формы: procedure TfmMain.FormShow(Sender: TObject); begin if DM.setOrientation(TAndroidHelper.Activity) then Invalidate; end; В дата-модуле вот так: function TDM.setOrientation(Activity: JActivity): boolean; var orient: Integer; begin result := False; if DM.GetSettingsBoolean('IsOrientationLandshaft', true) then orient := TJActivityInfo.JavaClass.SCREEN_ORIENTATION_SENSOR_LANDSCAPE else orient := TJActivityInfo.JavaClass.SCREEN_ORIENTATION_SENSOR_PORTRAIT; try if Activity.getRequestedOrientation <> orient then begin Activity.setRequestedOrientation(orient); result := true; end; except result := False; end; end;
  3. На устройство с IOS сообщения приходят и через Kinvey и через FCM (Firebase Cloud Messaging). На Android возвращается Token, сами уведомления НЕ приходят.
  4. Почему-то код, исправно работающий для WIN, не работает на ANDROID. procedure AssignEventToComponent(C: TComponent; MethodName: String; const Evt: TNotifyEvent; OnlyIfNil: boolean = true); var M: TMethod; begin M := GetMethodProp(C,MethodName); if not OnlyIfNil or (M.Code = nil) then begin TNotifyEvent(M) := Evt; SetMethodProp(C,MethodName,M); end; end; Есть какие-то особенности работы TMethod для ANDROID?
  5. Доброе время суток . Я только начал знакомится с потоками , не судите строго . Вот код . Смысл которого через отдельный поток загружать изображение с сервера . unit Unit5; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,iduri,idhttp, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Objects, FMX.Controls.Presentation, FMX.StdCtrls; type ThreadHTTP=class(TThread) private Stream:TMemoryStream; bmp:tbitmap; url:string; public constructor Create(abmp:tbitmap; aurl: String); procedure Execute;override; // procedure ShowResult; end; type TForm5 = class(TForm) Button1: TButton; Image1: TImage; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } procedure getpic(pic: string; img: Tbitmap); end; var Form5: TForm5; implementation {$R *.fmx} constructor ThreadHTTP.Create(abmp:tbitmap;aurl:string); begin inherited Create(false); bmp := abmp; url:=aurl; end; procedure ThreadHTTP.Execute; var j:integer; idhttp : TIdHTTP; ms:tmemorystream; png:tbitmap; begin ms := TMemoryStream.Create; IdHTTP := TIdHTTP.Create(nil); url:=TIdURI.URLEncode(url); try idhttp.Get(url,ms); ms.Position := 0; finally bmp.LoadFromStream(ms); idhttp.Free; ms.Free; end; end; procedure TForm5.Button1Click(Sender: TObject); begin getpic('krovat1',form5.Image1.Bitmap); end; procedure TForm5.getpic(pic: string; img: Tbitmap); var zapros:string; idhttp:tidhttp; MyHTTP:ThreadHTTP; begin zapros:='http://127.0.0.1/getimage_'+pic; MyHTTP:=ThreadHTTP.Create(img,zapros); MyHTTP.FreeOnTerminate := true; MyHTTP.resume; end; end. Код корявый , но работает в win32 . В Android ничего не происходит . Помогите разобраться , пожалуйста .
  6. Пытаюсь опубликовать приложение в Гугл маркет. Присылают ответ на почту. OpenSSL The vulnerabilities were addressed in OpenSSL 1.02f/1.01r. To confirm your OpenSSL version, you can do a grep search for: $ unzip -p YourApp.apk | strings | grep "OpenSSL" You can find more information and next steps in this Google Help Center article. Но ведь я не использую никакой работы с сетью и т.д, только firedac и sqlite
  7. Rusland

    IP адрес и Edit

    Имеется форма с Edit, в котором набран IP-адрес 192.168.1.12 Если попробовать долгим тапом выделить весь текст (для копирования), то выделяется только какая-то одна цифра. Весь текст никак не выделить. Тоже самое будет, если вместо точек поставить любые другие знаки препинания или пробел. Как решить эту проблему?
  8. Добрый день. Знаю, что на форуме есть несколько тем о том, как удалять объекты под Android и счетчике ссылок, однако использование рекомендаций оттуда мне пока не помогло. Суть вопроса: создаю свой класс type TRext =class(TRectangle) Text: TText; procedure RextMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Single); procedure RextMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Single); procedure RextMouseLeave(Sender: TObject); Constructor Create(AOwner: TComponent); override; Destructor Destroy; override; end; type TMyChoose = class Item1, Item2, Item3: TRext; Edits: TEdit; procedure ItemClick(Sender: TObject); procedure OnEditFocus(Sender: TObject; var ACanFocus: Boolean); Constructor Create(Form: TForm); Destructor Destroy; override; end; ..... constructor TRext.Create(AOwner: TComponent); begin inherited Create(AOwner); Text:=TText.Create(Self); Text.Parent:=Self; Text.Align:=TAlignLayOut.Client; Self.Text.OnMouseDown:=RextMouseDown; Self.Text.OnMouseUp:=RextMouseUp; Self.Text.OnMouseLeave:=RextMouseLeave; end; Destructor TRext.Destroy; begin Text.Release; Text:=nil; inherited; end; constructor TMyChoose.Create(Form: TForm); begin inherited Create; Item1:=TRextCreate(Form); Item1.Parent:=Form; Item1.Align:=tAlignLayout.MostLeft; Item2:=TRextCreate(Form); Item2.Parent:=Form; Item2.Align:=tAlignLayout.MostLeft; Item3:=TRextCreate(Form); Item3.Parent:=Form; Item3.Align:=tAlignLayout.MostLeft; Edits:=TEdit.Create(Form); Edits.Parent:=Form; Edits.Align:=tAlignLayout.MostLeft; ......... end; Destructor TMyChoose.Destroy; begin Item1.Release; Item1:=nil; Item2.Release; Item2:=nil; Item3.Release; Item3:=nil; Edits.Release; Edits:=nil; inherited; end; Под Windows все нормально работает и уничтожается. Под Android вызов Destroy у объекта типа TMyChoose не приводит ни к чему. Вместо Release и nil использовал также DisposeOf и Nil, а также FreeAndNil - результат аналогичный. Как правильно уничтожать составные объекты?
  9. В DelphiXE6, проект под Андроид, на свою форму кладу Mediaplayer, по кнопке задаю ему файл и вызываю метод Play. По окончании проигрывания файла на экране висит либо последний кадр, либо черный экран (на двух устройствах по-разному). Для того чтоб снова увидеть свою форму приходится нажимать вручную системную кнопку "Назад". Как можно сделать чтоб окно проигрывателя скрывалось само и показывалась моя форма без участия пользователя сразу по окончании файла видео?
  10. Обещал вам продемонстрировать возможность записи видео в Android. Представляю решение с исходными кодами (VideoRecord.zip) для изучения этой возможности и использования в своих проектах. На представленном снимке есть 2 главных кнопки: "Modal Intent Record" и "Native Record". Modal Intent Record — удобно использовать в приложениях, потому что запись ведется приложением камеры, поставляемым с телефоном. После съемки в приложение возвращается сообщение о результатах — удачно/неудачно. Native Record — метод на базе интерфейса JMediaRecorder, используется, когда Intent Record не подходит. Например в Local Android сервисе ;-) Пользуйтесь на здоровье. Большая просьба к сообществу — помочь в комментариях с подбором оптимальных параметров записи видео в JMediaRecorder. Установленные сейчас параметры 640х480, и качество видео хромает. Нужно научиться переключать камеры, менять степень сжатия, включать/выключать вспышку, звук затвора. Здесь люди уже подбирали варианты параметров, но нужно протестировать на приложении из RAD Studio. На ресурсе разработчиков Android тема по JMediaRecorder находится здесь.
  11. И снова я к Вам за советом, господа. Задачка: пользователь кидает телефон в карман и в фоновом режиме программа сама проверяет каждые секунд 15 наличие новой строки в стринглисте, который цепляется с файла и пытается отправить http запрос. Как мне до этого подсказали копать надо в сторону сервисов. Что же, начал: создал сервис, прицепил к приложению, кинул на него таймер и http от indy, написал кучу кода. Как итог - сервис виден в процессах но таймер не срабатывает и ничего не происходит (запускаю приложение, что бы запустить сервис, выхожу из него и жду проверяя данные на сервере). Но происходит совсем ничего. Туда ли я вообще полез или это нужно реализовывать как то иначе? Стоит local сервис, может проблема в этом? Ниже в темах писали что таймер не работает или еще что, при компиляции ничего не ругается, хотя условий там море и т.д. Все данные которые мне нужно отправить цепляются из текстовых файлов и далее в TStringList.. Понятное дело что такой сервис будет жрать батарейку и кучу трафика, но они так и так тратятся пользователем в "ручном" режиме
  12. Как ведет себя приложение, написанное для Андроид, со множеством таймеров? Не подтормаживает ли? Корректно ли считают время таймеры? Делаю мобильное приложение что-то вроде Фермы или Запорожья, и там многое построено на отсчетах промежутков времени.
  13. Под Windows 32 приложение собирается и работает отлично, под Android при запуске из RAD-среды сразу говорит: Project project1.apk raised exception class ECanvasException with message 'Handle not allocated' и отказывается работать. В чем может быть причина?
  14. M1shQa

    Кастомизация listbox

    Всем утречка! Интересует вопрос кастмизации listbox в плане дизайна. Хотелось бы что бы плашки имели какой то другой цвет, рамку с обводкой и все на андроиде: в какую сторону рыть? Пилить стиль самому? Хотелось бы, что бы элементы в листбоксе были темно подсвечены и имели рамочку.. Стили ставил, а вот как поправить что-то в стиле пока не понял.
  15. Интересует вопрос и ноу-хау. Если есть код на Питоне, который нужно выполнять в рамках Андроид и айОС приложений - как это лучше всего делать и как это будет выглядеть? Читал, что есть Python4Delphi и это речь про DLL. Хотелось бы понять, как это будет выглядеть на iOS и Android - это дополнительный файл надо с собой такскать как в Windows или он будет внутри APK/APP ?
  16. Не нашел тега TPopup. Напишу тут. Ситуация в следующем. Я использую TPopup + TCalloutPanel для хинтов (подсказок). С анимацией FadeIn FadeOut. Все вроде просто. На основной форме есть стандартная проверка FormKeyDown if Key in [vkHardwareBack] then begin TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(FService)); if (FService <> nil) and (TVirtualKeyboardState.Visible in FService.VirtualKeyBoardState) then begin DebugLog('KeyboardOnBackButton'); end else begin Key := 0; if ItemLayout.Visible then begin DebugLog('ItemLayoutBackButton'); btCancelClick(btCancel); end else begin DebugLog('MainLayoutBackButton'); MessageDlg('Are you sure to exit now?', TMsgDlgType.mtConfirmation, [TMsgDlgBtn.mbOK, TMsgDlgBtn.mbCancel], -1, procedure (const AResult: TModalResult) begin if AResult = mrOk then begin DebugLog('CloseOnBackButton'); Close; end; end); end; end; end В общем ничего сверхестественного. Затем, когда появляется хинт: procedure TFParent.ShowHint(AControl: TControl; AText: string; ATitle: string=''; Duration: single = 3; ImageIndex: integer = -1); begin DebugLog('ShowHint'); lbHint.Text := AText; puHint.PlacementTarget := AControl; faHintFadeOut.Delay := Duration; puHint.IsOpen := true; ivHint.Visible := ImageIndex <> -1; lbHintTitle.Text := ATitle; lbHintTitle.Visible := ATitle <> ''; end; все тоже хорошо. Однако, когда я нажимаю кнопку назад - сначала пропадает хинт. А если я нажимаю снова кнопку назад, то вообще говоря я жду два варианта: ItemLayout переходит в MainLayout Программа запрашивает выход MessageDlg Но на деле приложение просто закрывается. При чем без ошибок. Что с этим можно сделать?
  17. Проблема давняя, хочется наконец разобраться с ней. Вот создал тестовый пример, в котором приложение TestPro и локальный Android-сервис к нему TestService2. Запускаю программу, нажимаю кнопку Start Service, сервис стартует (увидеть можно в Настройки -> Приложения -> Работающие). Не закрывая программу, перехожу к другим программам и работаю в них. Лучше всего перейти в какой-нибудь браузер и полазить по вкладкам (это довольно ресурсоемкое приложение). После нескольких минут через диспетчер задач я возвращаюсь в свое приложение и оно начинает загружаться с нуля. То есть система давно прибила программу и она начинает загрузку заново. Так вот программа долго висит на заставке, а потом выходит сообщение что приложение не отвечает! Нажимаем OK. После повторного перезапуска программы происходит тоже самое и лишь на третий раз программа запускается. Как решить эту проблему? Я пробовал убивать сервис var LIntent: JIntent; LIntent := TJIntent.Create; LIntent.setClassName(TAndroidHelper.Context.getPackageName(), TAndroidHelper.StringToJString('com.embarcadero.services.TestService2')); TAndroidHelper.Activity.stopService(LIntent); до строчки Application.Initialize - не помогает. TestService2.zip
  18. Всем привет. Недавно столкнулся с проблемой: при повороте компонента "Edit" на 180 градусов (RotationAngle=180) текст становится невидимым. При чем такое происходит только при компиляции под андроид, под виндоус все работает. Если кто сталкивался с таким - подскажите, как исправить. Буду очень благодарен. PS: Студия 10.1 Берлин, гаджет - Sony Xperia ZL, android 5.1.1 test.rar
  19. Rusland

    Aborted

    Приложение использует Android - сервис, NetHTTPClient, потоки, получение координат с помощью LocationSensor. Если надолго оставляю работать программу (например на ночь), то в дебагере вижу ошибку Aborted(6). По нажатию Break в CallStack вижу следующее: Как дальше жить?
  20. Пишу на RAD Studio 10 Seattle, тестирую на Android 6.0.1, девайс для теста ASUS ze500kl Вопрос: Простейшее приложение - скачивает некий прайс лист и вводит содержимое в ListView, который лежит на главной форме. После запуска, приложение не реагирует ни на одно нажатие, куда бы пользователь ни нажимал. Лечится сменой ориентации экрана. Поворачиваешь экран, чтобы сменилась ориентация на альбомную, интерфейс начинает реагировать на все нажатия, возвращаешься к портретной ориентации, все продолжает работать корректно. Подскажите, может кто сталкивался, куда рыть?
  21. Что происходит на уровне системы, когда мы нажимаем хардварную кнопку «приложения», и в окне «последние приложения» удаляем приложение? На пользовательском уровне приложение удаляется из списка, если у приложения был запущен сервис, тот теряет процесс приложения и перезапускается. Необходимо повторить это действие пользователя (удаление программы из списка последних приложений) программно из самого приложения, со всеми сопутствующими процедурами системы. Если нет, тогда удаление из списка другим приложением. Сокрытие приложение через манифест не подходит. Кто может помочь в этом вопросе, помогите пожалуйста.
  22. DimArt

    Не отображается TListItemImage

    Всем привет! Добавляю в listViewItem дополнительный TListItemImage,а он ни в какую не отображается. Точнее картинка появляется на долю секунды и тут же пропадает. Картинки подгружаю с нета, для этого использую хелпер от ZuBy. Подскажите, в чём я накосячил. Файл проекта для Seattle приложил. TwoImages.zip
  23. Как получить доступ к отфильтрованным элементам ListView. Ситуация такая - ListView частично сформирован и показан пользователю, он может начать поиск через SearchBox, но потоки должны продолжать заполнение некоторых данных, не критичных для работы. Но дело в том, что получить доступ по индексу, к отфильтрованному итему нельзя, а нужно. Что делать? Может есть другой путь получить нужный ListViewItem?
  24. Как узнать количество свободного места на "диске"? К примеру получаю путь System.IOUtils.TPath.GetCachePath, и перед тем как туда писать, хочу узнать есть ли и сколько свободного места. С наскока не нашел ответ. Заранее благодарю!
  25. Ссылка: http://delphifmandroid.blogspot.ru/2016/07/admob.html Автор: Андрей Ефимов Описание: Подробная инструкция по добавлению рекламного блока в приложение, разработанное в RAD Studio.
×
×
  • Создать...