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

Andrey Efimov

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

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

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

    129

Весь контент Andrey Efimov

  1. Я сходу уже вижу ошибки... в Манифесте, в java классе. Похоже, всё-таки нужна статья на русском языке... Вот эта ошибка из логов, как раз подтвердила мои догадки: E/AndroidRuntime(1132): java.lang.RuntimeException: Unable to instantiate receiver com.mycompany.myproject
  2. Скиньте весь проект, гляну у себя. Только исходники.
  3. Вот ещё особенность Андроида, из-за неё может вываливаться ошибка: Необходимо запустить приложение/сервис один раз вручную или через код. Т.е. устанавливаете приложение, запускаете его или сервис из него. Перезагружаетесь и должен сработать автозапуск.
  4. Итак, я добился автозапуска сервиса! Всё оказалось очень даже банально... Как сделать (вкратце): 1) Создаём сервис, собираем его 2) Создаём приложение, добавляем туда сервис, собираем приложение 3) Далее генерим "classes.dex" НЕ на основе файла по умолчанию, а на основе файла "classes.dex" из приложения (второй пункт) 4) Полученный файл будет меньше по размеру (пока не понял почему так происходит), его добавляем в приложение, через Deployment Manager и снимаем галочку с файла "classes.dex", который установлен по умолчанию Т.е. мы склеим наш BroadcastReceiver с файлом, в котором уже упомянут Сервис. До этого, как я понимаю, склеивание происходило с файлом, в котором не был упомянут сервис или как-то так. 5) Профит. (Проверено!) В ближайшие дни (постараюсь), я опубликую две новые статьи про автозапуск приложения и сервиса. По поводу вопросов: 1) Правила про отдельную папку и имя сервиса указаны в документации 1.1) Про папку, да все файлы перемешаются и ошибок не избежать, да и не правильно это (в общем случае, плохой тон), городить всё в одну папку, потом сами запутаетесь 1.2) Имя, не знаю, что будет, но не зря это имя зарезервировано. Проверять не хочу)) 2) Про monitor.bat полно информации в интернете, воспользуйтесь поиском. По поводу расширения статьи. Я не буду её расширять, специально опустил все эти моменты, чтобы просто показать, как создать самый простой сервис в Студии. В след. статьях обязательно рассмотрю все эти вопросы. АП (13:40). Только сейчас заметил, что вы идёте по такому же пути Но у меня служба стартанула вообще без проблем
  5. Ну обычный автозапуск приложения у меня (тьфу-тьфу-тьфу) работает пока, а вот сделать такой автозапуск для сервиса мне пока не удалось, где-то косячу видимо, сегодня собирался ещё посмотреть эту тему, если время будет... Пока с автозапуском сервиса у меня такие дела (это просто эксперименты): Попытка №1: Сервис - подсовываем Манифест + клеим classes Приложение - стандартный Манивест + стандартный classes Результат: Не ловит событие перезагрузки устройства, само приложение работает как надо. Попытка №2: Сервис - стандартный Манивест + клеим classes Приложение - подсовываем Манифест + стандартный classes Результат: Ошибка "Приложение завершилось", т.е. событие ловит, но сервис/приложение завершается ошибкой Попытка №3: Сервис - стандартный Манивест + стандартный classes Приложение - подсовываем Манифест + клеим classes Результат: Сервис вообще не запускается, даже просто из приложения, валится ошибкой. p.s. баги или ещё что... только опубликовал статью про создание простейшего сервиса, как объявился первый человек, у которого сервис не запускается...
  6. Ссылка: http://delphifmandroid.blogspot.ru/2016/01/android-service.html Автор: Андрей Ефимов Описание: [Android Service] Создание простейшего Сервиса (службы)
  7. Это крендец... В общем, мучил среду и телефон весь вечер. Итог: сначала удалось запустить свой код, потом пересобрал весь проект из статьи и он тоже заработал. Т.е. я по сути не внёс никаких изменений. В проекте из статьи: 1) сбросил Deployment на дефолтные настройки, там было много лишнего... после чего добавил пересобранный classes.dex. 2) в Project Manager удалил файл AndroidManifest.template.xml, не знаю, за чем его туда добавил автор... всё, компилим проект на устройстве и всё работает как надо... Мой проект: Не содержал в себе кучи мусора + код я перепроверял раз 100 + пересобирал classes.dex раз 20 точно. В своём проекте ничего не изменял, просто в очередной раз всё пересобрал и попробовал запустить... Ярослав, не знаю в чём проблема... только вы там сможете разобраться... Сейчас, ещё раз соберу проект из статьи, вообще ничего не трогая и посмотрю, запустится или нет... И заодно проверю автозапуск для сервиса АПДЕЙТ - 24.01.16 1:20 МСК Собрал проект из статьи, не внося изменений вообще, затронут только bat файл, в нем обновлены пути. Итог: проект не работает и падает с той же ошибкой... Сейчас попробую выяснить, что на него так влияет... 1:24 - Обнаружил, что среда подключила второй classes.dex, ок сейчас проверим... 1:30 - Проект отлично заработал... В общем, моего ума не хватает, чтобы понять, в чём было дело... Могу только сказать, что все особенности, типа второго classes.dex я перепроверял раз 100. Более того, я свой проект писал вообще не по статье и он ведь тоже почему-то не работал... Какие-то чудеса... С сервисом не прокатывает автозапуск, также вываливается с ошибкой... ап.24.01.16 15:25 - Сервис пока так и не удаётся запустить
  8. Пока пытался отловить через monitor.bat, но он у меня не успевает найти устройство после перезагрузки. Где ещё лучше посмотреть? Сегодня уже точно не смогу, а завтра попытаюсь хоть какие-то логи выудить. ап. 23.01.16. Подключение по USB происходит только после отрабатывания ресейвера... ап.2. Попробовал с автозапуском сервиса, тоже самое, ошибка и всё... Не пойму, то ли я где-то в склейках что-то упускаю, то ли это ошибка в FMX.
  9. Ярослав, я вообще не по статье писал ресейвер))) Но про эти особенности знаю и конечно же перепроверил их. Единственное, попробовал сейчас задать явное имя проекта, но и это не помогло... Сейчас, ради интереса попробую запустить проект из статьи... АП. Проверил, такая же фигня.
  10. Да, проверил у себя. Такая же фигня, только я даже не вижу программу, мне просто выскакивает сообщение, что приложение завершилось. Пока несколько предположений, либо я где-то что-то забыл, либо ОС выгружает приложение из-за потребляемой памяти, либо что-то ещё... Нужно попробовать тоже самое с сервисом.
  11. Ссылка: http://delphifmandroid.blogspot.ru/2014/10/android-44.html Автор: Андрей Ефимов Описание: Статья о работе с SD картой в Android 4.4 и выше.
  12. Предлагаю Вам оставлять в этой теме предложения (темы) для статей/заметок. Думаю, пригодится. В первую очередь, постараюсь сам писать статьи/заметки по мере возможностей для Андроида по вашим темам. А вообще, любой может попробовать свои силы. Правила для тех, кто предлагает тему (ы): Конкретизируйте тему, не надо писать «Как работать с графикой в Андроид», такие сообщения будут просто удаляться или оставаться без ответа, т.к. тема очень обширная. Несколько тем указывайте списком (ниже есть пример) Старайтесь не повторяться с темами, которые уже предложены Если тема уже предложена, то не надо повторно писать запрос на неё, просто нажмите "Нравится" и всё... В случаях, когда статья на тему уже есть, в ответном сообщении будет указываться ссылка на статью. Правила для тех, кто пишет статью (и): Старайтесь не отклоняться от темы, которую выбрали для статьи Старайтесь разжёвывать тему максимально, читать статью будут не только знающие люди, но и начинающие. После написания статьи/заметки, оставляем ссылку на неё в этом разделе "Статьи и заметки" Пример запроса: [по желанию, одно-два сопроводительных предложения, но не более] Темы: Как работать с SD-картой из приложения Как написать приложение с автозапуском после рестарта системы Желаемые ОС: Android, Windows Какие-либо обсуждения, в этой теме запрещены! p.s. Думаю, Ярослав, будет не против
  13. О_о, я и не знал про такой компонент. Видно новый... ZuBy, плюс тебе однозначно P.s.ушел перечитывать нововведения в XE8 и Seattle
  14. Что за странное предположение... Indy поддерживает редиректы в полной мере. А переадресация с www на без www или наоборот - это и есть обычный 301 редирект. Я объяснил в чём проблема. Сервер неправильно отдаёт состояние, вместо кода 200 идёт 404, Indy похоже просто не рассчитан на такую ситуацию, максимум, чего мне удалось добиться, это убрать выскакивающую табличку с 404 ошибкой, но код страницы всё равно не подгружается. Возможно, у кого то будут ещё идеи...
  15. Как вы смотрите ошибку в браузере? В каждом браузере есть утилиты для отладки/разработки сайтов, вот через неё я и смотрел ответ сервера... Какой браузер используете? Если в нём ответ 200, то пропишите его в юзер-агенте и проверьте. Проверил в последнем Фаерфоксе и Опере 12.17, везде 404 Not Found, сервер неправильно настроили... Это уже и не важно, сейчас надо понять как заставить Indy грузить контент несмотря на ошибку.
  16. В браузере. Сервер возвращает ответ 404 Not Found, но при этом отдаёт контент. Пока не додумался как обойти этот косяк, впервые с таким сталкиваюсь....
  17. Так сервер там отвечает 404, но выдаёт контент, кто-то наверно накосячил, либо я что-то упустил...
  18. А User-Agent поменяли? Давайте больше подробностей... мы не экстрасенсы(заезженное выражение, но что поделаешь..)
  19. Для начала, данный вопрос уже не один раз поднимался на форуме, научитесь пользоваться поиском. Например, вбейте слово "размер" и нажмите кнопку "Искать". Вот официальный ответ на этот вопрос "Можно ли уменьшить размер приложения для андроида?"
  20. Проверил, в Seattle, с варнингами, но запускается и работает. p.s. Варнинги поправить совсем не проблема, тем более Студия сама пишет, что, где и на что исправить...
  21. А можно конкретнее, что происходит, какие ошибки и т.п. Какую версию Андроида используете? Я постараюсь посмотреть в ближайшем будущем, в данный момент обновляется Андроид СДК
  22. Вот этот способ http://delphifmandroid.blogspot.ru/2013/12/delphi-xe5.html не работает?
  23. Из моего опыта: На скорость также влияет количество подключаемых юнитов, т.е. иногда бывает так, что вы кинули компонент на форму (среда автоматом подключает необходимые юниты), а потом передумали и удалили его, но среда не почистила список юнитов. Я лично наблюдал такую ситуацию, приложение тоже долго грузилось, когда вручную почистил список юнитов, всё встало на свои места.
  24. Вам необходимо подписать приложение на широковещательные сообщения системы. Раздел на форуме: Широковещательные сообщения (Broadcast) Официальная документация: BroadcastReceiver Это если речь идёт про Андроид. p.s. Пожалуйста, прочитайте правила форума. Вкратце: Не надо плодить кучу тем и один вопрос-одна тема.
  25. Пожалуйста, научитесь пользоваться форумом и справкой, а также не забывайте про примеры, идущие вместе со студией. Вот вам для начала Сервис(служба) Остальное есть в моей подписи.
×
×
  • Создать...