Поиск по сайту

Результаты поиска по тегам 'android'.

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

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

Тип публикаций


Категории и разделы

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

Категории

  • Курсы



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

Найдено 171 результат

  1. Пытаюсь из сервиса вывести лог, но в monitor ничего не приходит. Для примера вот тестовый проект Проверьте, как у вас? PS. Из приложения лог приходит нормально
  2. RAD Studio Mobile Tutorials - Free eBook Get all the information you need to know on developing mobile apps for Android and iOS with RAD Studio, Delphi and C++Builder XE7 in this free 300+ page ebook. Download the free RAD Studio Mobile Development Tutorials ebook Topics include: Setting up the tools and SDKs Creating your first mobile app Best practices for using components User interface design Connecting with data Push notifications And much more.
  3. Привет Всем! vkbdhelper.pas Давно пользовался vkbdhelper'ом, но он был только для андроида. руки добрались и до этого, теперь его можно использовать и на IOS изменения * почистил uses секцию * убрал зависимость от платформ (кросс-платформенный) * добавил глобальную переменную VKOffset VKOffset - расстояние между контролом и клавиатурой для тех случаев когда включены подсказки/автозамена и контрол оказывается под доп. панелькой Не все клавиатуры включают доп. панели в свой размер! Например для IOS нужно всегда прибавлять 30-32 пикселя, панель с кнопкой Done перекрывает контрол {$IFDEF IOS} VKOffset := 31; {$ELSE} VKOffset := 0; // на свой вкус // не знаю как определить размер доп. панельки // когда она не входит в размер клавиатуры // и определить есть ли панелька вообще... {$ENDIF} vkbdhelper.zip
  4. Всем добрый день! Приоритет нитки для Windows имеет тип TThreadPriority: enum DECLSPEC_DENUM TThreadPriority : unsigned char { tpIdle, tpLowest, tpLower, tpNormal, tpHigher, tpHighest, tpTimeCritical }; __property TThreadPriority Priority = {read=GetPriority, write=SetPriority, nodefault}; Тут по названиям элементов множества всё предельно понятно. Для Android тип уже int: __property int Priority = {read=GetPriority, write=SetPriority, nodefault}; Нигде не могу найти возможные варианты значений для приоритета. Кто-нибудь знает?
  5. Подскажите как добраться до кнопки очистки содержимого TSearchBox? Сам TSearchBox у TListView благодаря теме "Можно ли программно передать фокус на SearchBox и очистить строку?" доступен без проблем, но кнопка не обнаруживается в ListViewProducts.SearchEdit.Children.Items :-( Хочу изменить логику ее появления - сделать видимой всегда, когда есть текст в ListViewProducts.SearchEdit.Text. По умолчанию ее поведение малость загадочное - она исчезание при любой возможности (потеря фокуса, Resize, смена ориентации и т.д.). Что бы очистить поле поиска, пользователю приходится в данный момент производить следующие манипуляции: Кликнуть на SearchBox Ввести любой символ Нажать на появившуюся "кнопку с крестиком" Пока написан костыль на все возможные манипуляции - добавляю пробел в конец SearchBox, удаляю добавленный пробел, но иногда он не срабатывает и вводит пользователя в ступор. Пытался решить проблему добавлением отдельной кнопки очистки, с нормальным поведением, но опять же встает вопрос как навсегда скрыть родную кнопку. Сейчас пытаюсь отказаться от встроенного в TListView TSearchBox, сделать отдельное поле ввода поиска, но с наскока не пойму как передавать строку фильтрации в TListView.
  6. На Android код, который работает исправно на Win вызывает ошибку "CalledFromWrongThreadException: Only the original thread that created a view hierarcy can touch its views" Смысл таков, что я пытаюсь показать форму из треда, у которой BorderStyle=none (роли это не играет). Решение в Андроиде заключается в том, чтобы пускать через runOnUiThread (то есть выполнять интерфейсные штуки в главном потоке). Как я понимаю, в firemonkey эту фичу должен выполнять Synchronize(). Тем не менее, ошибка возникает. А при запуске в режиме дебага на андроид девайсе событие кнопки вообще не срабатывает иногда. А если срабатывает, то возникает описанное выше исключение. Я собрал тестовый пример и в нем не сразу видна ошибка, тогда как получил я ее на рабочем проекте. Цель: показать бизибокс на время бекграундных действий. Этот бизибокс у меня сначала был просто на каждой форме и я интерфейсно его вызывал, но теперь решил сделать отедльной формой (как и тоаст), но почему так происходит я не понял. Вы что скажете? unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Controls.Presentation, FMX.StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; TWorkThread = class(TThread) public procedure Execute; override; end; var Form1: TForm1; implementation {$R *.fmx} uses unit2; procedure TForm1.Button1Click(Sender: TObject); var t: TWorkThread; begin t := TWorkThread.Create(True); t.FreeOnTerminate := true; t.Start; end; { TWorkThread } procedure TWorkThread.Execute; begin inherited; Self.Synchronize(procedure begin Form2.Show; Form2.Top := Form1.Top; Form2.Left := Form1.Left; Form2.BringToFront; end); Terminate; end; end.
  7. Собственно вопрос, можно ли вызывать АктивитиДиалог из рабочего потока в андроид или это будет приводить к ошибкам?
  8. DeviceInfo - модуль для получения информации о девайсе Android || Windows || IOS || MAC OS Intel планшет для Андроида нужно включить разрешения (permission) Ссылка на GitHub
  9. Всем привет. Есть приложение под Android, используются 2 формы. Так вот при первом переключении есть заметная задержка (фриз). Четко чувствуется на всех устройствах. При следующих переключениях такого не наблюдается. Может быть кто-то сталкивался с такой проблемой, подскажите пожалуйста пути решения.
  10. TListView, как внезапно выяснилось, напрочь игнорирует системный размер шрифта и в iOS, и в Android. Есть решение, как его можно заставить соответствовать системным настройкам, или же никто не грузит себя этой ерундой? Наверняка и многие другие компоненты не утруждают себя соответствием системным настройкам, но меня пока интересует только TListView.
  11. При публикации нового приложения я обнаружил исчезновение Google Cloud Messaging из консоли разработчика, теперь вместо него Firebase Cloud Messaging. Как я понимаю возможность push сообщений для Delphi закончилась? Или как то можно прикрутить FCM к проекту на Delphi?
  12. Доброго времени суток. Пишу мобильное приложение на Delphi Berlin. Добавил вибрацию при нажатии на кнопку. На Андроид 4.4.2 все работает нормально, на Андроид 6 при нажатии на кнопку приложение вылетает. Проблема точно в вибрации, так как при отсутствии вибрации все работает нормально. В качестве процедуры вибрации использую следующий код: procedure Vibr; //Процедура вибрации var VibratorObj: JObject; Vibrator: JVibrator; begin VibratorObj := SharedActivity.getSystemService(TJActivity.JavaClass.VIBRATOR_SERVICE); Vibrator := TJVibrator.Wrap((VibratorObj as ILocalObject).GetObjectID); if Vibrator.hasVibrator() then Vibrator.vibrate(200); end; Как по Вашему, в чем может быть причина?
  13. Что это (alert, message, notify, etc.)? И как этим можно воспользоваться на Android?
  14. Хочу в программе создать условие, чтобы в зависимости от разрешения экрана устройства, на котором запустилось приложение, активировалась заранее созданная форма, оптимизированная под это разрешение. Но приложение выдаёт (если вывести в label ширину и высоту экрана, например, с помощью screen.width/height) разрешение с учётом верхнего и нижнего статус-бара (например, 1024х720 вместо 1024х768). Можно каким-либо образом получить полное разрешение? Как вариант, конечно, можно вычитать кол-во px занимающих панели по гайдлайнам dpi. Нашёл только данные от sdk v11 — 19px for LDPI 25px for MDPI 38px for HDPI 50px for XHDPI.
  15. Ссылка: http://delphifmandroid.blogspot.ru/2016/07/admob.html Автор: Андрей Ефимов Описание: Подробная инструкция по добавлению рекламного блока в приложение, разработанное в RAD Studio.
  16. Как избежать повторных нажатий/ закликиваний на кнопку? Имеется следующий код: procedure Tfm.ButtonPrevCardClick(Sender: TObject); begin ButtonPrevCard.Enabled := false; Application.ProcessMessages; // здесь код по смене карты + пауза в 2 секунды ButtonPrevCard.Enabled := true; Application.ProcessMessages; end; Под Windows повторных нажатий/закликиваний при этом не происходит. А под Андроид, если пользователь быстро подряд нажал несколько раз, то сработает также несколько раз.
  17. Почему-то код, исправно работающий для 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?
  18. Я использую принудительную ориентацию экрана на 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;
  19. На устройство с IOS сообщения приходят и через Kinvey и через FCM (Firebase Cloud Messaging). На Android возвращается Token, сами уведомления НЕ приходят.
  20. Имеется форма с Edit, в котором набран IP-адрес 192.168.1.12 Если попробовать долгим тапом выделить весь текст (для копирования), то выделяется только какая-то одна цифра. Весь текст никак не выделить. Тоже самое будет, если вместо точек поставить любые другие знаки препинания или пробел. Как решить эту проблему?
  21. Доброе время суток . Я только начал знакомится с потоками , не судите строго . Вот код . Смысл которого через отдельный поток загружать изображение с сервера . 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 ничего не происходит . Помогите разобраться , пожалуйста .
  22. Всем доброго вечера. На Delphi XE8 и выше имею проблему! В Projects - options / Provisioning Build Type выбираю Android-Application Store, создаю keystore, alias как обычно - нажимаю OK, Захожу опять в Projects - options / Provisioning Build Type стоит - Android development. ставлю опять Android-Application Store - появляются настройки мои keystore, нажимаю ОК и все по кругу. Вообщем на сохраняется в настройках Android-Application Store, постоянно слетает в Android development. На XE6 и XE7 все работает, в чем проблемы, помогите. Спасибо.
  23. Пытаюсь опубликовать приложение в Гугл маркет. Присылают ответ на почту. 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
  24. Добрый день. Знаю, что на форуме есть несколько тем о том, как удалять объекты под 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 - результат аналогичный. Как правильно уничтожать составные объекты?
  25. Как узнать количество свободного места на "диске"? К примеру получаю путь System.IOUtils.TPath.GetCachePath, и перед тем как туда писать, хочу узнать есть ли и сколько свободного места. С наскока не нашел ответ. Заранее благодарю!