Делаем экран загрузки Android приложения правильно
Splash Screen (прим.: тут и далее — экран загрузки) просто отнимает ваше время, верно? Как Android разработчик, когда я вижу экран загрузки, я тут же представляю как некоторые плохие разработчики добавляют трехсекундную задержку в коде.
Я должен смотреть на какое-то изображение в течении нескольких секунд, и до тех пор я не могу использовать приложение. И я должен это делать каждый раз после запуска приложения. Я знаю какое приложение я запустил. Я знаю что оно делает. Просто позвольте мне использовать его!
Что рекомендует Google
Вы будете удивлены, узнав что сторонники Google используют Splash Screen. Это описано прямо вот тут, в спецификации к Material Design.
Так было не всегда. Google был против Splash Screen, и даже назвал его анти-паттерном.
Правильный Splash Screen
Я считаю, что Google не противоречит сам себе. Старый совет и новые рекомендации хорошо сочетаются. (Тем не менее, все-таки не очень хорошая идея использовать экран загрузки который отнимает время пользователя. Пожалуйста, не делайте так)
Однако, Android приложениям требуется некоторое количество времени для запуска, особенно при холодном запуске. Существует задержка которую вы не можете избежать. Вместо того чтобы показывать пустой экран, почему бы не показать пользователю что-то хорошее? Именно за этот подход Google и выступает. Не стоит тратить время пользователя, но не показывайте ему пустой, ненастроенный раздел приложения, когда он запускает его впервые.
Если вы посмотрите на последние обновления Google приложений, вы увидите подобный способ использования экрана загрузки. Например, взгляните на приложение YouTube:
Количество времени, которые вы тратите на просмотр Splash Screen, точно соответствует количеству времени, которое требуется приложению для запуска. При холодном запуске, это означает что Splash Screen будет виден дольше. А если приложение уже закэшировано, заставка исчезнет почти сразу.
Реализация Splash Screen
Реализация Splash Screen правильным способом немного отличается от того что вы можете себе приставить. Представление Splash Screen, который вы видите, должно быть готово немедленно, даже прежде чем вы можете раздуть (прим.: inflate) файл макета в вашей Splash Activity (прим.: Activity — активность, деятельность).
Поэтому мы не будем использовать файл макета. Вместо этого мы укажем фон нашего Splash Screen в фоне темы своей Activity. Для этого, сначала необходимо создать XML drawable в res/drawable.
Здесь я задал цвет фона и изображение.
Дальше, вы должны установить этот drawable в качестве фона для темы вашего Splash Screen Activity. Перейдите в файл styles.xml и добавьте новую тему для Splash Screen Activity:
В вашей новой SplashTheme установите в качестве фона ваш XML drawable. И установите эту тему в своей Splash Screen Activity в вашем AndroidManifest.xml:
И, наконец, ваш класс SplashActivity должен перенаправить вас в ваше основное Activity:
Обратите внимание, что вы не настраивает вид для SplashActivity. Представление берется непосредственно из темы. Когда вы задаете вид вашей Splash Screen Activity через тему, он доступен немедленно.
Если у вас есть файл макета для вашей Splash Activity, он будет показан только после того как ваше приложение будет полностью инициализировано, а это что очень поздно. Ведь мы хотим чтобы Splash Screen отображался только небольшой промежуток времени, до того как приложение будет инициализировано.
Делаем это правильно
Как только шаги выше завершены, вы получите Splash Screen реализованный правильным путем:
Вооруженные этим знанием, заставьте ваш Splash Screen работать правильно. Не тратьте время пользователей попусту, но дайте им то, на что им будет приятно смотреть пока они ждут.
Источник
Несколько способов заменить загрузочную анимацию в Android
Вы давно уже поменяли стандартную тему на своем устройстве, установили новую оболочку системы типа SPB Shell или Regina Launcher и задумываетесь над тем, чем бы еще украсить свой телефон или планшет. А не хотите ли установить новую бутанимацию, или загрузочную анимацию, как ее еще называют?
Сегодня я представлю вам несколько способов как поменять загрузочную анимацию в Android.
Для начала, я хочу напомнить, что для того чтобы у вас появилась возможность установить новую загрузочную анимацию, вы должны иметь права доступа root на своем Android устройстве.
Что такое права доступа root в Android, для чего они нужны и как их получить, вы можете почитать в этой статье.
Замена загрузочной анимации в Android с помощью root файлового менеджера Root Explorer, SU File Manager или ES проводник
1. Скачайте из маркета и установите, любой из перечисленных выше файловых менеджеров.
2. Скачайте zip файл с загрузочной анимацией lдля вашего устройства, который обычно имеет имя bootanimation.zip
3. Скопируйте файл на SD карту памяти.
4. Если файл имеет другое имя, переименовать его в bootanimation.zip
5. Скопируйте файл bootanimation.zip
6. Перейдите в папку /system/media/ на вашем устройстве.
7. Переименуйте файл bootanmation.zip, который там находится в bootanimation.bak .
8. Вставьте файл bootanmation.zip в текущую папку
9. Перезагрузите телефон или планшет и насладитесь новой загрузочной анимацией.
У вас ничего не получилось? Попробуйте следующие варианты решения проблемы:
Скопируйте файл bootanimation.zip в папку /data/local/ или папку /system/customize/resource/
На некоторых устройствах файл с загрузочной анимацией может иметь другое имя, отличное от bootanimation.zip. Например, на HTC Desire HD этот файл называется VFAU_bootanimation.zip, или spc_bootanimation.zip в HTC EVO.
В таком случае, как вы уже, наверное, и сами догадались, нам нужно заменить эти файлы новым файлом с бутанимацией. Не забудьте только переименовать старый файл в .bak и назначить новому файлу такое же имя, которое было у старого файла.
Замена загрузочной анимации в Android c помощью эмулятора терминала
1. Скачайте и установите из маркета следующие два приложения:
Superuser
Android Terminal Emulator
2. Скачайте файл bootanimation.zip для вашего устройства и скопируйте его на карту памяти
3. Откройте приложение Terminal Emulator и перейдите в папку /system/media , введя следующие команды:
su
cd /system/customize/resource
После чего, для того, чтобы убедиться, что мы находимся в /system/media , можно ввести команду ls
Переименовываем старый файл:
mv bootanimation.zip bootanimation.bak
Теперь уже можно скопировать новый файл с загрузочной анимацией:
cp /sdcard/bootanimation.zip /system/media bootanimation.zip
Перезагружаем телефон или планшет:
reboot
Ваш телефон или планшет должен перезагрузиться. Если этого не произошло, перезагрузите его вручную.
Если этот метод не сработал, почитайте методы решения проблем из предыдущего способа и попробуйте в приведенных выше командах заменить папку
/system/media на папку /data/local или /system/customize/resource
Как заменить бутанимацию в Android через загрузочное меню восстановления вашего устройства
1. Скопируйте файл с бутанимацией для вашего устройства bootanimation.zip на карту памяти
2. Перезагрузитесь в меню восстановления
3. Выберите пункт «Flash ZIP from sdcard«
4. Выберите и прошейте .zip файл с загрузочной анимацией
5. Перезагрузите устройство.
Как заменить загрузочную анимацию в Android с помощью ADB
1.Установите ADB, как описано в этой статье.
2.Подключите ваше устройство к компьютеру с помощью USB кабеля или через WiFi
3.Скачайте файл с бутанимацией для вашего устройства и переименуйте его в bootanimation.zip
4.Скопируйте файл в папку, где находится программа adb
5.Запустите командную строку и введите следующие команды:
adb remount
adb push bootanimation.zip /data/local/bootanimation.zip
adb reboot
Как вы уже догадываетесь, возможно придется вместо /data/local ввести /system/media или /system/customize/resource
Источник
Как поменять запуск андроид
Всех тем, кто желает изменить первичный экран загрузки телефона на платформе Mediatek, предлагается программа для редактирования logo.bin. Этот файл содержит первое загрузочное изображение, а также изображения батареи, которые мы видим, заряжая выключенный телефон. Также программа поможет с редактированием boot_logo. В этом файле содержится второе загрузочное изображение.
Программа проста в использовании: распаковывает logo.bin, предлагает отредактировать изображения и создает новый. На выходе создаются два файла: logo.bin с новыми изображениями и update.zip для прошивки из ModRecovery.
Во избежание лишних проблем, не рекомендуется использовать программу тем, кто не знает слов logo.bin и прошивка.
Обновление 11.03.2015 (версия 1.6)
1) Добавлена возможность работы с 32-битными файлами (MTK67xx) (+автоматическое распознавание глубины цвета)
2) Улучшен алгоритм автоматического подбора размера изображений
3) Переход на .NET Framework 4.0.
Обновление 17.05.2014 (версия 1.5.1)
1) Добавлена прокрутка изображений в главном окне;
2) Двойной клик на изображении открывает его в программе по умолчанию;
3) Строка ввода полного пути в диалоге выбора папки.
Объявляется благодарность linerty за помощь в выпуске новой версии.
Обновление 04.05.2014 (версия 1.5)
1) Исправлен баг с пропуском блоков;
2) Новый диалог выбора размера изображения в блоке (теперь достаточно просто покрутить колесо мыши). Соответственно, исчез тот страшный диалог с тремя кнопками;
3) Появилась возможность редактировать размер изображения в уже созданном проекте;
4) Пополнен файл sizes.txt (хотя кому теперь это интересно, с учетом п. 2);
5) Добавлен supportedRuntime для запуска в любой версии .NET Framework (начиная с 2.0);
6) Добавлен португальский язык;
7) Добавлен итальянский язык.
Обновление 31.05.2013
1) Исправлена ошибка битности изображений
2) Добавлена консольная версия (пока на тестирование). Думаю, будет полезно для всяких кухонь и прочих автокастомов.
Обновление 30.05.2013
1) Добавлены размеры для распаковки logo от FullHD телефонов
Обновление 25.04.2013
1) Добавлен Simplified Chinese
2) Ловится Ехсепшн при создании контекстного меню (ошибка не воспроизводится). По крайней мере, программа теперь не будет валиться.
Обновление 13.03.2013 (версия 1.4)
1) Добавлена поддержка телефонов на MTK6589
2) Добавлена кнопка распаковки boot_logo (оказалось, что она все-таки полезна)
3) Значительно ускорены процессы упаковки и распаковки
Обновление 14.12.2012 (версия 1.3)
как-то быстро новая версия вышла
1) Изменен интерфейс программы
2) Наконец-то разобраны мелкие блоки
3) Добавлен файл sizes.txt, в котором хранятся возможные размеры изображений
4) Удален диалог выбора размера при создании проекта
Обновление 08.12.2012 (версия 1.2)
1) Изменен интерфейс программы
2) Программа стала «многоразовой» (кнопки «Открыть проект» и «Создать проект» теперь не блокируются)
3) Добавлена поддержка файлов с блоками небольших размеров ( пока неизвестно, что в них находится ). Эти блоки распаковываются как бинарные файлы.
4) Упразднена возможность работы с изображениями различных размеров (изображения отличающихся размеров принимаются за бинарные блоки).
Обновление 09.11.2012
1) Добавлена возможность создавать файл boot_logo. Для этого нужно просто перетащить мышкой картинку (jpg, png или bmp) в главное окно программы (проследите, что ваша картинка имеет необходимые размеры). Откроется диалог сохранения файла boot_logo. Этот файл нужно будет вручную закинуть в телефон и выставить права (создавать скрипт для записи этого файла в телефон пока слишком накладно, очень уж много вариантов монтирования /system может быть).
Обновление 08.11.2012
1) исправлена ошибка с неполной локализацией.
2) добавлен испанский язык
Обновление 24.10.2012
1) добавлены локализации (теперь программа на русском, точнее на языке системы)
2) появились полезные советы, там описаны всякие скрытые возможности программы
3) в качестве решения проблемы с созданием update.zip появилось какое-никакое решение: при создании проекта программа ищет update-binary и updater-script в папке из которой запущена и автоматически добавляет их к проекту. Таким образом, появилась возможность адаптировать программу под конкретные телефоны.
(по умолчанию используется скрипт прошивки в /dev/logo)
А также куча разных мелочей.
1) «Создать проект». Выбираем файл logo.bin подходящий для своего телефона, указываем путь для распаковки и размер картинок.
2) Редактируем картинки. Здесь представляется полная свобода действий
3) «Упаковать». Создаются файлы logo.bin и update.zip для CWM.
4) Закинуть update.zip на флешку, перезагрузиться в рекавери и прошить этот файл. Или прошить файл logo.bin соответствующей программой.
5) Готово!
Также программа может создать для вас файл boot_logo, этот экран загрузки появляется сразу после экрана logo.bin. Для его создания просто перетащите на главное окно программы изображение необходимого размера (размер изображения должен совпадать с разрешением экрана) или нажмите кнопку «Создать boot_logo» для выбора файла. Программа предложит вам выбрать файл для сохранения созданного boot_logo. Этот файл нужно будет закинуть в память телефона (/system/media/images/) с помощью Root Explorer или похожей программы и выставить ему необходимые права (rw-r—r—).
Чтобы распаковать имеющийся boot_logo, нажмите на кнопку создать файл изображения из boot_logo, программа предложит вам выбрать файл для распаковки.
Можно запустить как в терминале, так и через adb shell. Разумеется, под рутом. После этого файл будет лежать в /sdcard/logo.bin. Если трех мегабайт будет недостаточно — можно попытаться подобрать этот размер (или подглядеть его в скаттере).
Q: Мой logo.bin распаковался, но вместо красивых картинок я вижу какой-то шум.
A: Неверный размер изображения. Кликните на размер изображения и измените его на нужный. Пересоздайте проект, чтобы новый размер применился к остальным изображениям.
Q: Почему у меня не запускается программа?
A: Убедитесь что на компьютере установлен .NET Framework версии не ниже 4.0
Q: Update.zip, созданный программой сработал отлично, но в телефоне ничего не поменялось или Update.zip не сработал.
A: 1) См. спойлер «Немного технической информации».
2) Попробуйте прошить файл FlashTool’ом.
Q: Программа выдает ошибку «несоответствие размера данных . «.
A: Скорей всего ваш logo.bin битый или от девайса не являющегося телефоном на платформе Mediatek. Не нужно думать, что раз MTK — значит все остальное одинаково. У планшетов и прочих девайсов на медиатеках разlел LOGO почти всегда имеет отличную от телефонной структуру (или может отсутствовать вовсе). Кстати, ни я, ни китайцы, ни даже сама Mediatek не может гарантировать, что все телефоны будут иметь аналогичную структуру этого раздела.
Q: Почему boot_logo восстанавливается после удаления?
A: Не знаю. Вот был бы у меня такой же телефон, возможно, я бы и разобрался. И еще встречный вопрос: зачем вы его удаляете?
Q: Как изменить анимацию зарядки батареи?
A: К сожалению, этого сделать пока нельзя. Так как вся информация о размере, расположении на экране и т.д изображений зарядки выключенного телефона находится в файле ipod по пути systembin, который является бинарным файлом, и чем и как его редактировать пока никто не знает, но можно заменить изображения анимации зарядки см. Другое
Программа разработана при поддержке сообщества форума china-iphone.ru, за что им всем огромное спасибо. Страница программы в сети — LogoBuilder
Скачать программу:LogoBuilder_v1.6.zip ( 602.68 КБ )
ВНИМАНИЕ.
1) Помните, что все, что вы делаете со своим телефоном — вы делаете на свой страх и риск.
2) Не забывайте делать бэкапы.
3) Не пытайтесь подменить скрипт обновления, если вы не знаете, что в этом скрипте.
4) Если вы не понимаете, что делает программа, постарайтесь воздержаться от ее использования.
5) Девайсы от Lenovo : Возможно появление ошибки зарядки при выключенном телефоне. Будьте внимательны.
LogoBuilder.zip ( 555.22 КБ )
LogoBuilder_v1.2.zip ( 543.08 КБ )
LogoBuilder_v1.3.zip ( 545.36 КБ )
LogoBuilder_v1.4.zip ( 576.75 КБ )
LogoBuilder_v1.4.zip ( 582.56 КБ )
LogoBuilder_v1.4.zip ( 581.26 КБ )
LogoBuilder_v1.5.zip ( 564.92 КБ )
LogoBuilder_v1.5.1.zip ( 589.52 КБ )
Сообщение отредактировал art0502ver — 19.05.19, 13:41
Вроде все получается но при загрузке,сначала появляется новая картинка,а за ней старая,что я не так делаю,спасибо.
Решение нашлось у кого получается 2 заставки,после прошивки идем: /system/media/images файл boot_logo,и удаляем его,и у вас одна новая заставка.
Сообщение отредактировал CyberBob — 21.06.13, 14:59
Все верно. Программа меняет только logo.bin, но на некоторых девайсах присутствует еще и бут_лого. Для его редактирования есть множество инструкций, ищите. Насчет его удаления, не могу ни подтвердить, ни опровергнуть, у меня такого файла нет.
Сообщение отредактировал ankadnikov — 16.03.15, 09:59
Источник