-
Постов
842 -
Зарегистрирован
-
Победитель дней
123
Сообщения, опубликованные Andrey Efimov
-
-
Обратите внимание на модуль http://docwiki.embarcadero.com/Libraries/Tokyo//en/System.IOUtils.TFile
-
13 минуты назад, Oleksi сказал:
1. При первом появлении панели после запуска приложения на смартфоне (на разных смартфонах) панелька выдвигается с заметными лагами. Не важно, тянешь пальцем, или нажимаешь связанную с панелью кнопку. Затем уже каждый раз панель выезжает плавно. Вопрос в том, можно ли что-то сделать, чтобы панель предварительно прорисовалась (или чего она глючит) и при первом появлении также не тормозила?
Пользуемся сначала поиском (или заходим в нужный раздел и просматриваем темы)...
[TMultiView] Как избежать задержки при первом появлении TMultiView?
-
Тема закрыта.
p.s. Пользуйтесь поиском. UP. В одной из ваших старых тем уже есть ответ на ваш вопрос...
-
29 минут назад, devious сказал:
пробую второй вариант проверить, только не понимаю что такое MediaScannerConnection
https://developer.android.com/reference/android/media/MediaScannerConnection.html
-
В 01.12.2017 в 11:29, devious сказал:
в андройде видны созданные файлы, подключаю планшет к компу, файла не видно (из Windows), на андройде в проводнике копирую файл и вставлю его там же, файл становится виден из Виндов
Раньше сталкивался с подобной проблемой, сейчас такого поведения не встречаю.
1) Проблема была связана с работой от usb-кабеля (если не изменяет память, то было на сони экспириа). Если во время сохранения файла, устройство подключено к компу, то файл не будет виден на компе. Вариант обхода: отключить устройство от компа, поработать в приложении (т.е. сохранить файл), подключить устройство к компу.\
2) Ещё такое поведение было связано с возможным кэшированием в Андроиде, но это не проверенная мной теория.
3) Ну и не исключением становятся руки программиста. Бывает такое, что файл хотят сохранять в папку приложения на внешней карте. В итоге путают путь при сохранении и сохраняют файл во внутреннюю память, а потом удивляются, почему это файл не видно. При этом, был случай, когда через файловый менеджер человек заходил во внутреннюю память (видел свой файл) и думал, что зашёл во внешнюю. А с компа заходил во внешнюю и естественно не видел файл, т.к. он был во внутренней памяти. В общем чел. фактор тоже играет свою роль
up. По поводу 2 пункта, попробуйте провернуть вот это: Не видны программно созданные файлы
-
Если правильно понял, то вам необходимо использовать intent-filter.
-
3 часа назад, karamultuk сказал:
То есть я хочу в прошивку, которую скачиваю для установки добавлять свое приложение и ставить на свой телефон.
Попробуйте извлечь файл .so из вашего apk и добавить его в папку /system/lib/. Ну и закинуть apk файл в папку /system/priv-app/.
А вообще вам не сюда, вам на 4pda или xda-developers (англ.)
На этом форуме разработчики софта, а не спецы по модификации прошивок.
-
-
10 минут назад, OnePeople сказал:
А здесь наверно добавлю webbrowser, там потом перекидывает на страницу проверки на бота(
Я бы добавил кэширование, т.к. у меня большие сомнения насчёт того, что три этих раздела обновляются каждую минуту.
А так получится: один раз загрузили список (ки), сохранили кэш часов на 6/12. (Отслеживать можно по дате/времени изменения файла, я так делаю в одном приложении под Андроид)
При повторном обращении к категории, проверяем есть ли кэш:
- Если есть и ещё не прошло 6/12 часов с последнего обновления кэша, то выдаёт список из кэша.
- Если есть и прошло уже больше 6/12 часов, то обновляем кэш и выводим новый список.
- Если нет, то создаём кэш и выводим список.
-
31 минуту назад, OnePeople сказал:
У меня что то не воспроизводится этот баг(((
Он какой-то рандомный, в общем сложности было уже три раза при разных условиях.
31 минуту назад, OnePeople сказал:Так он же есть, там где отображается название выбранной категории это поле поиска)
Ага, точно, не обратил внимание. Подумал, что это просто ToolBar или что-то подобное для вывода названия категории и списка категорий.
Вот ещё, если быстро переключаться между категориями "Новинки/Популярное/ТОП-100/", то иногда список заполняется с промежутками, либо не полностью и в конце вообще перестаёт выводит список (скрин) по любому запросу, даже если просто "искать". Перезапуск тоже не помогает, наверно ограничение со стороны сайта...
-
Ознакомьтесь с информацией на страницах:
Android Devices Supported for Application Development (Berlin)
-
10 часов назад, OnePeople сказал:
И точно, зачем то браузеру нужны были права администратора)
Перезалил, с небольшими исправлениями и увеличенной областью нажатия на прогрессы)
Оставил ListBox, но добавил ручной скролл колёсика мыши с небольшой анимацией)
Как такое решение с началом закачки файла?
Andrey Efimov, спасибо за отзыв;)
Отлично!
Теперь нормально работает: перемотка, регулировка звука. Стало удобнее кликать по полоскам. После завершения воспроизведения, значок меняется. Ну и главное теперь видно, что загрузка началась, даже если она сразу же завершилась :).
Был замечен другой баг, но пока не понял, что предшествовало его появлению. В этот момент нельзя свернуть окно, кнопка просто не реагировала.
Скрытый текстЕщё косяк, проценты в регулировке звука не совпадают с системным регулятором. Выставляю в программе 50%, а в системном меняется на 67 (из 100), 36% = 55 и т.д. При этом 100% в приложении = 100 в системе.
Стоит добавить поиск, может даже алфавитный указатель
-
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
-
Посмотрите соседние темы в этом разделе, уже не раз обсуждалось добавление картинки в ListView.
-
Приложение получилось хорошее.
Мои мысли и заметки:
- Мне кажется было бы лучше добавить тоненькую полоску загрузки для каждого скачиваемого трека прямо в списке, т.к. я например не сразу понял "началась загрузка или нет...", потом уже заметил в углу "кнопку с облаком".
- Если использовали ListBox для вывода списков, то рекомендую переписать на ListView, чтобы скролинг не дёргался.
- Глючит перемотка: не сразу перематывает на нужное место, сначала рандомно начинает играть другое место, а потом перескакивает на то, которое выбрал я.
- Очень тонкие полоски перемотки и регулировки звука, либо полоски сделать шире, либо расширить область для клика по полоске. Можно ещё ползунок добавить при необходимости.
- После окончания воспроизведения трека, значок остаётся в состоянии "пауза". След. трек не включается автоматически (хотя, тут не знаю, может и не должен вовсе...)
- Полоса для регулировки звука работает через раз.
Тестил на Windows 10 1703 (15063.674).
-
2 часа назад, Akad сказал:
Если бы {$ZEROBASEDSTRINGS OFF} работало, то я бы понял. Но оно не даёт под андроидом ни какого эффекта.
Отлично работает. Проверил на Андроиде в Berlin 10.1.2 и Tokyo 10.2.1, скрины ниже. К слову, в исходниках студии есть файлы в которых используется эта директива и всё прекрасно работает.
С библиотекой pascalc не сталкивался, поэтому ничего конкретного не подскажу.
-
5 часов назад, Akad сказал:
Как известно строки на мобильных ОС последних версий студии не соответствуют стандартам Pascal/Delphi - нумерация начинается с нуля и так далее. Что мягко говоря доставляет при разработке кросс-платформенных приложений. Особенно с библиотеками из до-XE эры.
Встречал на западных форумах упоминания для более ранних XE хак исправляющий этот идиотизм. Но то, что скачивал - на заработало под 10.2, даже после доводки напильником. Может у кого под 10.2 рабочий завалялся?
Рекомендую ознакомиться с официальной документацией:
-
Если не изменяет память, то:
Компонент TNetHttpClient это просто обёртка над THttpClient. В этой обёртке и реализована асинхронность, посредством создания отдельного потока. Если по каким-то причинам не хочется использовать TNetHttpClient с асинхронным режимом, то берёте THttpClient и запихиваете в отдельный поток.
На 100% точность не претендую, но когда стоял вопрос, что использовать в одном из приложений, выбор был сделан в пользу TNetHttpClient, т.к. уже всё, что нужно написали за нас (только использовать студию не ниже Berlin, т.к. в Seattle были какие-то проблемы с асинхронностью)
p.s. Если приложение для мобильных устройств - то юзайте TNetHttpClient (THttpClient). С indy компонентами на моб. устройствах проблемы.
-
3 часа назад, Rusland сказал:
У меня почему- то не работает Доступные сети. Пишет Всего:0 и сети не ищет (галочка Сканирование стоит).
DHCP информация тоже пуста. Не знаю, может так и должно быть.
UPD: DHCP информация через какое-то время появилась
PS. Redmi Note 4 Snapdragon
Проблему определили в чате телеграма, заключается она в том, что разработчики MIUI 8.2.10 опять изменили обработку разрешений.
-
-
Делайте проще:
Один раз добавили СДК, студия подхватит версию Android SDK Tools. Всё, про эти цифры в студии забываем, они роли не играют.
Далее, допустим вы добавили СДК со скаченными инструментами для АПИ 19, но позже захотелось добавить новое АПИ 26. Заходите в SDK Manager и скачиваете новое АПИ (ваш скрин из предпоследнего сообщения), также обновляете всё, что установлено во вкладке Tools. Теперь заходите в студию, параметры и меняете пути, жмёте ок. Всё, готово. В идеале, надо ещё NDK обновлять.
-
Смотрите мои скрины:
Студия:
Скрытый текстДобавил этот же SDK:
Скрытый текстСтудия уже пишет другую версию, я так понял она подхватывает из Android SDK Tools.
Теперь смотрим, что на самом деле у меня установлено:Скрытый текст -
21 минуту назад, x11 сказал:
Добавленную куда?
У меня скачано несколько SDK: 21, 24, 25, 26.
Не помню как, мне удалось в настройках Delphi добавить 25ю (или 24ю). Потом я скачал 21 и 26. И как мне их добавить?
Вы что скачиваете каждый раз полный пакет SDK, ставите в отдельную папку и отдельно добавляете в Студию? (Если так, то объясните, какой в этом смысл?)
На вашем первом скрине видно, что версия 25 уже есть, выберите её и там измените версию АПИ. Есть одно но - это сработает, если ответ на мой вопрос будет отрицательным.
Если ответ положительный, то я вам тут не помогу, т.к. у меня стоит один пакет СДК и уже в нём я скачиваю/обновляю всё, что мне нужно. Например вышла новая версия АПИ, зашёл в SDK Manager и скачал. В студии, просто изменил пути до АПИ.
Вот ваш скрин:
-
Ещё раз - у вас уже добавлена эта версия (по мнению Среды). Хотите изменить АПИ, так выберите уже добавленную версию и там измените АПИ или вообще удалите существующую версию и добавьте заново.
Изменение стартовой формы приложения
в Формы
Опубликовано
В Deployment выберите All configuration - Android platform.