Перейти к содержанию
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. Доброго дня! Не могу победить применение стиля в приложении FMX. Положил на Форму TStyleBook, выбрал 0-Android, открыл и применил стиль Transparent.Style, в свойстве Формы добавил StyleBook = StyleBook1... В окне Design всё изменилось, всё красивое. В Win10 приложение запускается в стиле, на телефоне при параметре Android x32 зависает сплэш, при х64 вылетает. (Delphi 10.4, Samsung A30, Android 11) Подскажите, что я делаю не так?
  2. У меня среда программирования rad studio Delphi 10.4.2. Собственно ищу совета как отправить и получить ответ на запрос USSD. Нашел в интернете единственный пример более или менее который похож на правду. Привел его к виду нормальному виду, но не хватает знаний как передать функцию CallBack. procedure TForm7.Button6Click(Sender: TObject); var Temp:Jstring; ResponceCallBack: JTelephonyManager_UssdResponseCallback; handler: JHandler; begin TM :=TJTelephonyManager.Create; handler := TJHandler.Create; ResponceCallBack := TJTelephonyManager_UssdResponseCallback.Wrap( TAndroidHelper.Context.getSystemService(TJContext.JavaClass.TELEPHONY_SERVICE)); TM.sendUssdRequest(StringToJString('*100#'), ResponceCallBack,handler); end; На java делается вот так. Не знаю как этот код переделать в delphi. TelephonyManager = telephonyManager(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); Handler handler = new Handler(); TelephonyManager.UssdResponseCallback callback = new TelephonyManager.UssdResponseCallback() { @Override public void onReceiveUssdResponse(TelephonyManager telephonyManager, String request, CharSequence response) { super.onReceiveUssdResponse(telephonyManager, request, response); Log.e("ussd",response.toString()); } @Override public void onReceiveUssdResponseFailed(TelephonyManager telephonyManager, String request, int failureCode) { super.onReceiveUssdResponseFailed(telephonyManager, request, failureCode); Log.e("ussd","failed with code " + Integer.toString(failureCode)); } }; try { Log.e("ussd","trying to send ussd request"); telephonyManager.sendUssdRequest("*123#", callback, handler); }catch (Exception e){ String msg= e.getMessage(); Log.e("DEBUG",e.toString()); e.printStackTrace(); }
  3. Здравствуйте! Уже почти неделю пытаюсь завести библиотеку org.eclipse.paho.client.mqttv3-1.2.0 в своём приложении. Я знаю о существовании компонента от TMS, но он не умеет работать в фоновом сервисе. Вот код который я использую для тестов: Стандартная библиотека org.eclipse.paho.client.mqttv3-1.2.0 выпадает в ошибку initializer error сразу на строчке mqtt:=TJMqttClient.JavaClass.init(StringToJString('tcp://m23.cloudmqtt.com:11021'), StringToJString('java')); по логам с телефона стало понятно, что проблема в логах ? а конкретно когда библиотека пытается создать логгер выпадает ошибка что не найден файл локализации ru_RU для logcat (сами файлы там вроде как есть). Ладно. Скачал исходники почистил код библиотеки от упоминаний логгера, собрал ииии и ничего. Продвинулся до строчки mqtt.connect(); также пробивал mqtt.connect(mqttconopt); ничего не помагает, получаю ошибку сегментации класса Пока не понятно куда копать дальше? Возможно что не все библиотеки можно использовать в delphi приложениях? P.S Старая версия 1.1.1 тоже не завелась :( service test2.rar
  4. Решаю задачку разработки приложения камеры для использования из сторонней программы в Android'e. Нужна обработка фотографии определенным образом, плюс еще по мелочи немного, стандартной камерой не сделать такое, поэтому делаю свое приложение. Вопрос в том, как объявить свое приложение камерой? Наткнулся на подобную конструкцию: <activity android:name=".CameraActivity" android:clearTaskOnLaunch="true"> <intent-filter> <action android:name="android.media.action.IMAGE_CAPTURE" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> Это вносится в "AndroidManifest.template.xml" или через настройки проекта Delphi (10.4) можно сделать?
  5. Привет Всем! vkbdhelper.pas Давно пользовался vkbdhelper'ом, но он был только для андроида. руки добрались и до этого, теперь его можно использовать и на IOS изменения * почистил uses секцию * убрал зависимость от платформ (кросс-платформенный) * добавил глобальную переменную VKOffset VKOffset - расстояние между контролом и клавиатурой для тех случаев когда включены подсказки/автозамена и контрол оказывается под доп. панелькой Не все клавиатуры включают доп. панели в свой размер! Например для IOS нужно всегда прибавлять 30-32 пикселя, панель с кнопкой Done перекрывает контрол {$IFDEF IOS} VKOffset := 31; {$ELSE} VKOffset := 0; // на свой вкус // не знаю как определить размер доп. панельки // когда она не входит в размер клавиатуры // и определить есть ли панелька вообще... {$ENDIF} vkbdhelper.zip
  6. Пытаюсь добавить свою иконку для Android приложения. Указываю все их в свойствах проекта. В настройках Deploy они тоже есть. Однако, при установке приложения на рабочем столе вместо моей иконки стоит дефолтная. Как быть? Может кто сталкивался с проблемой? В папке Android проекта при деплое моя картинка заменяется на дефолтную. А вот изображения из Splash Images нормально отображаются именно те, что я указал. Пробовал на двух разных смартфонах - результат одинаковый.
  7. Шаблон для проектов с покраской статус бара для мобильных платформ UPDATE: StatusBarColor.7z UPDATE2: StatusBarColor_update.zip
  8. У меня есть проект который я сделал года 3 назад в РАД 10.2 Берлин. Управление приборами с помощью апликации на Андроиде через блютуз. Все работало пока я не купил новый мобильник с 10-м Андроидом который сказал что нужно её обновить. Взял новый РАД 11 и скомпилировал свой проект и получил кучу не известно откуда ошибок. Тогда я поставил опять 10.2 и с помощью старых SDK успешно скомпилировал опять проект. Теперь нужно повторить с новыми SDK. В директории SDK есть SDK Manager. Я его запустил и скачал 29 версию. Запустил на компиляцию и получаю ошибку что не хватает файлов. Не понятно почему со старой SDK этих ошибок не было. Какая связь между SDK и отсутствием файлов? Если посмотреть на ошибки то программа ищет файлы находящиеся в include\windows\crtl хотя я строю апликацию для android и это отражено в коммандной строке. error.docx КАк это починить ? Добавить пути к include\windows\crtl ? И куда ?
  9. Здравствуйте, есть вопрос по поводу создания приложения и его функционала. По нажатию на кнопку должен создаваться компонент, в него должен вводится текст, и по желанию добавлять или не добавляться изображение. Т.е. оно должно работать по типу записной книжки/ каталога. Из этого вышли вопросы: 1) Какой лучше компонент использовать? Я думал по началу что бы вызывалась панель, а на ней был условный ListBox, для которого в edit`e вводилась бы информация. 2) Как позиционировать это? Т.е. возможно ли сделать так, что бы пользователь сам выбирал в какую часть экрана поставить данную запись? Или же лучше сделать просто по добавлению, что бы новое было перед старым? И соответственно, как это сделать? Подскажите пожалуйста как это реализовать, так как я новичок в этом, а хочется понять как это всё устроено и работает.
  10. Ссылка: http://delphifmandroid.blogspot.ru/2016/07/admob.html Автор: Андрей Ефимов Описание: Подробная инструкция по добавлению рекламного блока в приложение, разработанное в RAD Studio.
  11. slav_z

    FMX: Скроллинг и нажатия

    Все разработчики при работе с FMX рано или поздно сталкиваются с одной и той же проблемой: необходимо исключить "случайное" срабатывание нажатий элементов внутри скроллбокса во время его скроллинга. Идут годы, а решения так и нет. Давайте попробуем это исправить. Поехали! Запускаем IDE, создаем новый проект, кидаем на форму TVertScrollBox и на него чего-нибудь побольше... запускаем на мобильном устройстве, пытаемся скроллировать, получаем проблемы в виде срабатывания разных событий типа OnClick элементов. Решение состоит в том, чтобы сделать элементы "невидимыми" для событий связанных с действиями пользователя с экраном во время скроллинга. Делаем следующее: Все. Переносим код в базовую форму, делаем его более гибким, убираем все те костыли, которые мы уже успели сделать ранее... Удачи! https://github.com/slav-libx/scroll-click.git
  12. Итак, я установил себе новую Delphi 10.4 CE, так как у старой Delphi 10.3 CE кончился годовой срок. Однако, у меня возникла проблема с разработкой, точнее - с компиляцией приложений для Android. Дело в том, что в поставке новой Embarcadero RAD 10.4 отсутствует AVD Manager (эмулятор для Android), что вы и можете видеть на втором скрине. А когда я пытаюсь использовать старый, из набора Embarcadero RAD 10.3, компиляция вылетает с ошибкой, которую вы можете видеть на первом скрине.
  13. Yarpda

    Работа с календарем Google

    Подскажите пожалуйста есть ли какая-то информация по работе с Google календарем из FMX? Может быть у кого-то есть практика работы с ним? На форуме информации по этому поводу никакой не нашел. Интересует вопрос чтения и создания событий в календаре. Заранее благодарю.
  14. Здравствуйте! Создаю медиаплеер для Android TV. Запускаю плеер, нажимаю на условную кнопку, которая делает следующее: MediaPlayer1.FileName:='/storage/emulated/0/download/1.mp4'; После нажатия вылетает окошко с надписью: java.lang.java.lang.illegalargumentexception после закрытия окошки нажимаю на play, но ничего не происходит. Подскажите, пожалуйста как исправить это?
  15. Итак, я пробовал использовать компоненты AppTethering для передачи данных между VCL-приложением работающим под Windows и мобильным FMX-приложением и потерпел неудачу, так как выяснилось что потоки данных данные компоненты на деле не передают. И у меня возник вопрос: а нет ли каких других компонентов в современной Embarcadero Studio, которые бы позволяли передавать как строковые данные, так и файлы между приложениями? Особенно меня интересуют все же файлы.
  16. Доброе время суток. У меня есть код, который отправляет данные, в частности файлы, из одного приложения в другое, используя технологию AppTethering. Вот код, который отправляет данные: var ImageToStream : TMemoryStream; begin ImageToStream := TMemoryStream.Create; ImageToStream.LoadFromFile('Здесь находится путь к файлу'); ImageToStream.Position := 0; TetheringAppProfile1.Resources.FindByName('ImageTransfer').Value := ImageToStream; ImageToStream.Free; end; А вот который принимает: procedure TForm1.TetheringAppProfile1Resources3ResourceReceived( const Sender: TObject; const AResource: TRemoteResource); var GetImage : TMemoryStream; begin GetImage := TMemoryStream.Create; GetImage.Position := 0; GetImage.LoadFromStream(AResource.Value.AsStream); ImageViewer1.Bitmap.LoadFromStream(GetImage); GetImage.Free; end; Пока передача данных идет между двумя Windows-приложениями, все работает прекрасно. Однако, когда я пытаюсь отправить данные от Windows-приложения в Android-приложение, которое исполняется на смартфоне, подключенном к компьютеру через USB-шнур, данные не проходят.
  17. Ребята, подскажите пожалуйста, мне нужно скопировать файл средствами delphi xe7 из директории android /data/data/com.blaaa/ на sd card. Использование TFile.copy приводит к сообщению Permission denied, хотя устройство рутировано и файловым браузером я до этого файла легко добираюсь. Подскажите как мне скопировать файл? И если не сложно с комментированным примером-кодом. Заранее благодарен за помощь.
  18. Серия статей с пошаговой инструкцией, как подключить и настроить Android, OS X, iOS Simulator, iOS для работы с RAD Studio. Как настроить Android и RAD Studio XE7 (Delphi, C++ Builder) http://habrahabr.ru/company/delphi/blog/253929/ Как настроить Mac OS X, iOS-симулятор и RAD Studio XE8 (Delphi, C++ Builder) http://habrahabr.ru/company/delphi/blog/255721/ Как настроить iOS-устройство и RAD Studio XE8 (Delphi, C++ Builder) http://habrahabr.ru/company/delphi/blog/265313/
  19. Здравствуйте. У меня такая проблема. Пытаюсь скачать файл: var S : TMemoryStream; begin S := TMemoryStream.Create(); IdHTTP1.Get('http://sitename.com/7UlmBU7IXHA.jpg', S); S.SaveToFile('/storage/emulated/0/ImageFile.jpg'); S.Free; end; Проблема возникает на последней стадии - при сохранении файла. Android пишет, Cannot create file: '/storage/emulated/0/ImageFile.jpg'. Permission denied, то есть доступ запрещен. Но как его разрешить? Когда я устанавливаю приложение, система пишет, что никаких разрешений данная программа не требует.
  20. Здравствуйте. Как указываются пути к каталогам и файлам в Android? Скажем, в Windows я указываю такой путь: C:/Windows/Folder, а как это делается в Android? Особенно меня интересует, как обратиться к корневому каталогу, для создания там новой папки или файла, в Windows это C:/, или D:/ а тут как?
  21. Набрел на хабре на интересную статью о новом сервисе Appodeal (Внимание! Ссылка реферальная, вам все равно, а мне приятно ;-) ). Если крато, то это агрегатор/оптимизатор рекламы в мобильных приложениях, с гибкими выплатами на Яндекс.Деньги, WebMoney и т.п. Но SDK только Java. Самостоятельно интеграцию не осилю. А их заинтересовать в создании компонентов для Delphi в одиночку не могу. Если кому интересно, пните их вопросом о интеграции с Delphi, или напишите ее сами ;-) Готов даже заплатить разумную сумму за готовый компонент. P.S. Не сочтите за рекламу, к Appodeal никакого отношения не имею.
  22. Господа Delphi-программисты под Android (FireMonkey), Нужна ваша помощь или совет в направления решения в несложной, достаточно типичной и прозрачной задаче: Я хочу выполнять некоторые вычисления (или выдавать Toastы) через каждые 30 сек. в Android-приложении. Что-то типа сервиса (службы): Приложение запускает задание и может закрываться, но периодические вычисления продолжаются (результат сохраняется, допустим, в ini - не важно пока), т.е. служба работает. Я не знаю, как это решить: 1. Организовал как сервис. Сервисы убиваются androidом ... И это политика androidов: экономить батарию и т.д. 2. Сделал через AlarmManager. Тоже это не работает на MI 9T (Android 10: API 29). На старых (Android 4...: API 19) всё работает. 3. Хотел использовать job scheduler: добавлять задания и удалять исполненные. Но не знаю как. ничего не нагуглил под Firemonkey. Может кто знает? Какие ещё варианты и вообще, это решается на Firemonkey Delphi XE 10.3.3? На поиск решения мною потрачено много время - сдвинуться не могу. Если Delphi это не умеет, так и скажите - перепрыгну на другую платформу. Может Delphi об этом думает, чтоб это скоро реализовать? В интернете тишина. Если Delphi это умеет, просьба дать идею или совет или пример ...
  23. Всем привет, с помощью Java2Op сделал обертку библиотеки получил модуль с интерфейсами. Теперь сам вопрос в JavaInterfaces.pas есть описание: JUsbManagerClass = interface(JObjectClass) ['{1048A6E9-E1B5-4DA5-A168-ED91E8DE5284}'] {class} function _GetACTION_USB_ACCESSORY_ATTACHED: JString; cdecl; {class} function _GetACTION_USB_ACCESSORY_DETACHED: JString; cdecl; {class} function _GetACTION_USB_DEVICE_ATTACHED: JString; cdecl; {class} function _GetACTION_USB_DEVICE_DETACHED: JString; cdecl; {class} function _GetEXTRA_ACCESSORY: JString; cdecl; {class} function _GetEXTRA_DEVICE: JString; cdecl; {class} function _GetEXTRA_PERMISSION_GRANTED: JString; cdecl; {class} function getAccessoryList: TJavaObjectArray<JUsbAccessory>; cdecl;//Deprecated {class} function openAccessory(accessory: JUsbAccessory): JParcelFileDescriptor; cdecl;//Deprecated {class} function openDevice(device: JUsbDevice): JUsbDeviceConnection; cdecl;//Deprecated {class} procedure requestPermission(device: JUsbDevice; pi: JPendingIntent); cdecl; overload;//Deprecated {class} property ACTION_USB_ACCESSORY_ATTACHED: JString read _GetACTION_USB_ACCESSORY_ATTACHED; {class} property ACTION_USB_ACCESSORY_DETACHED: JString read _GetACTION_USB_ACCESSORY_DETACHED; {class} property ACTION_USB_DEVICE_ATTACHED: JString read _GetACTION_USB_DEVICE_ATTACHED; {class} property ACTION_USB_DEVICE_DETACHED: JString read _GetACTION_USB_DEVICE_DETACHED; {class} property EXTRA_ACCESSORY: JString read _GetEXTRA_ACCESSORY; {class} property EXTRA_DEVICE: JString read _GetEXTRA_DEVICE; {class} property EXTRA_PERMISSION_GRANTED: JString read _GetEXTRA_PERMISSION_GRANTED; end; [JavaSignature('android/hardware/usb/UsbManager')] JUsbManager = interface(JObject) ['{6F603A25-E816-4012-9B23-054B428A4A75}'] function getDeviceList: JHashMap; cdecl;//Deprecated function hasPermission(device: JUsbDevice): Boolean; cdecl; overload;//Deprecated function hasPermission(accessory: JUsbAccessory): Boolean; cdecl; overload;//Deprecated procedure requestPermission(accessory: JUsbAccessory; pi: JPendingIntent); cdecl; overload;//Deprecated end; TJUsbManager = class(TJavaGenericImport<JUsbManagerClass, JUsbManager>) end; Что бы получить доступ к методам интерфейса используется следующая конструкция: JavaObject := TAndroidHelper.Context.getSystemService(TJContext.JavaClass.USB_SERVICE); FUsbManager := TJUsbManager.Wrap((JavaObject as ILocalObject).GetObjectID); теперь я могу получить доступ к методам JUsbManager, а как получить доступ к методам JUsbManagerClass Вот пример кода на Java, который хочу реализовать в Delphi: UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE); List<UsbSerialDriver> availableDrivers = UsbSerialProber.getDefaultProber().findAllDrivers(manager); if (availableDrivers.isEmpty()) { return; } // Open a connection to the first available driver. UsbSerialDriver driver = availableDrivers.get(0); //Вот тут мы видим что из экземпляра класса мы вызываем openDriver, как это сделать в Delphi UsbDeviceConnection connection = manager.openDevice(driver.getDevice()); Как мы можем заметить этого метода в описании интерфейса нет, но есть в классе, как получить доступ к экземпляру класса?
  24. Доброго дня уважаемые форумчане! Есть одна задача, но я не совсем уверен, что так можно, прошу совета. В общем есть приложение, в ней база данных SqlLite (файл базы данных деплоится в assets\internal\). Пользователь наполняет эту базу данных своими данными. Необходимо сделать возможность экспортирования этих данных на внешний носитель и последующего импортирования уже на другом устройстве. Вопрос, даст ли система экспортировать свой файл из assets\internal и главное импортировать его (т.е. фактически заменить существующий файл базы данных) в папке assets\internal на другом устройстве? (предполагается что root прав у пользователя нет). Если да, то можно вкратце объяснить порядок действий (желательно с указанием запрашиваемых и статичных разрешений на это дело, путей обращения к файлам). Если нет, то каким образом тогда это можно сделать (формировать промежуточный файл с данными БД, а потом его обрабатывать на другом устройстве средствами СУБД)? P.S. Такая задача встала впервые, не очень разбираюсь в теме безопасности на Андроид устройствах и работе с файлами приложения напрямую, поэтому прошу помощи, может быть кто-то уже сталкивался с подобной задачей. Заранее спасибо! )
  25. Приложение зарегистрировано для обработки файла по типу через файл манифеста (неявное намерение). <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="text/xml" /> </intent-filter> В списке выбора появляется. Как корректно в приложении получить содержание Intent (имя файла, путь)? Пробовал реализовать через подписку на получение сообщения на изменение статуса приложения: TMessageManager.DefaultManager.SubscribeToMessage(TApplicationEventMessage, DoApplicationEventChanged); При этом событие вызвавшее активацию определить можно, но вот как добраться до Intent не пойму: procedure TForm1.DoApplicationEventChanged(const Sender: TObject; const Message: TMessage); var Intent : JIntent; app_data : TApplicationEventData; begin if not(Message is TApplicationEventMessage) then exit; app_data := TApplicationEventMessage(Message).Value; case app_data.Event of FinishedLaunching, BecameActive : .... end; end; Что-то застрял я на этом. Как вообще добраться до открывшего приложение Intent? Если реализовывать через IFMXApplicationEventService вопрос в итоге такой же. Если есть описание реализации аналогичного функционала для iOS, буду благодарен.
×
×
  • Создать...