Перейти к содержанию
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. Здравствуйте! Уже почти неделю пытаюсь завести библиотеку 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
  2. Решаю задачку разработки приложения камеры для использования из сторонней программы в 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) можно сделать?
  3. Привет Всем! vkbdhelper.pas Давно пользовался vkbdhelper'ом, но он был только для андроида. руки добрались и до этого, теперь его можно использовать и на IOS изменения * почистил uses секцию * убрал зависимость от платформ (кросс-платформенный) * добавил глобальную переменную VKOffset VKOffset - расстояние между контролом и клавиатурой для тех случаев когда включены подсказки/автозамена и контрол оказывается под доп. панелькой Не все клавиатуры включают доп. панели в свой размер! Например для IOS нужно всегда прибавлять 30-32 пикселя, панель с кнопкой Done перекрывает контрол {$IFDEF IOS} VKOffset := 31; {$ELSE} VKOffset := 0; // на свой вкус // не знаю как определить размер доп. панельки // когда она не входит в размер клавиатуры // и определить есть ли панелька вообще... {$ENDIF} vkbdhelper.zip
  4. Пытаюсь добавить свою иконку для Android приложения. Указываю все их в свойствах проекта. В настройках Deploy они тоже есть. Однако, при установке приложения на рабочем столе вместо моей иконки стоит дефолтная. Как быть? Может кто сталкивался с проблемой? В папке Android проекта при деплое моя картинка заменяется на дефолтную. А вот изображения из Splash Images нормально отображаются именно те, что я указал. Пробовал на двух разных смартфонах - результат одинаковый.
  5. Шаблон для проектов с покраской статус бара для мобильных платформ UPDATE: StatusBarColor.7z UPDATE2: StatusBarColor_update.zip
  6. У меня есть проект который я сделал года 3 назад в РАД 10.2 Берлин. Управление приборами с помощью апликации на Андроиде через блютуз. Все работало пока я не купил новый мобильник с 10-м Андроидом который сказал что нужно её обновить. Взял новый РАД 11 и скомпилировал свой проект и получил кучу не известно откуда ошибок. Тогда я поставил опять 10.2 и с помощью старых SDK успешно скомпилировал опять проект. Теперь нужно повторить с новыми SDK. В директории SDK есть SDK Manager. Я его запустил и скачал 29 версию. Запустил на компиляцию и получаю ошибку что не хватает файлов. Не понятно почему со старой SDK этих ошибок не было. Какая связь между SDK и отсутствием файлов? Если посмотреть на ошибки то программа ищет файлы находящиеся в include\windows\crtl хотя я строю апликацию для android и это отражено в коммандной строке. error.docx КАк это починить ? Добавить пути к include\windows\crtl ? И куда ?
  7. Здравствуйте, есть вопрос по поводу создания приложения и его функционала. По нажатию на кнопку должен создаваться компонент, в него должен вводится текст, и по желанию добавлять или не добавляться изображение. Т.е. оно должно работать по типу записной книжки/ каталога. Из этого вышли вопросы: 1) Какой лучше компонент использовать? Я думал по началу что бы вызывалась панель, а на ней был условный ListBox, для которого в edit`e вводилась бы информация. 2) Как позиционировать это? Т.е. возможно ли сделать так, что бы пользователь сам выбирал в какую часть экрана поставить данную запись? Или же лучше сделать просто по добавлению, что бы новое было перед старым? И соответственно, как это сделать? Подскажите пожалуйста как это реализовать, так как я новичок в этом, а хочется понять как это всё устроено и работает.
  8. Ссылка: http://delphifmandroid.blogspot.ru/2016/07/admob.html Автор: Андрей Ефимов Описание: Подробная инструкция по добавлению рекламного блока в приложение, разработанное в RAD Studio.
  9. slav_z

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

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

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

    Подскажите пожалуйста есть ли какая-то информация по работе с Google календарем из FMX? Может быть у кого-то есть практика работы с ним? На форуме информации по этому поводу никакой не нашел. Интересует вопрос чтения и создания событий в календаре. Заранее благодарю.
  13. Здравствуйте! Создаю медиаплеер для Android TV. Запускаю плеер, нажимаю на условную кнопку, которая делает следующее: MediaPlayer1.FileName:='/storage/emulated/0/download/1.mp4'; После нажатия вылетает окошко с надписью: java.lang.java.lang.illegalargumentexception после закрытия окошки нажимаю на play, но ничего не происходит. Подскажите, пожалуйста как исправить это?
  14. Итак, я пробовал использовать компоненты AppTethering для передачи данных между VCL-приложением работающим под Windows и мобильным FMX-приложением и потерпел неудачу, так как выяснилось что потоки данных данные компоненты на деле не передают. И у меня возник вопрос: а нет ли каких других компонентов в современной Embarcadero Studio, которые бы позволяли передавать как строковые данные, так и файлы между приложениями? Особенно меня интересуют все же файлы.
  15. Доброе время суток. У меня есть код, который отправляет данные, в частности файлы, из одного приложения в другое, используя технологию 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-шнур, данные не проходят.
  16. Ребята, подскажите пожалуйста, мне нужно скопировать файл средствами delphi xe7 из директории android /data/data/com.blaaa/ на sd card. Использование TFile.copy приводит к сообщению Permission denied, хотя устройство рутировано и файловым браузером я до этого файла легко добираюсь. Подскажите как мне скопировать файл? И если не сложно с комментированным примером-кодом. Заранее благодарен за помощь.
  17. Серия статей с пошаговой инструкцией, как подключить и настроить 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/
  18. Здравствуйте. У меня такая проблема. Пытаюсь скачать файл: 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, то есть доступ запрещен. Но как его разрешить? Когда я устанавливаю приложение, система пишет, что никаких разрешений данная программа не требует.
  19. Здравствуйте. Как указываются пути к каталогам и файлам в Android? Скажем, в Windows я указываю такой путь: C:/Windows/Folder, а как это делается в Android? Особенно меня интересует, как обратиться к корневому каталогу, для создания там новой папки или файла, в Windows это C:/, или D:/ а тут как?
  20. Набрел на хабре на интересную статью о новом сервисе Appodeal (Внимание! Ссылка реферальная, вам все равно, а мне приятно ;-) ). Если крато, то это агрегатор/оптимизатор рекламы в мобильных приложениях, с гибкими выплатами на Яндекс.Деньги, WebMoney и т.п. Но SDK только Java. Самостоятельно интеграцию не осилю. А их заинтересовать в создании компонентов для Delphi в одиночку не могу. Если кому интересно, пните их вопросом о интеграции с Delphi, или напишите ее сами ;-) Готов даже заплатить разумную сумму за готовый компонент. P.S. Не сочтите за рекламу, к Appodeal никакого отношения не имею.
  21. Господа 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 это умеет, просьба дать идею или совет или пример ...
  22. Всем привет, с помощью 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()); Как мы можем заметить этого метода в описании интерфейса нет, но есть в классе, как получить доступ к экземпляру класса?
  23. Доброго дня уважаемые форумчане! Есть одна задача, но я не совсем уверен, что так можно, прошу совета. В общем есть приложение, в ней база данных SqlLite (файл базы данных деплоится в assets\internal\). Пользователь наполняет эту базу данных своими данными. Необходимо сделать возможность экспортирования этих данных на внешний носитель и последующего импортирования уже на другом устройстве. Вопрос, даст ли система экспортировать свой файл из assets\internal и главное импортировать его (т.е. фактически заменить существующий файл базы данных) в папке assets\internal на другом устройстве? (предполагается что root прав у пользователя нет). Если да, то можно вкратце объяснить порядок действий (желательно с указанием запрашиваемых и статичных разрешений на это дело, путей обращения к файлам). Если нет, то каким образом тогда это можно сделать (формировать промежуточный файл с данными БД, а потом его обрабатывать на другом устройстве средствами СУБД)? P.S. Такая задача встала впервые, не очень разбираюсь в теме безопасности на Андроид устройствах и работе с файлами приложения напрямую, поэтому прошу помощи, может быть кто-то уже сталкивался с подобной задачей. Заранее спасибо! )
  24. Приложение зарегистрировано для обработки файла по типу через файл манифеста (неявное намерение). <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, буду благодарен.
  25. В процессе разработки столкнулся с очень странной ситуацией, корни которой до сих пор неясны, но решение нашлось. Итак. Делфи 10.3.3. Чистое приложение - пустая форма и кнопка. Отлично работает на разных устройствах кроме Samsung Galaxy Tab A (2016). Android 5.1.1 Программа падает, не успев даже загрузиться. Любая. При этом она же, скомпилированная на другом компе, запускается нормально. И даже после изменения SDK/NDK на нем, ничего не падает. LogCat дает крайне странную картину java.lang.IllegalArgumentException: Unable to load native library: /data/app-lib/com.embarcadero.Project1-1/libProject1.so Начинаем экспериментировать с SDK, NDK и т.д. Поставил также хотфиксы для 10.3.3. Сразу скажу, SDK/NDK ставились отдельно через Android studio, не скачивались вместе с Delphi. Не торопитесь бросать чтение на этом месте!)) На другом компе, где все работает, все ставилось точно так же. Короче, очень много комбинаций версий SDK/NDK проверено. Результат такой. При постепенном понижении версии NDK все взлетело при NDK v22. При этом версия SDK видимо такого большого влияния не имеет, потому что этот вариант нормально работает Повторюсь. На других устройствах все работало и на более новых Ndk. Xiaomi Mi Pad4 , Samsung Galaxy Tab A (2019), Xiaomi Redmi 5 и 5Plus Спасибо за участие и помощь в разборе завалов @Andrey Efimov
×
×
  • Создать...