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

Andrey Efimov

Модераторы
  • Постов

    842
  • Зарегистрирован

  • Победитель дней

    123

Сообщения, опубликованные Andrey Efimov

  1. 13 минуты назад, Oleksi сказал:

    1. При первом появлении панели после запуска приложения на смартфоне (на разных смартфонах) панелька выдвигается с заметными лагами. Не важно, тянешь пальцем, или нажимаешь связанную с панелью кнопку. Затем уже каждый раз панель выезжает плавно. Вопрос в том, можно ли что-то сделать, чтобы панель предварительно прорисовалась (или чего она глючит) и при первом появлении также не тормозила?

    Пользуемся сначала поиском (или заходим в нужный раздел и просматриваем темы)...

    [TMultiView] Как избежать задержки при первом появлении TMultiView?

  2. В 01.12.2017 в 11:29, devious сказал:

    в андройде видны созданные файлы, подключаю планшет к компу, файла не видно (из Windows), на андройде в проводнике копирую файл и вставлю его там же, файл становится виден из Виндов

    Раньше сталкивался с подобной проблемой, сейчас такого поведения не встречаю.

    1) Проблема была связана с работой от usb-кабеля (если не изменяет память, то было на сони экспириа). Если во время сохранения файла, устройство подключено к компу, то файл не будет виден на компе. Вариант обхода: отключить устройство от компа, поработать в приложении (т.е. сохранить файл), подключить устройство к компу.\

    2) Ещё такое поведение было связано с возможным кэшированием в Андроиде, но это не проверенная мной теория.

    3) Ну и не исключением становятся руки программиста. Бывает такое, что файл хотят сохранять в папку приложения на внешней карте. В итоге путают путь при сохранении и сохраняют файл во внутреннюю память, а потом удивляются, почему это файл не видно. При этом, был случай, когда через файловый менеджер человек заходил во внутреннюю память (видел свой файл) и думал, что зашёл во внешнюю. А с компа заходил во внешнюю и естественно не видел файл, т.к. он был во внутренней памяти. В общем чел. фактор тоже играет свою роль :)

     

    up. По поводу 2 пункта, попробуйте провернуть вот это: Не видны программно созданные файлы

  3. 3 часа назад, karamultuk сказал:

    То есть я хочу в прошивку, которую скачиваю для установки добавлять свое приложение и ставить на свой телефон.

    Попробуйте извлечь файл .so из вашего apk и добавить его в папку /system/lib/. Ну и закинуть apk файл в папку /system/priv-app/.

     

    А вообще вам не сюда, вам на 4pda или xda-developers (англ.)

    На этом форуме разработчики софта, а не спецы по модификации прошивок.

  4. Регулировка звука теперь ошибается на 1%, иногда показывает правильное значение. Ещё заметил, что можно в большой минус уйти :)

    Если регулировать звук через систему, то значение в приложении не меняется, т.е. в системе выставил 20, а в приложении так и осталось 56.

     

  5. 10 минут назад, OnePeople сказал:

    А здесь наверно добавлю webbrowser, там потом перекидывает на страницу проверки на бота(

    Я бы добавил кэширование, т.к. у меня большие сомнения насчёт того, что три этих раздела обновляются каждую минуту.

    А так получится: один раз загрузили список (ки), сохранили кэш часов на 6/12. (Отслеживать можно по дате/времени изменения файла, я так делаю в одном приложении под Андроид)

    При повторном обращении к категории, проверяем есть ли кэш:

    • Если есть и ещё не прошло 6/12 часов с последнего обновления кэша, то выдаёт список из кэша.
    • Если есть и прошло уже больше 6/12 часов, то обновляем кэш и выводим новый список.
    • Если нет, то создаём кэш и выводим список.
  6. 31 минуту назад, OnePeople сказал:

    У меня что то не воспроизводится этот баг(((

    Он какой-то рандомный, в общем сложности было уже три раза при разных условиях.

    31 минуту назад, OnePeople сказал:

    Так он же есть, там где отображается название выбранной категории это поле поиска)

    Ага, точно, не обратил внимание. Подумал, что это просто ToolBar или что-то подобное для вывода названия категории и списка категорий.

    Вот ещё, если быстро переключаться между категориями "Новинки/Популярное/ТОП-100/", то иногда список заполняется с промежутками, либо не полностью и в конце вообще перестаёт выводит список (скрин) по любому запросу, даже если просто "искать". Перезапуск тоже не помогает, наверно ограничение со стороны сайта...

    Скрытый текст

    Снимок.PNG

     

  7. 10 часов назад, OnePeople сказал:

    И точно, зачем то браузеру нужны были права администратора)

    Перезалил, с небольшими исправлениями и увеличенной областью нажатия на прогрессы)

    Оставил ListBox, но добавил ручной скролл колёсика мыши с небольшой анимацией)

    Как такое решение с началом закачки файла?

    Andrey Efimov, спасибо за отзыв;)

    Отлично!

    Теперь нормально работает: перемотка, регулировка звука. Стало удобнее кликать по полоскам. После завершения воспроизведения, значок меняется. Ну и главное теперь видно, что загрузка началась, даже если она сразу же завершилась :).

    Был замечен другой баг, но пока не понял, что предшествовало его появлению. В этот момент нельзя свернуть окно, кнопка просто не реагировала.

    Скрытый текст

    Снимок.PNG

    Ещё косяк, проценты в регулировке звука не совпадают с системным регулятором. Выставляю в программе 50%, а в системном меняется на 67 (из 100), 36% = 55 и т.д. При этом 100% в приложении = 100 в системе.

    Стоит добавить поиск, может даже алфавитный указатель :)

  8. 4 часа назад, om.pranayama сказал:

    Если приложение свернуть, а затем развернуть - то появляются жуткие глитчи в ввиде чёрных фонов вокруг компонентов, типа TImage, TButton.

    Подобное поведение наблюдалось на Delphi 10.2. Вроде этот баг исправили в 10.2.1, хотя могу ошибаться... Если нет, то возвращайтесь пока на 10.1.2 (Berlin upd 2).

     

    30 минут назад, om.pranayama сказал:

    Дело в том, что отловить "сворачивание" в Android удалось через OnSaveState событие главной формы, а вот OnActivate и OnShow у меня почему-то не хендлятся, когда Android приложение "разворачивается". Решил свою дилемму путём булевого флага, который выставляю в событии OnPaint формы, чтобы "понимать", что приложение было развёрнуто и отображено пользователю.

    Такое вот костыльное adhook решение у меня вышло :) Если подскажите как можно решить его покрасивей - буду признателен.

    О том как и когда ловить события я писал здесь: Очередь событий Delphi приложения на Android

    Обратите внимание на события: BecameActive, WillBecomeForeground, WillBecomeInactive, OnSaveState

  9. Приложение получилось хорошее.

    Мои мысли и заметки:

    • Мне кажется было бы лучше добавить тоненькую полоску загрузки для каждого скачиваемого трека прямо в списке, т.к. я например не сразу понял "началась загрузка или нет...", потом уже заметил в углу "кнопку с облаком".
    • Если использовали ListBox для вывода списков, то рекомендую переписать на ListView, чтобы скролинг не дёргался.
    • Глючит перемотка: не сразу перематывает на нужное место, сначала рандомно начинает играть другое место, а потом перескакивает на то, которое выбрал я.
    • Очень тонкие полоски перемотки и регулировки звука, либо полоски сделать шире, либо расширить область для клика по полоске. Можно ещё ползунок добавить при необходимости.
    • После окончания воспроизведения трека, значок остаётся в состоянии "пауза". След. трек не включается автоматически (хотя, тут не знаю, может и не должен вовсе...)
    • Полоса для регулировки звука работает через раз.

    Тестил на Windows 10 1703 (15063.674).

  10. 2 часа назад, Akad сказал:

    Если бы {$ZEROBASEDSTRINGS OFF} работало, то я бы понял. Но оно не даёт под андроидом ни какого эффекта.

    Отлично работает. Проверил на Андроиде в Berlin 10.1.2 и Tokyo 10.2.1, скрины ниже. К слову, в исходниках студии есть файлы в которых используется эта директива и всё прекрасно работает.

    Скрытый текст


    Berlin.png

     

    Tokyo.png

     

    С библиотекой pascalc не сталкивался, поэтому ничего конкретного не подскажу.

  11. 5 часов назад, Akad сказал:

    Как известно строки на мобильных ОС последних версий студии не соответствуют стандартам Pascal/Delphi - нумерация начинается с нуля и так далее. Что мягко говоря доставляет при разработке кросс-платформенных приложений. Особенно с библиотеками из до-XE эры.

    Встречал на западных форумах упоминания для более ранних XE хак исправляющий этот идиотизм. Но то, что скачивал - на заработало под 10.2, даже после доводки напильником. Может у кого под 10.2 рабочий завалялся?
     

    Рекомендую ознакомиться с официальной документацией:

    Migrating Delphi Code to Mobile from Desktop

    Zero-based strings (Delphi)

  12. Если не изменяет память, то:

    Компонент TNetHttpClient это просто обёртка над THttpClient. В этой обёртке и реализована асинхронность, посредством создания отдельного потока. Если по каким-то причинам не хочется использовать TNetHttpClient с асинхронным режимом, то берёте THttpClient и запихиваете в отдельный поток.

    На 100% точность не претендую, но когда стоял вопрос, что использовать в одном из приложений, выбор был сделан в пользу TNetHttpClient, т.к. уже всё, что нужно написали за нас :) (только использовать студию не ниже Berlin, т.к. в Seattle были какие-то проблемы с асинхронностью)

     

    p.s. Если приложение для мобильных устройств - то юзайте TNetHttpClient (THttpClient). С indy компонентами на моб. устройствах проблемы.

  13. 3 часа назад, Rusland сказал:

    У меня почему- то не работает Доступные сети. Пишет Всего:0 и сети не ищет (галочка Сканирование стоит).

    DHCP информация тоже пуста. Не знаю, может так и должно быть.

     

    UPD: DHCP информация через какое-то время появилась

     

    PS. Redmi Note 4 Snapdragon

    Проблему определили в чате телеграма, заключается она в том, что разработчики MIUI 8.2.10 опять изменили обработку разрешений.

  14. Делайте проще:

    Один раз добавили СДК, студия подхватит версию Android SDK Tools. Всё, про эти цифры в студии забываем, они роли не играют.

    Далее, допустим вы добавили СДК со скаченными инструментами для АПИ 19, но позже захотелось добавить новое АПИ 26. Заходите в SDK Manager и скачиваете новое АПИ (ваш скрин из предпоследнего сообщения), также обновляете всё, что установлено во вкладке Tools. Теперь заходите в студию, параметры и меняете пути, жмёте ок. Всё, готово. В идеале, надо ещё NDK обновлять.

  15. Смотрите мои скрины:

    Студия:

    Скрытый текст

    Снимок.PNG

    Добавил этот же SDK:

    Скрытый текст

    new.PNG

    Студия уже пишет другую версию, я так понял она подхватывает из Android SDK Tools.
    Теперь смотрим, что на самом деле у меня установлено:

    Скрытый текст


    sdkm.PNG

     

    sdkm2.PNG

     

     

  16. 21 минуту назад, x11 сказал:

    Добавленную куда?

    У меня скачано несколько SDK: 21, 24, 25, 26.

    Не помню как, мне удалось в настройках Delphi добавить 25ю (или 24ю). Потом я скачал 21 и 26. И как мне их добавить?

    Вы что скачиваете каждый раз полный пакет SDK, ставите в отдельную папку и отдельно добавляете в Студию? (Если так, то объясните, какой в этом смысл?)

    На вашем первом скрине видно, что версия 25 уже есть, выберите её и там измените версию АПИ. Есть одно но - это сработает, если ответ на мой вопрос будет отрицательным.

    Если ответ положительный, то я вам тут не помогу, т.к. у меня стоит один пакет СДК и уже в нём я скачиваю/обновляю всё, что мне нужно. Например вышла новая версия АПИ, зашёл в SDK Manager и скачал. В студии, просто изменил пути до АПИ.

    Вот ваш скрин:

    Скрытый текст

    Screenshot_3.png.6c7ab311313d733094497b2f9c651b4a.png

     

  17. Ещё раз - у вас уже добавлена эта версия (по мнению Среды). Хотите изменить АПИ, так выберите уже добавленную версию и там измените АПИ или вообще удалите существующую версию и добавьте заново.

×
×
  • Создать...