Перейти к содержанию
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. На незначительном количестве устройств, менее 0,1%, получаю ошибку "Bitmap size too big" при AImage.Bitmap.LoadFromStream(AMemoryStream). Подозреваю что ошибка происходит на слабых устройствах. Картинка 250х250 png. Код выполняется в основном потоке (в интернетах были упоминания что глючит эта операция в отдельном потоке на каких то версиях Delphi). Как предотвратить подобное? Можно как то определить максимальный размер картинки для текущего устройства? Или может дело не в свободной памяти, а в чем то еще?
  2. Ссылка на статью. Автор: Александр Бирюков В статья я максимально подробно попытался описать работу с PHP скриптом для рассылки Push сообщений из любой программы вне зависимости от платформы. Затрагивается вопроса от экспорта скриптов до кода программы: отправка и получение Push, регистрация устройств. Надеюсь кому-нибудь пригодится. Буду рад комментариям, обоснованной критике и доработкам.
  3. Здравствуйте! У меня проблемы при создании Android программ. Когда компилирую проект и запускаю его из среды Delphi сразу на мобильник, то первый раз программа еще работает, а во второй-третий раз на мобильнике показывается только заставка с огнем, а потом черный экран, а в самой среде в самом низу (где Event log и где обычно показываются процессы) - ничего нет, пусто. Потом приходится перезапускать Delphi. У меня есть подозрения, что я неправильно настроил Delphi. Не могли бы гуру взглянуть на мои настройки и указать на мои ошибки? Скриншоты приложил, спасибо. P,S, Delphi 10.1
  4. Проблема давняя, хочется наконец разобраться с ней. Вот создал тестовый пример, в котором приложение 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
  5. Всем доброго дня. Прошу помочь, любая малейшая подсказка прояснит ситуацию. Сделал русскоязычное Андроид приложение на Delphi XE8. Использовал SQlite в своем проекте. Работает отлично, оттестировал на Android 6.0 и Android 4.5 на двух разных аппаратах. Прежде чем делать мультиязычное приложение, решил проверить как оно будет работать, если язык системы будет отличным от русского. Поставил английский-United Kingdom и приложение не запустилось, вернее пошла заставка, после нее приложение просто закрылось без ошибок. То же самое при французском, испанском системных языках. А вот при немецком и украинском языке системы - работает. В чем здесь дело никак не могу понять и куда копать. Приложение не могу предоставить - слишком большое.
  6. На форме два TEdit KeyboardType у первого = NamePhonePad у второго = Alphabet при переходе фокуса клавиатура остается такой, какая была при входе в первый из Edit'ов как принудительно поменять тип клавиатуры?
  7. Multi device application Работаю с WebBrowser и появляется такая проблема что компонент дублируется появляется тоненькая полоска (пикселей 10 или 5 ) которая работает отдельно (т.е можно скролить страницу в разные направления , поэтому складывается впечатление что данный компонент Дублируется ) Вверху tabcontrol к нему добавлен Эффект shadow внизу twebBrowser Align =Client И все эти компоненты лежат на panel Align =client Тестирую на экране 5.5 Естественно вопрос что произошло и как это исправить
  8. Привет всем! Кодить начал на андроид совсем недавно возникают некие проблемы и спорные вопросы, и перейду сразу к вопросу как пользоваться BoringSSL под Андроид 6 и ниже, возможно ли использовать BoringSSL на андроидах ниже 6, и как реализовать сие чудо! З.Ы если есть возможность опишите по подробнее... (дело в том что я хочу спрарсить парочку постов с паблика VK)
  9. Как залить с Delphi Android в базу MySql строки, я примерно понял - составляем GET запрос и вставляем строки в параметры, затем считываем их в PHP скрипте и в базу. А вот как быть с картинкой. Как добавить картинку через PHP скрипт из программы на Android? POST запрос? Кто нибудь делал такое уже? Спасибо P.s. На данный момент FireDAC не поддерживает работу с MySQL из под Android. Пока только SQLite и InterBase ToGo. Даже если в будущем будет поддерживать, многие на этом форуме рекомендуют не использовать прямое подключение к базам из под мобильных систем, а использовать прямые GET запросы к примеру к PHP скриптам. Это связано с нестабильностью интернета т.к. так интернет может часто переключаться (от вышки к вышке) и менять параметры подключения.
  10. я знаю что можно добавить внешний файл в программу по пути (assets\internal)(скриншот) (раньше получали к нему доступ через)loadfromfille(GetDocumentsPath()+"test.txt")Сейчас GetDocumentsPath убрали из RadStudio и походу заменили чем то.я использовал в свой программе директорию loadfromfille(GetHomePath()+"test.txt"), но я не знаю куда мне добавить программу через deploymant (скриншот)Тоесть1)GetDocumentsPath = (assets\internal) 2)GetHomePath= ??????3)GetDocumentsPath убрали из radstudio. Какую мне прописать директорию чтоб я имел к ней доступ через GetHomePath()??
  11. Если Wi-Fi на телефоне работает в режиме клиента (подключается к внешней точке доступа), то как с ним работать понятно. Если же Wi-Fi на телефоне (ОС Android) работает в режиме персональной точки доступа, то как из программы получить свой ip-адрес и другие параметры сети. Кто знает, помогите, желательно исходный код на Delphi.
  12. Если Wi-Fi на телефоне работает в режиме клиента (подключается к внешней точке доступа), то как с ним работать понятно. Если же Wi-Fi на телефоне (ОС Android) работает в режиме персональной точки доступа, то как из программы получить свой ip-адрес и другие параметры сети. Кто знает, помогите, желательно исходный код на Delphi.
  13. TThread.ForceQueue не работает в Android. Но можно утешить себя тем, что отлично работает в Windows ;-) Код следующий: 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.Memo, FMX.Controls.Presentation, FMX.ScrollBox; type TForm1 = class(TForm) Memo: TMemo; procedure FormShow(Sender: TObject); private { Private declarations } public { Public declarations } procedure MyLog(AMessage : String); procedure TestForceQueue; end; var Form1: TForm1; implementation {$R *.fmx} procedure TForm1.TestForceQueue; begin MyLog('In main thread start'); TThread.ForceQueue(Nil, procedure begin MyLog('In ForceQueue start'); TThread.Sleep(2000); MyLog('In ForceQueue stop'); end); MyLog('In main thread stop'); end; procedure TForm1.FormShow(Sender: TObject); begin TestForceQueue; end; procedure TForm1.MyLog(AMessage : String); Var ATime : String; LMessage : String; begin DateTimeToString(ATime, 'dd.mm.yyyy hh.nn.ss.zzz', Now); LMessage:=ATime + ' ' + AMessage; TThread.Synchronize(Nil, procedure begin Memo.Lines.Add(LMessage); end); end; end. В Windows все работает как ожидается: В андроиде ситуация следующая: Т.е. нифига не работает. Тестовый проект прилагаю. test094 ForceQueue test.7z
  14. Обнаружил очередной глюк Tokyo - сломали Text в Android. А именно порушили раскраску символов Юникода. Воспроизводится просто : procedure TFormMain.FormCreate(Sender: TObject); Var Text1: TText; begin Text1:=TText.Create(Self); Text1.Text:='|' + Char($2713) + '|'; Text1.Font.Size:=48; Text1.Color:=TAlphaColorRec.Red; Text1.Align:=TAlignLayout.Client; Text1.TextSettings.HorzAlign:=TTextAlign.Center; Text1.TextSettings.VertAlign:=TTextAlign.Center; FormMain.AddObject(Text1); end; На первом скриншоте этот код выполнен в Berlin, все выглядит как задуманно. На втором скриншоте этот же код в Tokyo.
  15. MediaPlayer.FileName := System.IOUtils.TPath.GetDocumentsPath + PathDelim + 'zakaz.mp3'; MediaPlayer.Play; Вот такой простой код. При отладке ничего не выдает молча падает. Можно как-то проверить, что файл физически туда деплоится? Нужны ли какие-то дополнительные права приложению?
  16. Ссылка: http://blog.rzaripov.kz/2017/04/android.html Автор: @Равиль Зарипов (ZuBy) Описание: Устанавливаем тему для нативных диалогов в Android
  17. Добрый вечер. У меня такая проблема - мне нужно, чтобы Android приложение по нажатию на кнопку (к примеру) выдавало диалог, где будет видна файловая система (или спрашивала другое доступное приложение, типо X-PLORE), чтобы я мог выбрать файл ( фотографию к примеру) и нажав "окей" чтобы путь запомнился в какую-нибудь переменную.
  18. Здравствуйте. Я хотел бы позвонить из Java для создания и .so библиотеки с Delphi. Я получаю такие сообщения об ошибках A/libc: Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 16883 (com.nativefmx) Оригинальный шаблон кода C. #include <string.h> #include <jni.h> jstring Java_com_nativefmx_Main_getName(JNIEnv* pEnv, jobject pObj) { return (*pEnv)->NewStringUTF(pEnv, "Hello NDK!"); } Delphi код библиотеки. library fmx; uses Androidapi.Jni; function Java_com_nativefmx_Main_getName(pEnv: PJNIEnv; pObj: JNIObject): JNIString; cdecl; begin Result := (PEnv^).NewStringUTF(pEnv, MarshaledAString(Utf8Encode('Delphi Native String'))); end; exports Java_com_nativefmx_Main_getName; begin end. Java код. package com.nativefmx; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class Main extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); TextView tv = (TextView) findViewById(R.id.tv); tv.setText(getName()); } public native String getName(); static { System.loadLibrary("fmx"); } }
  19. Для проведения опытов на Delphi XE8 использовал два планшета Android: - Lenovo TAB S8-50LC на базе процессора Intel Atom Z3745: http://www.ixbt.com/portopc/lenovo-tab-s8-50lc.shtml. На нем установлен Android версии 4.4.2. Подключил к USB и, как не странно, тестовая программка "Hello World!" успешно запустилась, хотя думал, что с процессором Intel вообще ничего не получится; - Prestigio Multipad PMT5777_3G с процессором ARM MediaTek MT8382. На нем установлен Android 4.2.2. Затем на форму красного цвета бросил зеленый TRectangle, присвоил Align значение Client, а также добавил желтую рамку с помощью свойства Stroke (Thinkness=10). Запустил на Prestigio - выглядит нормально, если не считать не дорисованных уголков (см. красные квадраты). Кстати, на Windows уголки рамки отображаются нормально. MainForm.Top = 25 - видимо, смещение от статус-бара. Затем запустил на Lenovo и результат получился не такой красивый. Как видим, верх формы почему-то "уехал" за статус-бар, а ее свойство Top равно 0: ------------------------------------------------------------------------------------------------------------------------------------ Поворачиваем планшеты на 90 градусов. На Prestigio все выглядит нормально: На Lenovo произошло какое-то расстройство: Как я понял, на Lenovo возникают проблемы с получением высоты статус-бара и размеров экрана при повороте планшета, но с чем это связано - непонятно. Возможно решение где-то в FMX.Platform.Android или глубже. По крайней мере там переменная FStatusBarHeight равна нулю. На моем примере ниже можно получить правильные размеры и позицию для формы (в т.ч. с учетом статус-бара): NativeWin := SharedActivity.getWindow; if NativeWin <> nil then begin ContentRect := TJRect.Create; DecorView := NativeWin.getDecorView; DecorView.getWindowVisibleDisplayFrame(ContentRect); end;
  20. Добрый день. Имеется приложение, которое реализовано в портретной и альбомной ориентации. При повороте экрана срабатывает событие TForm.OnResize, в котором производятся изменения размеров и положения элементов. В Андроиде при повороте все происходит плавно, а в iOS на долю секунды мигает экран с изменённым положением контролов и только потом перерисовывается. Почему так происходит и как это можно исправить?
  21. Есть прога(c++) на сервере под Windows. К ней подключаются девайсы под андроид и проверяют обновление некого андроид-приложения. Прога на сервере должна узнать версию лежащего локально apk-файла и сообщить ее девайсу. Теоретически можно с помощью aapt получить AndroidManifest.xml файл и вытащить версию от туда. А если ли какие стандартные средства, чтобы узнать версию APK под Windows?
  22. Для работы с USB-устройствами (на девайсах с USB-хостом) нужно использовать BroadcastReceiver. Нашёл пример работы с ними (https://github.com/freeonterminate/delphi/tree/master/BroadcastReceiver). Проверял на XE10. Долго мучался с проверкой, пока не выяснилось, что под XE7 работает, а под XE10 - нет. Выдаёт ошибку "Interface not supported" в момент создания JFMXBroadcastReceiver (или около того, точно непонятно). Для демонстрации я создал отдельный простой проект - https://github.com/ashumkin/Delphi-Android-BroadcastSample. В XE7 он работает (при нажатии на кнопку Register вешается слушатель, который ловит и выводит в лог (см. adb logcat) события включения/выключения экрана). А в XE10 - выдаёт вышеупомянутую ошибку "Interface not supported". В логах есть строки W/dalvikvm(31735): dvmFindClassByName rejecting 'com/embarcadero/firemonkey/broadcast/FMXBroadcastReceiverListener' W/dalvikvm(31735): dvmFindClassByName rejecting 'com/embarcadero/firemonkey/broadcast/FMXBroadcastReceiver' (но они есть и при запуске приложения, собранного в XE7) Пробовал по-разному: и удалял AndroidManifest.template.xml от XE7, и пересоздавал .dproj в XE10, - пофик. В чём засада?
  23. Доброго времени суток! У меня вопрос, если можно объясните пожалуйста: я пишу программу с помощью С++ builder Seattle 10 (версия) для андроид платформы, но возникает проблема с загрузкой AUDIO файлов, в *.apk файл не грузится аудиофайлы. Невозможно изменить playaudiofile коды в sample. Объясните как можно чтобы аудиофайлы грузились в андроид платформы. Спасибо за ответ!
  24. Как узнать что MediaPlayer закончил воспроизведение аудио/видео файла? С 2015 года что-нибудь изменилось?
  25. Пытаюсь из сервиса вывести лог, но в monitor ничего не приходит. Для примера вот тестовый проект Проверьте, как у вас? PS. Из приложения лог приходит нормально
×
×
  • Создать...