Я облака снимал с помощью смартфона, стандартным режимом таймлапса в приложении камеры. Но очень быстро стало понятно, что качества таким образом не добиться. В результате написал приложение, которое автоматически делает фотографии через заданный интервал с лучшим качеством, доступным камере. Потом скидываю получившиеся гигабайты фотографий в Davinci Resolve, он их автоматически склеивает в видео. Такой способ хорош тем, что позволяет получить исходный материал максимального качества. К тому же тут же можно накинуть цветокоррекцию, и т.д. Правда, если выкладывать потом на ютуб, то все равно видео там пережимается еще раз и качество получается так себе.
Не так давно модернизировал свое приложение в связи с введением Background Execution Limits, тоже столкнулся с нехваткой универсальных решений для создания планировщиков. В моем случае нужен был планировщик для автоматической отправки sms сообщений в заданное время.
В результате пришел к следующему решению. Для запуска процедуры отправки и перепланирования в заданное время использую AlarmManager c setExactAndAllowWhileIdle или setExact в зависимости от версии Android. А для самого исполнения задачи использую JobIntentService.
Таким образом, получаем простое решение, не завязанное на версию Android или внешние библиотеки и сервисы, которое просто работает. Может кому-то пригодится.
Работал когда-то с Single Activity Architecture, очень рад, что ушел от этого. Сейчас использую множественные Activity, по принципу: одно активити решает одну конкретную задачу. Жизнь стала легкой, а приложения простыми до тривиальности.
Я вовсе не против фрагментов, они полезны, например в ViewPager или при компоновке сложного UI. Но на мой взгляд, любую вещь стоит применять только тогда, когда она действительно нужна.
Я облака снимал с помощью смартфона, стандартным режимом таймлапса в приложении камеры. Но очень быстро стало понятно, что качества таким образом не добиться. В результате написал приложение, которое автоматически делает фотографии через заданный интервал с лучшим качеством, доступным камере. Потом скидываю получившиеся гигабайты фотографий в Davinci Resolve, он их автоматически склеивает в видео. Такой способ хорош тем, что позволяет получить исходный материал максимального качества. К тому же тут же можно накинуть цветокоррекцию, и т.д. Правда, если выкладывать потом на ютуб, то все равно видео там пережимается еще раз и качество получается так себе.
Мне это больше всего напоминает enum. Только в enum речь идет о экземплярах, а тут о классах.
Рестар интерфейс при перезапуске процесса считаю халтурой и неуважением к пользователям.
В результате пришел к следующему решению. Для запуска процедуры отправки и перепланирования в заданное время использую AlarmManager c setExactAndAllowWhileIdle или setExact в зависимости от версии Android. А для самого исполнения задачи использую JobIntentService.
Таким образом, получаем простое решение, не завязанное на версию Android или внешние библиотеки и сервисы, которое просто работает. Может кому-то пригодится.
Я вовсе не против фрагментов, они полезны, например в ViewPager или при компоновке сложного UI. Но на мой взгляд, любую вещь стоит применять только тогда, когда она действительно нужна.